advertisement总结

界面对于广告:

广告数据库以及相应的操作都在文件DatabaseManager中


步骤一,在Main.javaOnCreate函数中会调用WebManager.java中的downloadAds函数,启动一个线程,DownloadRunnable,来启动广告的下载,流程如下:

1.通过SoapObject类调用服务器端的函数toSynAdvsandroidDeviceSerialNumber),此函数从服务器端返回的信息包括广告模版的数量,每一个广告模版包括哪些信息,然后报所有的广告模版的信息保存到一个动态listadvInfosList,这个动态list中保存的只是广告模版的信息,不是广告本身。

2.清空临时文件夹下的所有广告文件

3.根据第一步中的advInfosList,为每一个广告模版在本地建立对应路径,并通过HttpURLConnection类把服务端的广告文件下载到本地,每下载一个广告文件,会通过SoapObject类调用服务端的toDownloadSuc类来向服务端反馈下载信息。

4.把所有的广告模版信息即advInfosList保存更新到客显端的数据表ad_infos_table当中

 

步骤二,

1.实例化viewFlippermVideoView

2.importVideoImageFileManager.AD_DEFAULT_PIC_DIRFileManager.AD_DEFAULT_VIDEO_DIR文件夹下所有的广告文件的绝对路径存到defaultAdsPlayList中,

3.然后playNext方法来循环播放defaultAdsPlayList中的每一个广告文件,

4.同时起一个不断循环的线程来,判断当前播放的是图片还是视频,如果是图片,播放5000毫秒,即线程sleep 5000ms,如果是视频,监听是播放错误还是播放完毕,播放完毕,则再调用playNext()


步骤三,销售了一种产品,则用此产品对应的barcode去数据库表ad_infos_table中查找有无此广告,如果有则播放,同时一方面把此广告的id等信息写入数据库表ad_play_records_table中,另一方面通过方法UploadPlayHistories把这些信息发往后台服务器端,通过UploadPlayHistories方法启动一个线程用SoapObject实现广告信息上传服务端(SoapObject实现)

你可能感兴趣的:(advertisement总结)