【APP/Android】如何使用Intent, Bundle:在兩個Activity之間 ...

文章推薦指數: 80 %
投票人數:10人

簡介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並不是只有



請為這篇文章評分?