日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Android數(shù)據(jù)傳遞相關(guān)內(nèi)容概述

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

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比永嘉網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式永嘉網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋永嘉地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。

首先我們?cè)贏ndroid中用的最多的就是Activity之間的傳值

Activity之間的傳值

在Activity之間傳值,我們是通過Intent來完成的。這部分相信有點(diǎn)基礎(chǔ)的兄弟們都會(huì)知道我們是利用Intent的Extra部分來存儲(chǔ)我們想要傳遞的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í)的進(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,并且對(duì)應(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. public class ThreadB extends Thread {
  10. ....
  11. public void run(){
  12. ...
  13. String str = "Test String";
  14. Message msg = mHandler.obtainMessage(1, str);
  15. mHandler.sendMessage(msg);
  16. ..
  17. }
  18. }

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

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

AIDL

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

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


分享文章:Android數(shù)據(jù)傳遞相關(guān)內(nèi)容概述
本文鏈接:http://www.5511xx.com/article/ccshjhp.html