当前位置: 首页 > wzjs >正文

中山品牌网站建设推广市场营销分析案例

中山品牌网站建设推广,市场营销分析案例,企业搭建自己的网站,今年的公需课在哪个网站做之前写项目一直都是用户进入界面加载数据,遇到无网、或者网络不稳定导致数据加载不出来的情况,要么给测试说退出重进,了不起给添加一个重试的按钮。最近一个地图项目,加载收藏点、搜索历史、选择当前车辆等的同步,需要…

之前写项目一直都是用户进入界面加载数据,遇到无网、或者网络不稳定导致数据加载不出来的情况,要么给测试说退出重进,了不起给添加一个重试的按钮。

最近一个地图项目,加载收藏点、搜索历史、选择当前车辆等的同步,需要考虑到用户操作时无网,或者操作失败。在用户有网时的状态同步。

从简单版本 一直优化到 目前感觉比较完善的版本,记录下 

首先:使用广播监听用户网络状态变化

public void initNetWorkChange() {// 动态注册广播接收器networkChangeReceiver = new NetworkChangeReceiver();IntentFilter filter = new IntentFilter();filter.addAction(ConnectivityManager.CONNECTIVITY_ACTION);registerReceiver(networkChangeReceiver, filter);
}
protected void onResume() {
// 监听广播
if (!isReceiverRegistered) {initNetWorkChange();isReceiverRegistered = true;
}
}

NetworkChangeReceiver 里的监听操作

public class NetworkChangeReceiver extends BroadcastReceiver {// 防抖动延迟时间(单位:毫秒)private static final long DEBOUNCE_DELAY = 3000;// 用于防止多次触发private static long lastTriggeredTime = 0;@Overridepublic void onReceive(final Context context, final Intent intent) {boolean isConnected = AppUtil.isConnectedToInternet(context);LogUtils.e("Network connected: " + isConnected);if (isConnected) {long now = System.currentTimeMillis();// 简单防抖: 一定时间内只响应一次if (now - lastTriggeredTime > DEBOUNCE_DELAY) {lastTriggeredTime = now;// 使用WorkManager异步执行,避免主线程阻塞和ANRNetworkSyncWorker.schedule(context);} else {LogUtils.e("NetworkChangeReceiver: ignore duplicate trigger");}}}
}

执行具体任务的  NetworkSyncWorke

public class NetworkSyncWorker extends Worker {public NetworkSyncWorker(@NonNull Context context, @NonNull WorkerParameters params) {super(context, params);}@NonNull@Overridepublic Result doWork() {try {//搜索历史记录相关syncHistory();//车辆管理相关syncVehicleType();return Result.success();} catch (Throwable e ) {e.printStackTrace();return Result.retry();}}/*** 车辆同步*/private void syncVehicleType() throws IOException {}/*** 历史记录*/private void syncHistory() throws IOException {}// 调用入口public static void schedule(Context context) {OneTimeWorkRequest request = new OneTimeWorkRequest.Builder(NetworkSyncWorker.class).build();WorkManager.getInstance(context).enqueue(request);}
}

 Woker简单介绍

定义:Worker是Android Jetpack库中的一个组件,专门用于在后台执行一次性或周期性的任务。


特点:Worker类提供了简单的API来定义任务,并自动处理任务的生命周期(如开始、进行中、完成等)。它支持任务的重试、取消和进度更新等功能。此外,Worker任务是在独立的进程中运行的,这有助于减少应用程序的内存占用和崩溃风险。


适用场景:适用于需要在后台执行周期性任务或一次性任务(如数据同步、文件处理等)的场景

http://www.dtcms.com/wzjs/265703.html

相关文章:

  • xampp做的网站能搜索吗b2b推广网站
  • 做的好的音乐网站的特点上海百度seo公司
  • 微商城客服seo工具包
  • 做js题目的网站优化百度seo
  • 公司网站推广怎么做中国搜索
  • 做网站的荣誉证书自有品牌如何推广
  • wordpress汉字验证码插件小时seo加盟
  • wordpress主题 html5模板seo分析与优化实训心得
  • 24淘宝网站建设宁波网站seo公司
  • 莱山网站建设百度搜索推广操作简要流程
  • 最个人网站快速排名优化推广价格
  • 网站代码跑偏了怎么做黄石seo
  • 微信小店可以做分类网站国外推广都是怎么推广
  • node.js做企业网站沈阳企业网站seo公司
  • 网页设计与网站建设在线测试答案seo搜索优化
  • 移动互联网网站开发技术互动营销经典案例
  • 像聚美网站建设费用chrome下载
  • 南通医院网站建设网站模板价格
  • 招聘网站可以做两份简历吗如何做网站推广优化
  • 企业网站空间选择自己的网站怎么样推广优化
  • 网站源代码编辑百度推广登录网址
  • 隆尧企业做网站网络推广外包代理
  • 网站建设应用技术seo小白入门教学
  • 外贸网站建设源码免费推广网站
  • 自己做民宿在什么网站上投放新闻20字摘抄大全
  • 提示危险网站企业seo关键字优化
  • 设计苹果手机网站网站推广优化价格
  • .net网站如何优化国外独立网站如何建站
  • 亚马逊网站类型沧州做网络推广的平台
  • 平面设计好学吗?没有基础湖南靠谱关键词优化