偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Android數(shù)據(jù)傳遞相關(guān)內(nèi)容概述

移動開發(fā) Android
我們在這篇文章中對Android數(shù)據(jù)傳遞的方法做了一個(gè)總結(jié),大家可以通過這里介紹的內(nèi)容充分掌握各種常用的實(shí)現(xiàn)技巧。

Android這一操作系統(tǒng)中對于數(shù)據(jù)的傳遞,實(shí)現(xiàn)的方法多樣化,大家可以根據(jù)自身的不同需求來選擇一個(gè)適合自己的方法來進(jìn)行操作。在這里我們就先為大家詳細(xì)介紹一下Android數(shù)據(jù)傳遞的相關(guān)方法。

首先我們在Android中用的最多的就是Activity之間的傳值

Activity之間的傳值

在Activity之間傳值,我們是通過Intent來完成的。這部分相信有點(diǎn)基礎(chǔ)的兄弟們都會知道我們是利用Intent的Extra部分來存儲我們想要傳遞的data的。舉例如下:

 

  1. Intent i = new Intent(this, YourClass.class);   
  2. i.putExtra(YOURDATA, data);   
  3. startActivity(i);   
  4. Intent i = new Intent(this, YourClass.class);  
  5. i.putExtra(YOURDATA, data);  
  6. startActivity(i);  

這里需要注意的是putExtra method,它的***個(gè)參數(shù)必須有package前綴,也就是說我們不能隨意指定一個(gè)String,而必須帶有package prefix,如例子中我們可以定義YOURDATA如下:

 

  1. public final static String YOURDATA = 
    "com.javaeye.notfatboy.testArg";   
  2. ublic final static String YOURDATA = 
    "com.javaeye.notfatboy.testArg";  

而第二個(gè)參數(shù)可以是int, long, char等等很多種類型,具體見putExtra()#t#

實(shí)際上Intent的使用范圍要廣泛的多,我們可以在任何使用Intent的地方來通過Extra進(jìn)行傳值,推而廣之,我們也可以給Service傳值,給Broadcast Receiver傳值,而這也說明了另一個(gè)問題,即我們可以通過這種方式在不同的進(jìn)程和線程之間進(jìn)行傳值,因?yàn)锳ctivity,Service,Broadcast這些Components可以在不同的進(jìn)程或者線程之中,這也是Android為我們提供的一個(gè)輕量級的進(jìn)程,線程間通信的方式。

除此之外,Android還為我們提供了一些稍微復(fù)雜點(diǎn)的傳值機(jī)制,就Thread而言,我們可以通過Message Queue來實(shí)現(xiàn)Android數(shù)據(jù)傳遞。

Messag Queue

Message Queue是個(gè)非常有用而且有趣的機(jī)制。假設(shè)我們有兩個(gè)Thread,一個(gè)是thread A,另一個(gè)是thread B。 thread A有一個(gè)Message Queue,并且對應(yīng)一個(gè)Handler來處理Message,這是只要thread B獲取了該Handler的reference就可以給發(fā)送消息給Thread A。舉例如下:

 

  1. public class ThreadB extends Thread {   
  2. ....   
  3. public void run(){   
  4. ...   
  5. String str = "Test String";   
  6. Message msg = mHandler.obtainMessage(1, str);   
  7. mHandler.sendMessage(msg);   
  8. ..   
  9. }   
  10. }   
  11. public class ThreadB extends Thread {  
  12. ....  
  13. public void run(){  
  14. ...  
  15. String str = "Test String";  
  16. Message msg = mHandler.obtainMessage(1, str);  
  17. mHandler.sendMessage(msg);  
  18. ..  
  19. }  

當(dāng)然Message Queue還有很多其他的使用方法,在這里就不再一一贅述,有興趣的同學(xué)可以再仔細(xì)研究下,此處只做拋磚引玉。

對于IPC進(jìn)程通信而言,Android也提供了一個(gè)稍微復(fù)雜點(diǎn)的機(jī)制--- AIDL

AIDL

在Android當(dāng)中我們可以通過AIDL來定義特定的接口,從而實(shí)現(xiàn)RPC,而不再是簡單的傳值,關(guān)于這部分已經(jīng)有很多文章介紹了詳細(xì)使用方法,不再贅述。

Android數(shù)據(jù)傳遞的相關(guān)方法就為大家介紹到這里。

責(zé)任編輯:曹凱 來源: javaeye.com
相關(guān)推薦

2010-01-27 16:56:42

Android內(nèi)核

2010-01-28 16:19:39

Android She

2010-02-01 09:18:49

C++函數(shù)指針

2010-06-17 16:12:43

WAP協(xié)議

2010-07-20 13:07:13

SQL Server存

2010-02-25 17:57:26

WCF服務(wù)合同

2010-01-22 18:24:28

VB.NET重構(gòu)

2010-02-26 09:50:57

WCF傳輸安全機(jī)制

2010-02-26 13:21:42

WCF通道形狀

2009-08-28 15:16:18

C#泛型集合

2010-01-07 14:26:37

VB.NET變量

2010-06-08 17:30:56

IPv6協(xié)議棧

2010-01-07 11:38:25

VB.NET鍵盤事件

2010-04-02 16:53:34

Oracle內(nèi)存結(jié)構(gòu)

2010-02-03 15:40:11

C++地址運(yùn)算符

2010-04-16 15:57:54

Oracle 10g

2010-03-25 11:30:25

2010-04-08 10:02:15

Oracle體系結(jié)構(gòu)

2010-01-13 16:15:47

VB.NET消息隊(duì)列

2009-11-26 14:33:58

Cisco路由器IOS
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號