成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android數據傳遞相關內容概述

移動開發 Android
我們在這篇文章中對Android數據傳遞的方法做了一個總結,大家可以通過這里介紹的內容充分掌握各種常用的實現技巧。

Android這一操作系統中對于數據的傳遞,實現的方法多樣化,大家可以根據自身的不同需求來選擇一個適合自己的方法來進行操作。在這里我們就先為大家詳細介紹一下Android數據傳遞的相關方法。

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

Activity之間的傳值

在Activity之間傳值,我們是通過Intent來完成的。這部分相信有點基礎的兄弟們都會知道我們是利用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,它的***個參數必須有package前綴,也就是說我們不能隨意指定一個String,而必須帶有package prefix,如例子中我們可以定義YOURDATA如下:

 

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

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

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

除此之外,Android還為我們提供了一些稍微復雜點的傳值機制,就Thread而言,我們可以通過Message Queue來實現Android數據傳遞。

Messag Queue

Message Queue是個非常有用而且有趣的機制。假設我們有兩個Thread,一個是thread A,另一個是thread B。 thread A有一個Message Queue,并且對應一個Handler來處理Message,這是只要thread B獲取了該Handler的reference就可以給發送消息給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. }  

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

對于IPC進程通信而言,Android也提供了一個稍微復雜點的機制--- AIDL

AIDL

在Android當中我們可以通過AIDL來定義特定的接口,從而實現RPC,而不再是簡單的傳值,關于這部分已經有很多文章介紹了詳細使用方法,不再贅述。

Android數據傳遞的相關方法就為大家介紹到這里。

責任編輯:曹凱 來源: javaeye.com
相關推薦

2010-01-27 16:56:42

Android內核

2010-01-28 16:19:39

Android She

2010-02-01 09:18:49

C++函數指針

2010-06-17 16:12:43

WAP協議

2010-01-22 18:24:28

VB.NET重構

2010-02-26 09:50:57

WCF傳輸安全機制

2010-02-26 13:21:42

WCF通道形狀

2010-07-20 13:07:13

SQL Server存

2010-02-25 17:57:26

WCF服務合同

2010-01-07 14:26:37

VB.NET變量

2010-06-08 17:30:56

IPv6協議棧

2009-08-28 15:16:18

C#泛型集合

2010-01-07 11:38:25

VB.NET鍵盤事件

2010-04-02 16:53:34

Oracle內存結構

2010-02-03 15:40:11

C++地址運算符

2010-04-16 15:57:54

Oracle 10g

2010-03-25 11:30:25

2010-04-08 10:02:15

Oracle體系結構

2010-01-13 16:15:47

VB.NET消息隊列

2009-11-26 14:33:58

Cisco路由器IOS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久99精品久久久久婷婷 | 精品欧美一区二区精品久久 | 欧美一区不卡 | 成人av网站在线观看 | 久久福利网站 | 国产精品视频一 | 日本一区二区高清不卡 | 欧美网址在线观看 | 久久久夜色精品亚洲 | 国产成人免费在线 | 国产伦一区二区三区四区 | 99亚洲精品视频 | 国产女人第一次做爰毛片 | 盗摄精品av一区二区三区 | 中文字幕一区二区三区精彩视频 | 一区二区三区四区在线 | www.日本三级 | www.激情.com | 国产精品九九九 | 9191在线播放| 久久精品国产一区二区 | 亚洲视频免费在线观看 | 久久另类视频 | 国产精品亚洲一区二区三区在线 | 亚洲视频区 | 一道本不卡视频 | hdfreexxxx中国妞| 日本三级电影免费观看 | 欧美三区视频 | 欧美中文字幕在线观看 | 天天草夜夜骑 | 欧美国产中文字幕 | 国产精品一区二区在线 | 国产日韩精品一区二区 | 91免费视频 | 精品国产乱码久久久久久蜜臀 | 久久88| 久久综合av | 国产精品久久久久久婷婷天堂 | 精品国产乱码久久久久久牛牛 | 日韩精品一区二区不卡 |