Работа приложений в фоне осуществляется благодаря BroadcastReceiver и Service.
BroadcastReceiver это объект, который начинает выполнять действия, по получению какого нибудь сигнала (Intent). Service в отличии от BroadcastReciever работает сразу после того как его запустили. Сегодня речь пойдет о Broadcast Receiver.
Для создания броадкастера нужно создать класс, который наследуется от BroadcastReceiver и переопределить метод onReceive. Этот метод вызывает, когда броадкастер получает Intent.
В нашем примере броадкастер будет показывать всплывающее сообщение, конечно там можно сделать что-то более полезное.
public class SimpleBroadcater extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"Broadcaster",Toast.LENGTH_SHORT).show(); }
Броадкастер может слушать системные Intent, которые рассылаются всем и те которые мы будем вручную ему посылать. Теперь надо зарегестрировать броадкастер в системе это возможно сделать двумя способами созданием тега в манифесте приложения или вызовом метода registerReceiver из контекста, мы сделаем первым способом.
Посылка интентов броадкастерам осуществляется так
public class MainActivity extends Activity {
Context context;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
context = getApplicationContext();
Button button = (Button) findViewById(R.id.btn1);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View view) {
context.sendBroadcast(new Intent(context,SimpleBroadcater.class));
}
});
}}
Также можно подписаться на системные интенты, для этого в манифесте надо использовать тег так.
В прошлом своем я писал о создании всплывающих менюшек, сегодня же мы поговорим о более важной теме такой, как хранение данных.В android есть несколько способов хранения данных: общие настройки, бд и тд. В этом посте я расскажу о том как хранить данные в БД.
О том как написать Хеллоу Ворлд в интернете полным полно, так что я решил рассказать о более интересных вещах. Официальное приложение Twitter для Android использует паттерны и возможности графического интерфейса появившиеся в последних версиях sdk, такие как Dashboard, Search Bar, QuickAction и Action Bar. Диалог QuickAction является одной из самых интересных новинок, он отображает контекстное действия для данного элемента ListView. Этот диалог используется также в приложении контактов, начиная с версии 2.0