編輯:高級開發
開放手機聯盟的成立和 android服務 的推出是對現狀的重大改變,在帶來初步效益之前,還需要不小的耐心和高昂的投入,谷歌將繼續努力,讓這些服務變得更好,同時也將添加更有吸引力的特性、應用和服務。
一,android服務中的Service與調用者在同一線程,所以要是耗時的操作要在Service中新開線程。
二,android的Service中,主要是實現其onCreate,onStart, onDestroy,onBind,onUnBind幾個函數,來實現我們所需要的功能。
簡單的調可以在調用者對象中使用Context.startService來調用,以Intent為參數,當然,Intent搜索,匹配目標的方式與以前在《Intent使用》中方式一樣。
下面來看一段例程:
- package test.pHello;
- import android.app.Activity;
- import android.content.ComponentName;
- import android.content.Context;
- import android.content.Intent;
- import android.content.ServiceConnection;
- import android.Net.Uri;
- import android.os.Bundle;
- import android.os.IBinder;
- import android.vIEw.Menu;
- import android.vIEw.MenuItem;
- import android.widget.TextVIEw;
- public class HelloActivity extends Activity {
- ITestService mService = null;
- ServiceConnection sconnection = new ServiceConnection()
- {
- public void onServiceConnected(ComponentName name, IBinder service)
- {
- mService = (ITestService)service;
- if (mService != null)
- {
- mService.showName();
- }
- }
- public void onServiceDisconnected(ComponentName name)
- {
- }
- };
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // TODO Auto-generated method stub
- super.onCreateOptionsMenu(menu);
- menu.add(0, Menu.FIRST+1, 1, "OpenActivity");
- menu.add(0, Menu.FIRST+2, 2, "StartService");
- menu.add(0, Menu.FIRST+3, 3, "StopService");
- menu.add(0, Menu.FIRST+4, 4, "BindService");
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // TODO Auto-generated method stub
- super.onOptionsItemSelected(item);
- switch(item.getItemId())
- {
- case Menu.FIRST + 1:
- {
- this.setTitle("Switch Activity");
- Intent i = new Intent();
- i.setAction("test_action");
- if (Tools.isIntentAvailable(this,i))
- this.startActivity(i);
- else
- this.setTitle("the Intent is unavailable!!!");
- break;
- }
- case Menu.FIRST + 2:
- {
- this.setTitle("Start Service");
- //Intent i = new Intent(this, TestService.class);
- Intent i = new Intent();
- i.setAction("start_service");
- this.startService(i);
- break;
- }
- case Menu.FIRST + 3:
- {
- this.setTitle("Stop Service");
- Intent i = new Intent(this, TestService.class);
- this.stopService(i);
- break;
- }
- case Menu.FIRST + 4:
- {
- this.setTitle("Bind Service!");
- Intent i = new Intent(this, TestService.class);
- this.bindService(i, this.sconnection, Context.BIND_AUTO_CREATE);
- break;
- }
- }
- return true;
- }
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- this.setContentVIEw(R.layout.main);
- }
- }
編譯執行,你會發現,是先執行onCreate,然後再執行onBind,在調用者的Context.bindService返回時,ServiceConnection的OnConnected並沒有馬上被執行。android服務遠程綁定:上述綁定是在調用者與Service在同一個應用程序中的情況,如果分處在不同的程序中,那麼,調用方式又是一另一種情況。我們來看一下。
谷歌從來是不缺牛人的地方,現在又有牛人加盟。據國外媒體報道,被中國程序員戲稱為“高司令”的Java創始人詹姆斯·高斯林(James Gosling)周一發表博客文章稱,
android系統應該是Google公司所有軟件中發展最為迅速的,相信這款android系統在與微軟與諾基亞等幾大手機運營商的抗衡中會取得良好的成績的,android系
android UI元素裡面包含了許多的內容,比如:該平台由操作系統、中間件、用戶界面和應用軟件組成,一個應用程序要想受用戶喜愛,那麼UI可不能差。android為相似
Google手機操作系統android今天傳出好消息,該平台的軟件數量已達到10072款,突破1萬關口。9月8日據AndroLib網站的統計數字顯示,截至今天,andr