android如何使用intent的傳輸

2021-12-22 13:56:03 字數 921 閱讀 5503

1樓:千鋒教育

如果node是自己寫的乙個類

那麼只需要讓node實現serializable序列化介面就行

如果node是某個api提供的乙個類那麼就修改不到,這時候可以把這個物件轉換為其他形式再進行傳輸,比如json,最簡便的就用gson框架了

arraylist> data = new arraylist>();

mapnodes = new hashmap();

nodes.put("node1", new node());

data.add(nodes);

string jsondata = new gson().tojson(data, new typetoken>>(){}.gettype());

intent intent = new intent();

intent.putextra("data", jsondata);

在接收方再使用gson把json解析成物件

string jsondata = getintent().getstringextra("data");

arraylist> data = new gson().fromjson(data, new typetoken>>(){}.gettype());

更簡便的方法就是把data設定為全域性變數,隨處可以訪問,但是這個方法不好

總的來說,這種較大的物件不要使用intent來傳輸,intent只適合用來傳輸一些小資料,

而且intent傳輸時有大小限制的,為40k左右

2樓:

這種資料不建議使用intent去傳,太複雜了,用bundle的話資料得有多少、、、、 建議在自己的程式裡面加靜態變數等於 該 arraylist> ,或者實現乙個非靜態變數的 get 和 set方法 ,這樣在其他地方可以直接呼叫。

android系統手機怎樣取消使用預設應用開啟

android手機取消預設應用開啟方式 假設當開啟 檔案時設定了使用 快圖瀏覽 為預設應用來開啟 以後開啟 都會自動預設使用 快圖瀏覽 而當想不使用 快圖瀏覽 來開啟 時,怎麼取消此設定呢?如下 選單menu 設定 應用程式 管理應用程式 選擇要取消的預設應用,這裡選擇 快圖瀏覽 下滑到 預設情況下...

如何利用jenkins來做android自動化

啟動jenkins 1 安裝jdk 從略,建議1.6或以上版本,配置好環境變數。2 安裝tomcat 從略,安裝完除錯下tomcat是否正常。3 安裝ant 如何利用jenkins來做android自動化概述持續整合是一種軟體開發實踐,即團隊開發成員經常整合他們的工作,通常每個成員每天至少整合一次,...

如何獲取android安全碼SHA

win r鍵 或者電腦左下角點選開始圖示然後點選 執行 輸入cmd點選確定進入命令列程式。在彈出的命令列程式中輸入 cd android 定位到 android 資料夾 cd和。android之間有空格 釋出安全碼和開發安全碼不同,這裡分情況討論。開發安全碼 繼續在命令列程式中輸入命令 keytoo...