android数据上报的一点心得

最近做android手机数据上报,这里有点个人心得,希望抛砖引玉。

做数据上报必须解决的问题:

1、首先要保证你的程序一直在于后台运行,也就是所谓和守护程序一样,而且在任何认为kill和系统内存回收kill后,保证重启。

2、获取系统内部资源。

3、上报策略,间隔时间上报还是按月按天上报。

4、监测网络,当网络开启的时候第一时间上报数据。

5、服务器连接。

对于以上问题的解决:

1、利用广播BroadcastReceiver监听,当系统启动时启动服务service,监听的action是android.intent.action.BOOT_COMPLETED,当服务被kill时在onDestroy()再次启动服务,在onStartCommand()中设置flags=START_STICKY;returnsuper.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,那我们服务器连接首选它了。

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

相关推荐