2010-06-09 89 views
15

我正在Android上製作一個電子商務應用程序,因爲這是我第一個認真的項目,所以我試圖找出最好的方法來做到這一點。開發電子商務應用程序的好指導

該應用程序與網絡服務(magento api,意思是soap或xml rpc不幸地)進行對話並獲取手機上的所有內容(產品類別,產品詳細信息,用戶憑證等)。我認爲它應該做懶加載或類似的東西。

所以,我正在考慮將用戶憑據保留在自定義對象中,這將保留在SharedPreferences中,以便每個Activity都可以輕鬆訪問它。我將使用幾個ListView來顯示內容,並使用AsyncTask來獲取所需的數據。我應該將所有數據保存在對象的內存中,還是應該使用某種緩存或本地數據庫?另外,我打算使用HashMapSoftReferences來存放我下載的位圖。但是這不會消耗大量的記憶嗎?

如何讓所有的活動都可以訪問所有這些對象(電子商務籃子等)?我正在考慮使用Intents來傳遞它們,但這看起來並不適合我。 SharedPreferences可以用於很多對象,並且是否存在併發問題?

任何指針將非常感激。什麼是一些好的指導方針?我應該看哪些課程?你知道互聯網上的任何資源供我檢查嗎?

+0

我即將開發電子商務的Android應用程序,所以如果你可以給一些指導,這將是很大的幫助@ kaciula – Anitha 2015-05-11 06:46:45

+0

@kaciula我剛開始構建一個電子商務應用程序,但stucked。我認爲你在5年前的同一階段:)。如果你可以自己回答這個問題,這對其他人會很有幫助。 – Abhigyan 2015-10-26 17:41:34

回答

12

一個非常詳細的問題我會盡我所能來回答它。 我用我的應用程序下面的辦法:

  • 我保存在共享偏好的用戶憑據。如果首選項可序列化,並且從閃存寫入和讀取花費大量時間,則首選項只能保存自定義對象。因此,我在啓動時加載首選項並將它們存儲在內存中。

  • 我試圖保留所有數據在內存中需要在很多地方和一致的狀態,所有其他內存通過序列化傳遞給JSON並通過意圖傳遞或我只通過ids和我重新獲取它從網上。 (在本地數據庫中最終有兌現的可能性,但爲了保持最新狀態,目前需要做很多工作。)要存儲需要很長時間才能從內部存儲器或網絡重新加載並重新解析的對象,我使用自定義application,它保存對管理緩存的一些控制器對象的引用。應用程序將保留在內存中,直到您的應用程序關閉。這很方便,但如果你不小心,可能會導致需要大量內存。

  • 我的程序下載的位圖緩存在兩層上。在我第一次訪問圖片時,我在活動範圍內創建了一個圖片管理器對象。該對象將嘗試在內部映射中查找位圖。如果它不存在,它會嘗試從手機內存中加載它,如果它不在手機內存中,它將從網絡上下載它,將它存儲在我的應用程序的緩存文件夾中並放入地圖中。通過這種方式,只要活動運行,位圖就可以訪問,並在用戶切換到另一個屏幕時進行清理。直到現在,這對我來說已經足夠了。

最後開始編程,如果遇到其他問題或錯誤,併發布一些更具體的問題,就回來。

相關問題