`
zzq19860626
  • 浏览: 261465 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
博客专栏
B20df9e2-fb3d-3644-9f72-c1619842f682
设计模式学习笔记
浏览量:178252
87eaf24f-812a-3463-8e65-e3197d2ad8c2
java虚拟机
浏览量:26245
社区版块
存档分类
最新评论

android数据上报的一点心得

阅读更多

最近做android手机数据上报,这里有点个人心得,希望抛砖引玉。
做数据上报必须解决的问题:
1、首先要保证你的程序一直在于后台运行,也就是所谓和守护程序一样,而且在任何认为kill和系统内存回收kill后,保证重启。
2、获取系统内部资源。
3、上报策略,间隔时间上报还是按月按天上报。
4、监测网络,当网络开启的时候第一时间上报数据。
5、服务器连接。

对于以上问题的解决:
1、利用广播BroadcastReceiver监听,当系统启动时启动服务service,监听的action是android.intent.action.BOOT_COMPLETED,当服务被kill时在onDestroy()再次启动服务,在onStartCommand()中 设置 flags = START_STICKY;return super.onStartCommand(intent, flags, startId),保证服务重启。
2、利用getPackageManager(),getInstalledPackages(),getApplicationInfo()来获取系统安装数据。
3、上报策略可以每天(时间间隔24小时),但是不是很准确,一般按日上报不做时间间隔这样个人认为比较准确。
4、检测开启网络上报数据,还是利用广播BroadcastReceiver监听,监听action为android.net.conn.CONNECTIVITY_CHANGE,当发现网络开启时就触发数据上报。
5、服务器连接,如果你了解java熟悉java企业级开发,那么你对httpclient并不陌生,很幸运的是android sdk已经集成了httpclient,那我们服务器连接首选它了。

以上是我做的解决方案,你是否有更好的替代品,希望我只是抛了块砖头,后面你继续。。。。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics