簡體   English   中英

在android中傳遞對象

[英]Passing objects in android

我想將客戶端對象傳遞給android上的不同活動

我知道如何傳遞字符串,但是對傳遞對象一無所知。

myIntent.putExtra(“ nick”,nick); 尼克是一個字符串

我如何通過對象說客戶c?

“如果只是傳遞對象,那么Parcelable就是為此目的而設計的。與使用Java的本機序列化相比,它需要付出更多的努力,但是它的速度要快得多(我的意思是,方法要快得多)。”

如何使用意圖將對象從一個Android活動發送到另一個?

如果要將對象傳遞給的活動是您自己的活動,請將該對象序列化為字符串,然后在該活動中反序列化。 http://java.sun.com/developer/technicalArticles/Programming/serialization/

或如此處回答: 如何將對象從一個活動傳遞到Android上的另一個活動

仔細考慮是否需要發送對象,或者是否真的只需要從對象中取出一些數據元素。 如果足以滿足您的需求,則發送原語或字符串可能會更簡單(=更快,可能會減少錯誤)。

如果確實需要傳遞對象,則可以實現Parcelable接口,也可以將對象放入另一個類的靜態變量(類型為List,Set,Map等)中,並以這種方式引用它。 這些方法都有缺點,如果無法通過捆綁包傳遞所需的實際數據值,我只會推薦它們。

注意:標准行使用簡單的圖元/字符串作為名稱:值對,優先使用可打包而不是可序列化

有論點是傳遞序列化的對象效率低下,所以不要這樣做。 對於一個小物體,我不確定這是一個現實世界中的問題。 除非您發現性能不佳,否則一直認為它具有可讀性和效率方面的清晰度。 到目前為止,對於一個小物體,我還沒有檢測到任何性能問題。 恕我直言,在name:value對和可序列化的對象中使用類的完全限定名稱可以使代碼可讀性強,簡單,錯誤少,易於維護並且在原型設計期間易於實現。 如果檢測到性能問題,或者您有時間重構代碼庫,則一旦對象屬性穩定下來,就可以將可序列化的代碼轉換為Parcelable代碼。

好。 我穿着我的火焰服。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM