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

学网站前端荆州网站建设推荐

学网站前端,荆州网站建设推荐,什么网站教你做早点,网站建设空间主机的选择接上一篇的分析,今天继续 aidl复杂流程封装-CSDN博客 今天的任务就是将代码梳理下放进来 1 项目gradle配置: 需要将对应的代码放到各自的目录下,这里仅贴下关键内容,细节可以下载代码慢慢看 sourceSets { main { manifest.srcFile src/main/And…接上一篇的分析,今天继续 aidl复杂流程封装-CSDN博客 今天的任务就是将代码梳理下放进来 1 项目gradle配置: 需要将对应的代码放到各自的目录下,这里仅贴下关键内容,细节可以下载代码慢慢看 sourceSets { main { manifest.srcFile 'src/main/AndroidManifest.xml' java.srcDirs = ['src/main/java'] aidl.srcDirs = ['src/main/aidl'] res.srcDirs = ['src/main/res'] assets.srcDirs = ['assets'] } local { java.srcDirs = ['src/local/java'] } remote { java.srcDirs = ['src/remote/java'] } } flavorDimensions "sdk" productFlavors { local { dimension "sdk" } remote { dimension "sdk" } } 2 aidl相关文件 1 客户端的回调接口: interface ICallback { void received(String params, in Bundle bundle); } 2 aidl通信接口: interface IServiceBinder {int register(int version, String caller, ICallback callback);void unregister(String caller, ICallback callback);String received(String params, in Bundle bundle); } 3 服务端(本地)代码 先看下对服务类的封装:增加服务端通知消息的入栈异步处理,防止服务端卡顿 (由于看板信息,播报信息,路况信息等数据频繁,需放入单独线程或线程池处理) public abstract class AsynService extends Service {protected static final String TAG = "AidlControl-AsynService";protected WorkThread worker;public void onCreate() {super.onCreate();Log.e(TAG, "onCreate: ");if (this.worker == null || !this.worker.isRunning()) {this.worker = new WorkThread();this.worker.start();}}public void onDestroy() {super.onDestroy();Log.e(TAG, "onDestroy: ");if (this.worker != null this.worker.isRunning()) {this.worker.interrupt();this.worker = null;}}protected String getRequestAuthor(String params) {String requestAuthor = null;try {JSONObject jsonObject = new JSONObject(params);if (jsonObject.has(SDKConstants.KEY_CLIENT_REQUEST_AUTHOR)) {requestAuthor = jsonObject.optString(SDKConstants.KEY_CLIENT_REQUEST_AUTHOR);}} catch (JSONException e) {Log.e(TAG, "getRequestAuthor: ", e);}return requestAuthor;}protected void offerReq(JsonProtocolManager.Message message) {this.worker.offerReq(message);}//具体实现接口抽象出来给外部实现public interface ServiceCallback {void onEvent(int event, String msg);String onReceived(String params, Bundle bundle);}protected class WorkThread extends Thread {private final LinkedBlockingQueueJsonProtocolManager.Message msgLBQ = new LinkedBlockingQueue();private boolean isRunning = false;public void onEvent(int event, String msg) {if (mServiceCallback != null) {mServiceCallback.onEvent(event, msg);}}public void offerReq(JsonProtocolManager.Message message) {this.msgLBQ.offer(message);}public void run() {this.isRunning = true;while (this.isRunning) {Log.e(TAG, "running: ");try {JsonProtocolManager.Message msg = this.msgLBQ.take();if(!AsynService.this.send(msg)){//msgLBQ.offer(msg);}} catch (Exception e) {e.printStackTrace();}}Log.e(TAG, "running over: ");}boolean isRunning() {return this.isRunning;}}protected ServiceCallback mServiceCallback;public void setServiceCallback(ServiceCallback mLocalCallback) {this.mServiceCallback = mLocalCallback;}protected abstract boolean send(JsonProtocolManager.Message message); }接下来就是具体service的实现类 public class AidlService extends AsynService {private sta
http://www.hkea.cn/news/14302172/

相关文章:

  • 随州网站优化网站建设以及推广提案书
  • 外贸网站和内贸快捷网站建设
  • 学习php好的网站个人网站不能有盈利性质
  • 彩妆网站建设wordpress导航图标变成框框
  • 乐清住房和城乡建设部网站官网经过学习网站开发后的心得体会
  • 网站seo排名优化工具在线咖啡网站建设
  • 成都网站建站微盟登录
  • 做网站应该怎么做服装网站项目的设计方案
  • 信创网站南充市住房和城乡建设厅官方网站
  • 网站收费模板网站优化培训学校
  • 梦想小镇旅游官方网站建设企业管理咨询报告
  • 做欧洲电商看哪个网站吗网页设计工作室长沙
  • 如何进行网站性能优化网站导航面包屑
  • 建筑工程网上超市江苏短视频seo搜索
  • 国外服装定制网站重庆做网站
  • 网站建设目标规划南宁网上房地产
  • 电力建设网站做网站不买服务器百度能搜到
  • 网站开发 视频存储wordpress date
  • 网站如何做超级链接济南网站建设行知科技
  • 公司企业宣传片四川seo多少钱
  • 长春网站搭建wordpress增加标签页
  • 做网站步骤详解磁力搜索引擎torrentkitty
  • 合肥网站建设 一浪wordpress 平衡插件
  • 太原市手机微网站建设线在成都网站推广公司
  • wordpress大型站点免费建站模板
  • 网站管理人员队伍建设说明材料做一个小程序开发
  • 广州网站建设外贸想给公司做个网站 怎么做
  • 铭讯网站建设西安百姓网免费发布信息网
  • 蚌埠企业网站建设dedecms 迁移 wordpress
  • 电商网站建设课程建设银行信用卡积分兑换商城网站