当前位置: 首页 > 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.dnsts.com.cn/news/37735.html

相关文章:

  • 专业建站公司建站系统该规划哪些内容玄圭做网站怎么样
  • 模板建站总公司把html文件生成网址
  • 禹州做网站的网站开发实训
  • 功能型网站有哪些凡客精选
  • 微信开发网站制作分类建站cms系统
  • 主机壳 安装wordpress重庆网站推广优化
  • 网站设计就业岗位分析搜狗网站seo
  • 做网站哪个系统最安全如何优化seo关键词
  • 之江汇学校网站建设wordpress源代码如何在本地编辑
  • 企业网站如何提高足球比方类网站开发
  • 网站建站视频深圳航空人工服务电话
  • 国内网站服务器wordpress目录分页怎么弄
  • 天河区住房和建设水务局网站北京市住房城乡建设部网站首页
  • 微信公司网站wordpress手机仪表盘
  • 在猪八戒做网站有保障吗爱淘苗网站开发模式
  • 制作海报长春seo排名
  • 通信工程毕设可以做网站吗网站建设情况
  • 网站开发的思维导图素材模板网站
  • 网站建设数据库怎么选择北京建立公司网站
  • 平乡县网站建设建筑施工平台
  • 网站开发的常见编程语言有哪些什么语言做网站简单
  • 自适应网站建设方案wordpress 微博时间
  • 网站建设及政务工作自查计算机网站建设开题报告
  • 什么语言做网站简单制作简单门户网站步骤
  • 做电影网站如何盈利wordpress 显示指定分类文章列表
  • 一流的聊城做网站公司加强网站安全建设说明报告范文
  • 广西网站开发公司旅游网站官网
  • 建湖营销型网站建设工作室电子商务的网站的建设内容
  • 求个网站2021年能用网站开发合同.doc
  • 扁平式网站模板成都网站建设哪家强