Android: Best practice for responsive user interfaces
android, java, message
Solution
You can emulator the MFC style behavior in Android by using a Handler to post a Runnable into the message queue.
Here is a brief example
class MyClass
{
Handler m_myHandler;
Runnable m_myRunnable;
MyClass()
{
m_myHandler = new Handler();
m_myRunnable = new RUnnable()
{
public void run()
{
// do your stuff here
}
};
}
public void onclickListener(...)
{
// push the runnable into the message queue
m_myHandler.post(m_myRUnnable);
}
}
Problem
I am quite new to Android and Java. Before I was working with C++ where the events where dispatched with messages. Now I would like to create the same user experience for Android platform and I would appreciate any of your suggestions or comments on what is the best way to bind events to user controls. Here is an example from C++: ``` ON_MESSAGE(WM_RECORD_START, &CMainFrame::OnRecordStart)//Method OnRecordStarts() executes on WM_RECORD_START_MESSAGE ``` ... ``` LRESULT CMainFrame::OnRecordStart(WPARAM wParam, LPARAM lParam) { m_pNetworkCtrl->SetGeoLocationInfo(); ... } ``` ... ``` void CMainFrame::RecordStart() { PostMessage(WM_RECORD_START); } ``` In the case above the method `RecordStart()` is bound to a `Button` (it is executed when a `Button` is pressed) and posts the message `WM_RECORD_START`. When the message `WM_RECORD_START` is received, the method `OnRecordStart()` is executed. As mentioned before I would like to create a responsive user interface and am not sure if it would be good enough if the method `OnRecordStart()` is called directly from `RecordStart()`: ``` void RecordStart() { OnRecordStart(); } ``` I would really appreciate any of your suggestions.