您好,登錄后才能下訂單哦!
今天小編給大家分享一下Android中如何實(shí)現(xiàn)數(shù)據(jù)傳遞的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
Activity之間的傳值
在Activity之間傳值,我們是通過Intent來完成的。這部分相信有點(diǎn)基礎(chǔ)的兄弟們都會(huì)知道我們是利用Intent的Extra部分來存儲(chǔ)我們想要傳遞的data的。舉例如下:
Intent i = new Intent(this, YourClass.class); i.putExtra(YOURDATA, data); startActivity(i); Intent i = new Intent(this, YourClass.class); i.putExtra(YOURDATA, data); startActivity(i);
這里需要注意的是putExtra method,它的***個(gè)參數(shù)必須有package前綴,也就是說我們不能隨意指定一個(gè)String,而必須帶有package prefix,如例子中我們可以定義YOURDATA如下:
public final static String YOURDATA =
"com.javaeye.notfatboy.testArg";ublic final static String YOURDATA =
"com.javaeye.notfatboy.testArg";
而第二個(gè)參數(shù)可以是int, long, char等等很多種類型,具體見putExtra()
Android判斷網(wǎng)絡(luò)狀態(tài)方法詳解
Android單元測試源碼解讀
Android Jni代碼示例講解
Android安裝卸載程序具體操作方法解析
Android Shell命令相關(guān)內(nèi)容講解
實(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,并且對應(yīng)一個(gè)Handler來處理Message,這是只要thread B獲取了該Handler的reference就可以給發(fā)送消息給Thread A。舉例如下:
public class ThreadB extends Thread { .... public void run(){ ... String str = "Test String"; Message msg = mHandler.obtainMessage(1, str); mHandler.sendMessage(msg); .. } } public class ThreadB extends Thread { .... public void run(){ ... String str = "Test String"; Message msg = mHandler.obtainMessage(1, str); mHandler.sendMessage(msg); .. } }
以上就是“Android中如何實(shí)現(xiàn)數(shù)據(jù)傳遞”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。