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,那我们服务器连接首选它了。

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

猜你喜欢

转载自alaric.iteye.com/blog/1722193