編輯:Android開發教程
3.1、Service服務
Service類似Activity,實際上就是一個沒有界面的Activity,而且默認不會隨著程序關閉而關閉。
開發人員自定義的服務類一般用來完成一些安全軟件的一些監聽功能,以及消息提示,流氓軟件的功能。
系統服務則是通過類似getSystemService()的方法來取得系統的一些服務管理類(XxxxManager),來調用系統處理好的功能完成自己需要的操作,例如:電話監聽,連接狀態的判斷等。
如果想自己編寫一個服務類,可以建立一個類,繼承Service,並覆寫相應的方法即可。
編寫好服務類後,還需要在AndroidManifest.xml中聲明這個Service。
package com.example.service; import android.app.Service; import android.content.Intent; import android.os.Handler; import android.os.IBinder; import android.os.Message; import android.widget.Toast; //每隔3秒顯示下toast public class TestService extends Service { private Handler handler; private boolean flag=true; @Override public IBinder onBind(Intent arg0) { //綁定activity,一般不用,用了的話,則activity關閉,service也關閉 // 查看本欄目更多精彩內容:http://www.bianceng.cn/OS/extra/ return null; } /**主線程 * */ @Override public void onCreate() { // TODO Auto-generated method stub super.onCreate(); System.out.println("創建service"); //調用子線程 handler=new Handler(){ public void handleMessage(Message msg) { Toast.makeText(TestService.this,"啟動了服務------------",Toast.LENGTH_LONG).show(); } }; } @Override public void onDestroy() { // TODO Auto-generated method stub super.onDestroy(); System.out.println("銷毀service-----------"); flag=false;//這是為了關閉死循環進程 } @Override public int onStartCommand(Intent intent, int flags, int startId) { //啟動服務時自動調用這個方法 Thread t=new Thread(){ public void run() { while (flag) { try { Thread.sleep(3000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } handler.sendEmptyMessage(0); } } }; t.start(); return super.onStartCommand(intent, flags, startId); } }
還可以通過系統服務來讀取手機的各種信息以及網絡連接狀態的信息。
本篇通過一個簡單的示例一步步介紹如何在Android應用中使用百度地圖api。1)下載百度地圖移動版 API(Android)開發包要在Android應用中使用百度地圖A
菜單可以用來顯示額外的選項,這些選項也不必出現在主界面中。在Android框架中,主要有2種菜單:選項菜單 —— 顯示與當前活動有關的信息。使用M
Redirection示例涉及到三個Acitivity: RedirectEnter, RedirectMain,RedirectGetter。示例的主Activity為
盡管在去年12月的時候微軟在Android平台上也推出了Outlook.com客戶端,但是上架之後並未收到消費者的好評,歸結原因主要是應用顯示有點過時,只是實現了基本的郵