开发电子商务应用程序的良好指南

时间:2010-06-09 14:11:54

标签: android e-commerce

我正在Android上制作电子商务应用程序,因为这是我的第一个认真的项目,我想事先弄清楚这样做的最佳方法。

该应用程序与Web服务(magento api,不幸地说是soap或xml rpc)进行对话并获取手机上的所有内容(产品类别,产品详细信息,用户凭据等)。我认为应该进行延迟加载或类似的事情。

所以,我想将用户凭据保存在一个自定义对象中,该对象将保存在SharedPreferences中,以便每个Activity可以轻松访问它。我将使用几个ListView来显示内容,并使用AsyncTask来获取所需的数据。我应该将所有数据保存在对象的内存中,还是应该使用某种缓存或本地数据库?另外,我打算使用HashMapSoftReferences来保存我正在下载的位图。但这不会占用大量的记忆吗?

所有活动如何获取所有这些对象(电子商务购物篮等)?我正在考虑使用Intents传递它们,但这对我来说似乎不对。 SharedPreferences可以用于很多对象吗?是否存在并发问题?

任何指针都会非常感激。有什么好的指导方针?我应该研究哪些课程?您知道互联网上的任何资源供我查看吗?

2 个答案:

答案 0 :(得分:12)

一个非常详细的问题,我会尽力回答。 我在我的应用程序中使用了以下方法:

  • 我将用户凭据保存在共享首选项中。首选项只能保存自定义对象(如果它们是可序列化的),并且从闪存中写入和读取需要花费大量时间。因此,我在启动时加载首选项并将其存储在内存中。

  • 我尽量保持所有的记忆是需要在很多地方和一致的状态,其他所有的记忆传递通过序列化到JSON和通过的意图数据或者我只传递ID和我重新从网上获取它。 (有明确的在本地数据库中,但保持它的最新努力兑现的可能性是在当下许多工作要做。)来存储需要长期从内部存储器或网络重新加载和重新对象分析它,我用自定义application,用于保存对管理缓存的某些控制器对象的引用。应用程序将保留在内存中,直到您的应用程序关闭。这很方便,但如果你不小心,可能会导致需要很多记忆。

  • 我的程序下载的位图缓存在两个图层上。在我第一次访问图像时,我在活动范围内创建了一个图像管理器对象。该对象将尝试在内部映射中查找位图。如果它不存在,它会尝试从手机内存加载它,如果它是不是在手机内存就会从网上下载它,它存放在我的应用程序的缓存文件夹,并把它在地图上。这样,位图是只要访问作为活动运行,此刻正清理用户切换到另一个屏幕。到现在为止,这对我来说已经足够了。

最后只是开始编程,如果遇到其他问题或错误,请回来并发布一些更具体的问题。

答案 1 :(得分:1)

您需要使用的许多有用技巧:ContentProviders,AsyncTasks,Bitmap Caching,...在Romain Guys的Shelvs(http://www.curious-creature.org/2009/01/19/shelves-an-open-source-android-application/)应用中使用。这是一个很好的起点,可以进入推荐的Android流程。