




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
3.2Intent的使用3.2.1Intent淺析在Android系統中,組件之間的通信需要使用到Intent。Intent中文翻譯為“意圖”,Intent最常用的是綁定應用程序組件,并在應用程序之間進行通信。它一般用于啟動Activity、服務、發送廣播等。承擔了Android應用程序三大核心組件之間的通信功能。Android中使用Intent的方式有兩種,分別為顯式Intent和隱式Intent3.2.2顯式意圖顯式Intent是指通過Intent啟動Activity時,需要明確指定激活組件的名稱,例如通過一個Activity啟動另外一個Activity時,就可以通過這種方式。//創建Intent對象,指定啟動的類名SecondActivityIntentintent=newIntent(MainActivity.this,SecondActivity.class);//啟動ActivitystartActivity(intent);3.2.2顯式意圖除了通過指定類名的方式啟動組件外,顯式Intent還可以根據目標組件的包名、全路徑來指定開啟的組件。//setClassName(“包名”,“類的全路徑名稱”);intent.setClassName(“”,“.chapter_shengtime”);//啟動ActivitystartActivity(intent);使用這兩種方式啟動Activity,能夠在程序中很清晰的看到,“意圖”很明顯,因此稱為顯式意圖。3.2.3隱式意圖在程序中沒有明確指定需要啟動的Activity,Android系統會根據在Androidmanifest.xml文件當中設置的動作(action)、類別(category)、數據(Uri和數據類型)來啟動合適的組件。<activityandroid:name=".MainActivity"><intent-filter><!—設置action屬性,根據name設置的值來指定啟動的組件--><actionandroid:name="ent.action.MAIN"/><categoryandroid:name="ent.category.LAUNCHER"/></intent-filter></activity><action>標簽指定了當前Activity可以響應的動作為ent.action.MAIN,而<category>標簽則包含了一些類別信息,只有當這兩者中的內容同時匹配時,Activity才會啟動。Intentintent=newIntent();Intent.setAction(“ent.action.MAIN”);StartActivity(intent);3.2.3隱式意圖AndroidManifest.xml中配置:<activityandroid:name=".MyAty1">
<intent-filter>
<categoryandroid:name="ent.category.DEFAULT"/>
<actionandroid:name="com.example.lanhong.learnimplictintent.MyAty1"/>
</intent-filter>SecondActivity中定義:publicstaticfinalStringACTION="com.example.lanhong.learnimplictintent.MyAty1"MainActivity中定義:startActivity(newIntent(MyAty1.ACTION));3.3Activity中的數據傳遞方式在Android開發中,經常需要在Activity中進行數據傳遞,這里就需要使用Intent來實現Activity之間數據的傳遞。使用Intent進行數據傳遞時只需要調用putExtra()方法把數據存儲進去即可。這個方法有兩個參數,是一種“鍵值對”的形式,第一個參數為“key”,第二個參數為“value”。//定義字符串變量存儲一個值Stringstr="android";Intentintent=newIntent(this,SecondActivity.class);//傳遞參數intent.putExtra("receive_str",str);startActivity(intent);3.3Activity中的數據傳遞方式上述代碼中將一個字符串變量str傳遞到SecondActivity中,然后需要在SecondActivity中接收這個參數:Intentintent=this.getIntent();Stringreceive_str=intent.getStringExtra("receive_st");3.3Activity中的數據傳遞方式如果需要傳遞的參數比多時,就需要使用putExtras()方法傳遞數據,該方法傳遞的時Bundle對象,具體的代碼如下:Intentintent=newIntent(this,SecondActivity.class);Bundlebundle=newBundle();bundle.putString("phone","123456");bundle.putString("sex","男");bundle.putString("age","18");intent.putExtras(bundle);startActivity(intent);SecondActivity讀取Intent數據的代碼:Intentintent=this.getIntent();Bundlebundle=intent.getExtras();Stringphone=bundle.getString("phone");3.4用戶注冊案例講解本節的用戶注冊布局與第二章的用戶注冊案例布局是一樣的,本節主要講的是如何使用布局中定義的控件以及數據傳遞與接收。3.5
本章小結本章首先講解了Ac
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論