【APP/Android】如何使用Intent, Bundle:在兩個Activity之間 ...
文章推薦指數: 80 %
簡介Intent一般用來跳轉Activity或兩個Activity間傳遞資料從Activity A 跳到Activity B,某人要從A地到B地靠的是交通工具(Intent)
AuthorDescription
記錄著平時寫程式用到的一些技巧,還有學習程式的筆記,若有誤歡迎各位指正。
此外,還有一些平時生活的隨筆、札記和心得,也歡迎有興趣的同好一起討論。
AuthorSocialLinks
深色模式
普通模式
站長留言
✅本站維護及更新歷史紀錄,詳情請參考公告
✅有任何意見、想法,歡迎留言給Spicy知道喔
✅固定於每周一至周五更新Blogger文章,周末不定期
程式Android安卓
【APP/Android】如何使用Intent,Bundle:在兩個Activity之間傳遞資料
SpicyBoyd
tags:APPAndroid
IntentExample專案連結
IntentExample專案:連結
Intent傳送單一資料
簡介
Intent一般用來跳轉Activity或兩個Activity間傳遞資料
從ActivityA跳到ActivityB,某人要從A地到B地靠的是交通工具(Intent)
常用方法
setClass(Contextcontext,Class>class):
從傳送資料的context(ActivityA),到接收資料的class(ActivityB)
putExtra(Stringname,各種型態value):
類似Map的概念,name是傳送資料的key,value是傳送資料的值
putExtras(Bundlebundle):將要傳送的資料(Bundle)放到交通工具(Intent)上
getExtras(),
getStringExtra(Stringname),
getIntExtra(Stringname,intdefaultValue)…:取得資料
Example範例
範例1:直接跳轉
Intentintent=newIntent();
intent.setClass(A.this,B.class)
startActivity(intent);
範例2:有傳送資料(單一資料)
A.class(傳送單一資料)
Intentintent=newIntent();
intent.setClass(A.this,B.class);
intent.putExtra("name",name)//可放所有基本類別
startActivity(intent);
B.class(接收單一資料)
Intentintent=this.getIntent();
Stringname=intent.getStringExtra("name");
Bundle傳送複數資料
簡介
傳遞資料從A地送到B地去,把東西(Bundle)放在交通工具(Intent)上
Bundle如果在程式未來有需求更動時,會帶來較方便的效果。
例如,如果之後決定要在傳遞資料前,先將所有資料儲存在資料庫時,就可將Bundle物件傳遞到其他方法去處理,而不用傳遞多個散亂資料。
常用方法
putFloat(Stringkey,floatvalue),
putString(Stringkey,Stringvalue)…:將要傳送的資料放入Bundle中
getFloat(Stringkey),
getString(Stringkey)…:取得Bundle中的資料
Example範例
範例:傳送資料(複數資料)
A.class(傳送複數資料)
Intentintent=newIntent();
intent.setClass(A.this,B.class);
Bundlebundle=newBundle();
bundle.putString("username",username.getText().toString());
bundle.putString("spinner",spinner.getSelectedItem().toString());
intent.putExtras(bundle);
startActivity(intent);
B.class(接收複數資料)
//取得前一個Activity傳過來的資料
Bundlebundle=this.getIntent().getExtras();
//將取得的Bundle資料設定
if(bundle!=null){
Stringresult=bundle.getString("username");
Stringresult2=bundle.getString("spinner");
//顯示結果
editText.setText("資料1:"+result+",資料2:"+result2);
}
Reference參考資料
Intent官方文件:
https://developer.android.com/guide/components/intents-filters.html?hl=zh-tw
Intent官方文件:https://developer.android.com/reference/android/content/Intent.html
Bundle官方文件:https://developer.android.com/reference/android/os/Bundle.html
AndroidIntent&Bundle傳遞資料(包含傳遞自定義物件):http://cookiesp.pixnet.net/blog/post/84190702-android-intent%26bundle-傳遞資料(包含傳遞自定義物
[Android]BundleError:java.lang.NullPointerException:https://bryceknowhow.blogspot.tw/2013/12/android-bundle-error.html
Intent認識與應用:https://brian7261.blogspot.tw/2016/04/intent-activity.html
HowtousebundleclassforpassingdataofanytypeinAndroid?http://www.includehelp.com/android/use-of-bundle-class-for-passing-data-of-any-type.aspx
Tags:程式
,Android安卓
facebook
twitter
line
複製連結
SpicyBoyd
沒有留言:
張貼留言
較新的文章
較舊的文章
首頁
訂閱:
張貼留言(Atom)
若這些文章對你有幫助,歡迎贊助
站內搜尋
熱門文章
【UML】ClassDiagram類別圖(下):Relationships關係
tags:UMLClassDiagramCommon先修知識【UML】ClassDiagram類別圖(上):Introduction簡介Relationships關係Instance-level物件層級Dependency依賴...
【PS】如何將圖片修成圓角矩形、圓角照片
tags:Photoshop目的由於AndroidStudio,製作圓角矩形的code,無法達成理想的樣子,故回歸最原始的圖片裁減的方式,使用PhotoShop來進行圖片的修改。
AndroidStudio圖片製作圓角矩形的code:連結教學...
【心得】GoogleChromecast-鏡像與投影,手機或APP分享畫面
封面圖以下文章,不論是Chromecast第三代或ChromecastwithGoogleTV第四代皆適用
【UML】ClassDiagram類別圖(上):Introduction簡介
tags:UMLClassDiagramIntroduction簡介UML:UnifiedModelingLanguage統一塑模語言描述了系統的類別集合,類別的屬性和類別之間的關係ClassDiagram類別圖Stereotyp...
【APP/Android】onClick事件的5種實現方式
tags:APPAndroidCommon推薦的實現方式:方法1、方法3並不是只有
延伸文章資訊
- 1【APP/Android】如何使用Intent, Bundle:在兩個Activity之間 ...
簡介Intent一般用來跳轉Activity或兩個Activity間傳遞資料從Activity A 跳到Activity B,某人要從A地到B地靠的是交通工具(Intent)
- 2關於Android Activity之間傳遞資料的6種方式 - 程式前沿
使用Inten的putExtra傳遞第一個Activity中//建立意圖物件Intent intent = new Intent(this,TwoActivity.class); //設定傳遞鍵...
- 3Intent + Bundle 切換Activity並傳值從2到3 - 學程式很簡單
看到這篇文章時代表你(妳)對Android開發有初步概念,如果沒有可先參考【從1到2】,相信大家一開始 ... Bundle 主要用於資料傳遞,主要是以key-value方式來儲存資料。
- 4透過Intent 切換Activity 並利用Bundle 傳送參數
《Android》『Intent』- 透過Intent 切換Activity 並利用Bundle 傳送參數 ·. ·. · //A.class(傳送資料) · String · Intent ·...
- 5使用Intent轉換Activity並傳遞資料,什麼是Intent意圖?
使用android.content.Intent類別可以達到這些功能,Intent類別的建構子有很多種,其中常用來轉換Activity的建構子規格如下: