【问题标题】:Good guidelines for developing an ecommerce application开发电子商务应用程序的良好指南
【发布时间】:2010-06-09 14:11:54
【问题描述】:

我正在 Android 上制作电子商务应用程序,由于这是我的第一个严肃项目,我正在尝试事先找出最佳方法。

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

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

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

任何指针将不胜感激。有哪些好的指导方针?我应该研究哪些课程?您知道 Internet 上有哪些资源可供我查看吗?

【问题讨论】:

  • 我即将开发电子商务安卓应用,所以如果你能提供一些指导,那将有很大帮助@kaciula
  • @kaciula 我刚刚开始构建一个电子商务应用程序,但卡住了。我认为在您 5 年前所处的同一阶段:)。如果你能自己回答这个问题,对别人会很有帮助。

标签: android e-commerce


【解决方案1】:

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

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

  • 我尝试将所有数据都保存在内存中,这些数据在许多地方都需要并且处于一致状态,所有其他内存都通过序列化传递给 json 并通过意图传递,或者我只传递 id 并且我重新从网上获取。 (确实有可能在本地数据库中兑现,但目前保持它最新的努力还有很多工作要做。)为了存储需要很长时间才能从内部存储器或网络重新加载并重新解析它的对象,我使用一个自定义的application,它包含对一些管理缓存的控制器对象的引用。该应用程序将保留在内存中,直到您的应用程序关闭。这很方便,但如果您不小心,可能会导致需要大量内存。

  • 我的程序下载的位图缓存在两层上。第一次我想访问图像时,我在我的活动范围内创建了一个图像管理器对象。该对象将尝试在内部地图中查找位图。如果它不存在,它将尝试从手机内存中加载它,如果它不在手机内存中,它将从网络下载它,将其存储在我的应用程序的缓存文件夹中并将其放入地图中。通过这种方式,只要活动运行,位图就可以访问,并且在用户切换到另一个屏幕时被清理。到目前为止,这对我来说已经足够了。

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

【讨论】:

    【解决方案2】:

    您将需要使用许多有用的技术:ContentProviders、AsyncTasks、位图缓存……在 Romain Guys 'Shelvs' (http://www.curious-creature.org/2009/01/19/shelves-an-open-source-android-application/) 应用程序中使用。这是进入推荐的 Android 流程的一个很好的起点。

    【讨论】:

    • 目前货架对我来说有点太复杂了。我已经开始慢慢来,一步一步来。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 2010-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多