android– 推荐的方式顺序从Web服务读取数据,解析该数据并将其插入SQLite数据库

android– 推荐的方式顺序从Web服务读取数据,解析该数据并将其插入SQLite数据库,第1张

概述我是一个开始提到我对Android完全陌生的人,我刚刚读完了一本快速的入门书,现在我必须实现我的第一个应用程序.这个应用程序将用于接受订单.在我将要存储在本地数据库中的所有数据中,最重要的是两个表:客户和文章,后者是所有表中最大的(aprox20000记录)我的应用程序中的一个主要过

我是一个开始提到我对Android完全陌生的人,我刚刚读完了一本快速的入门书,现在我必须实现我的第一个应用程序.
这个应用程序将用于接受订单.在我将要存储在本地数据库中的所有数据中,最重要的是两个表:客户和文章,后者是所有表中最大的(aprox 20000记录)
我的应用程序中的一个主要过程,当用户按下启动设备上每日 *** 作的按钮时,获取我的应用程序需要脱机工作的所有数据.

那么,该过程包括以下步骤:

一个.阅读一个宁静的服务来检索客户数据
 湾解析对Json Objects的响应
 C.将这些客户插入客户表
 d.阅读一个宁静的服务来检索文章数据
 即解析对Json Objects的响应
 F.将这些文章插入文章表

这就是我计划要做的事情:

>编写一个处理所有http GET请求的帮助程序类.每当我需要下载所有客户和文章数据时,请调用此类
>由于所有这些过程可能需要花费很多时间,因此我需要将其作为背景.因此,基于一些建议,我将把所有这些代码放在一个绑定服务中.
>虽然所有这些长时间处理都在后台进行,但我必须显示某种指示符(ProgressDialog)这就是我选择使用绑定服务的原因

虽然我认为我已经大致了解了如何分别完成大部分这些事情,但我认为把所有这些放在一起是完全不同的故事.

所以这些是我现在得到的问题,我必须将这个难题放在一起:

>您认为我执行所述过程的所有6个步骤的顺序是正确/有效的吗?如果你不得不做一些改变,你会改变什么?
>如果启动服务的活动被明确取消或被其他活动隐藏,则该服务必须让用户知道该过程已完成.我怎么能实现呢?
>是否可以/建议写入服务中的sqlite DB?是否与我在活动中这样做时相同?
>在J2ME中,我做了类似的事情,当我把上面提到的6个步骤之类的东西按顺序执行时,就是一个接一个地执行.在AndroID中它是一样的吗?

我希望我不会问太多问题.我把它们放在一起因为它们都是相关的.

基本上在这个问题中我不是要求工作代码(虽然你可以提供一些示例代码就可以了)我真正想要的是一些建议,一些指导.像“嘿,我认为这可能会帮助你点3号”或“你可能会发现这篇文章有用”,“我认为你最好不要使用它而不是那个”.那种事.

我决定来找你,因为你是专家,我真的需要有人让我朝着正确的方向前进.

非常感谢你.

附:请不要关闭这个问题,如果你认为我需要改变一些事情,请告诉我,我会这样做.

解决方法:

I decIDed to come to you because you’re the experts

首先,我不是专家,而且我不知道你能找到比我更多的专家,但我希望能给你一些帮助.

首先忘记使用AsyncTask下载,因为它必须用于短的后台工作,不像你的,我认为你想下载的文件数量非常大.(我想是这样)

检查谷歌的downloadmanager看看它是如何工作的,它可能会帮助你.

http://developer.android.com/reference/android/app/DownloadManager.html

http://blog.vogella.com/2011/06/14/android-downloadmanager-example/

如果你想使用服务使用未绑定服务,因为当用户关闭应用程序时,你不希望AndroID或用户销毁该服务吗?我想你想以任何方式获取你的数据.

为了有效率,我建议这些步骤:

一个.阅读一个宁静的服务来检索客户数据

湾当您获得客户数据时:

>创建另一个服务或线程以阅读restful服务以检索文章数据
>在旧服务或线程上解析对Json Objects的响应

现在你有2个并发运行的服务或线程,所以按照明显的插入解析步骤,在每个服务或线程上执行.

为什么我不把a和d结合起来?因为我认为用户不喜欢在下载进度条后面等待很多时间.

为了将您的数据插入数据库使用事务,我建议您使用:

http://greendao-orm.com/

对于数据库而言,它比其他ORM更有效,您可以从数据库实现中解脱出来.

If the activity that started the service is explicitly cancelled or is hIDden by another activity, the service has to have a way to let the user kNow that the process has finished. How Could I implement that?

使用通知:

http://developer.android.com/training/notify-user/build-notification.html

http://www.tutorialspoint.com/android/android_notifications.htm

http://www.vogella.com/tutorials/AndroidNotifications/article.html

While all this long processing is taking place in the background I’ll have to show some sort of indicator (a ProgressDialog) This is the reason I opted for using a Bound Service`

how can I update the UI from an Unbound Service?`

使用LocalbroadCastManager,或一般broadCastRecIEver

Android update activity UI from service

In J2ME I’ve done something similar, and when I put something like the 6 steps I mentioned above all of them are executed sequentially, that is , one after the other. Is it the same in AndroID?

这取决于你的步骤,如果你按照我的想法同时运行,如果你运行你的想法,你将按顺序运行.

祝好运.

总结

以上是内存溢出为你收集整理的android – 推荐的方式/顺序从Web服务读取数据,解析该数据并将其插入SQLite数据库全部内容,希望文章能够帮你解决android – 推荐的方式/顺序从Web服务读取数据,解析该数据并将其插入SQLite数据库所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1104218.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-28
下一篇2022-05-28

发表评论

登录后才能评论

评论列表(0条)

    保存