Broadcast Receiver в Android

Работа приложений в фоне осуществляется благодаря 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));
      }
    });
  }}

Также можно подписаться на системные интенты, для этого в манифесте надо использовать тег так.
<receiver android:name=".SimpleBroadcater" android:label="Simple">
      <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED"/>
      </intent-filter>
    </receiver>

исходники проекта тут
  • +2
  • 03 октября 2010, 23:09
  • Mecid
  • 3

Хранение Данных в Android

В прошлом своем посте я писал о создании всплывающих менюшек, сегодня же мы поговорим о более важной теме такой, как хранение данных.В android есть несколько способов хранения данных: общие настройки, бд и тд. В этом посте я расскажу о том как хранить данные в БД.

( Читать дальше )
  • +2
  • 09 сентября 2010, 13:26
  • Mecid
  • 5

Создание QuickAction диалогов в Android

О том как написать Хеллоу Ворлд в интернете полным полно, так что я решил рассказать о более интересных вещах. Официальное приложение Twitter для Android использует паттерны и возможности графического интерфейса появившиеся в последних версиях sdk, такие как Dashboard, Search Bar, QuickAction и Action Bar. Диалог QuickAction является одной из самых интересных новинок, он отображает контекстное действия для данного элемента ListView. Этот диалог используется также в приложении контактов, начиная с версии 2.0

( Читать дальше )
  • +6
  • 04 сентября 2010, 23:01
  • Mecid
  • 7