Android四大核心組件_第1頁
Android四大核心組件_第2頁
Android四大核心組件_第3頁
Android四大核心組件_第4頁
Android四大核心組件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取Android四大核心組件求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取一、Activity Activity:代表了Android程序的展現(xiàn)層,比如用戶看到的界面。一個Android程序會有一些個Activities,在程序運行過程中也會切換。1、activity概念求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取2、activity三種狀態(tài) 運行:當(dāng)一個Activity在屏幕的最上層時(系統(tǒng)堆棧中的最頂端),此Activity就是屬于active或running的狀態(tài)。 停止:當(dāng)一個Activity被其它的Activity完全遮蔽,被遮蔽Acti

2、vity就是處于Stop的狀態(tài)。 暫停:當(dāng)一個Activity失去焦點(Focus)但還看得到它的畫面,那失去焦點的這個Activity則處在Paused的狀態(tài)。求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取3、activity生命周期的七個方法求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);System.out.println(我生

3、成了);Overrideprotected void onStart() super.onStart();System.out.println(我開始了);Overrideprotected void onResume() super.onResume(); System.out.println(我恢復(fù)了);求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取Overrideprotected void onPause() super.onPause();System.out.println(我暫停了);Overrideprotected void onStop() super.onStop();S

4、ystem.out.println(我停止了);點擊“HOME”求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取重新進入程序user navigates to the activityuser returms to the activity返回按鈕the activity is finishing or being destroyed by the system求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取4、activity操作(1)生成一個Android Activity包括一個繼承于Activity子類Aty1、activity_aty1.xml、AndroidManifest.xml中進

5、行配置求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取public class MainActivity extends Activity private Button button1;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button1 = (Button) findViewById(R.id.button1);button1.setOnClickListener(ne

6、w View.OnClickListener() Overridepublic void onClick(View arg0) Intent i = new Intent(MainActivity.this,Aty1.class);startActivity(i););求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取5、activity數(shù)據(jù)傳遞求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取private EditText editText;Intent i = new Intent(MainActivity.this,Aty1.class);editText = (EditText) findV

7、iewById(R.id.editText1);String text = editText.getText().toString();i.putExtra(txt, text);startActivity(i);private TextView txtView;txtView = (TextView) findViewById(R.id.textView1);txtView.setText(getIntent().getStringExtra(txt);方式一 傳送簡單的數(shù)據(jù)求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取private EditText editText;Intent i =

8、 new Intent(MainActivity.this,Aty1.class);editText = (EditText) findViewById(R.id.editText1);String text = editText.getText().toString();/i.putExtra(txt, text);Bundle data = new Bundle();data.putString(txt, text);i.putExtras(data);startActivity(i);private TextView txtView;txtView = (TextView) findVi

9、ewById(R.id.textView1);/txtView.setText(getIntent().getStringExtra(txt);Bundle data = getIntent().getExtras();txtView.setText(data.getString(txt);方式二 傳送大數(shù)據(jù)求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取二、Service Android中的Service,其意思是“服務(wù)”,它是在后臺運行,不可交互的。Service自己不能運行,需要通過某一個Activity或者其它Context對象來調(diào)用1、Service概念求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)

10、業(yè) 進進 取取2、service生命周期service的生命周期,從它被創(chuàng)建開始,到它被銷毀為止,可以有兩條不同的路徑:(1)A started service被開啟的service通過其他組件調(diào)用 startService()被創(chuàng)建。這種service可以無限地運行下去,必須調(diào)用stopSelf()方法或者其他組件調(diào)用stopService()方法來停止它。當(dāng)service被停止時,系統(tǒng)會銷毀它。(2)A bound service被綁定的service是當(dāng)其他組件(一個客戶)調(diào)用bindService()來創(chuàng)建的。客戶可以通過一個IBinder接口和service進行通信。客戶可以通過 u

11、nbindService()方法來關(guān)閉這種連接。一個service可以同時和多個客戶綁定,當(dāng)多個客戶都解除綁定之后,系統(tǒng)會銷毀service。求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取(1)start serviceimport android.app.Service;import android.content.Intent;import android.os.IBinder;public class EchoService extends Service Overridepublic IBinder onBind(Intent arg0)

12、return null;Overridepublic void onCreate() super.onCreate();System.out.println(啟動);Overridepublic void onDestroy() super.onDestroy();System.out.println(銷毀);求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取android:id=+id/button1android:id=+id/button2求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取public class MainActivity exten

13、ds Activity implements OnClickListener private Button button1;private Button button2;private Intent serviceIntent;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);serviceIntent = new Intent(this,EchoService.class);bu

14、tton1 = (Button) this.findViewById(R.id.button1);button2 = (Button) this.findViewById(R.id.button2);button1.setOnClickListener(this);button2.setOnClickListener(this);求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取Overridepublic void onClick(View v) switch(v.getId()case R.id.button1:startService(serviceIntent);break;case R.

15、id.button2:stopService(serviceIntent);break;Overridepublic boolean onCreateOptionsMenu(Menu menu) getMenuInflater().inflate(R.menu.main, menu);return true;求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取?。?)bind serviceandroid:id=+id/button3android:id=+id/button4求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取public class Main

16、Activity extends Activity implements OnClickListener, ServiceConnectionprivate Button button3;private Button button4;button3 = (Button) this.findViewById(R.id.button3);button3.setOnClickListener(this);button4 = (Button) this.findViewById(R.id.button4);button4.setOnClickListener(this);求求 真真 務(wù)務(wù) 實實 敬敬

17、業(yè)業(yè) 進進 取取public void onClick(View v) switch(v.getId()case R.id.button1:startService(serviceIntent);break;case R.id.button2:stopService(serviceIntent);break;case R.id.button3:bindService(serviceIntent, this, Context.BIND_AUTO_CREATE);break;case R.id.button4:unbindService(this);break;求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè)

18、進進 取取Overridepublic void onServiceConnected(ComponentName arg0, IBinder arg1) System.out.println(綁定);Overridepublic void onServiceDisconnected(ComponentName arg0) 求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取EchoService類:public class EchoServiceBinder extends Binderprivate EchoServiceBinder binder = new EchoServiceBinder

19、();Overridepublic IBinder onBind(Intent arg0) System.out.println(開始綁定);return binder;正確運行求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取三、Broadcast Receiver1、概述BroadcastReceiver也就是“廣播接收者”的意思,顧名思義,它就是用來接收來自系統(tǒng)和應(yīng)用中的廣播。在Android系統(tǒng)中,廣播體現(xiàn)在方方面面,例如當(dāng)開機完成后系統(tǒng)會產(chǎn)生一條廣播,接收到這條廣播就能實現(xiàn)開機啟動服務(wù)的功能;當(dāng)網(wǎng)絡(luò)狀態(tài)改變時系統(tǒng)會產(chǎn)生一條廣播,接收到這條廣播就能及時地做出提示和保存數(shù)據(jù)等操作;當(dāng)電池電量

20、改變時,系統(tǒng)會產(chǎn)生一條廣播,接收到這條廣播就能在電量低時告知用戶及時保存進度,等等。求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取2、Broadcast Receiver聲明public class MyBC extends BroadcastReceiver Overridepublic void onReceive(Context arg0, Intent arg1) 求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè) 進進 取取3、傳值、注冊、注銷l Broadcast Receive接收:public class MyBC extends BroadcastReceiver Overridepublic void onReceive(Context arg0, Intent arg1) System.out.println(接收信息:+arg1.getStringExtra(txt);(1)傳值Intent i = new Intent(MainActivity.this,MyBC.class);i.putExtra(txt, hello);sendBroadcast(i);求求 真真 務(wù)務(wù) 實實 敬敬 業(yè)業(yè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論