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

温州哪里有网站优化怎样用js做网站轮播图

温州哪里有网站优化,怎样用js做网站轮播图,苏州建设网站的公司,电子商城网站开发目录 5、 谁来写Proxy及Stub类呢? 如何考虑人的分工 IA接口知识取得的难题 在编程上#xff0c;有什么技术可以实现这个方法#xff1f; 范例 5、 谁来写Proxy及Stub类呢? -- 强龙提供AIDL工具#xff0c;给地头蛇产出Proxy和Stub类 如何考虑人的分工 由框架开发者…目录 5、 谁来写Proxy及Stub类呢? 如何考虑人的分工 IA接口知识取得的难题 在编程上有什么技术可以实现这个方法 范例 5、 谁来写Proxy及Stub类呢? -- 强龙提供AIDL工具给地头蛇产出Proxy和Stub类 如何考虑人的分工 由框架开发者来撰写Proxy-Stub类才能减轻开发者的负担。框架分为 天子框架和曹操框架。因此 应该由两者(天子或曹操)之一来撰写Proxy-Stub类。   IA接口知识取得的难题 但是有个难题 IA接口(如下图所示)的内容必须等到买主来了才会知道。在框架开发阶段买主还没来 IA接口的知识无法取得又如何定义IA接口呢? 没有IA接口定义又如何撰写Stub和Proxy类呢? 好办法是 “强龙(天子或曹操)撰写代码(在先) 然后地头蛇(App开发者)定义接口(在后)。 ” 在编程上有什么技术可以实现这个方法 技术之一是 類別模板(class template)例如强龙撰写模板   template class T class SomeClass {private:T data;public:SomeClass() { }void set(T da){ data da; } }; 地头蛇利用模板来生成一个类 SomeClassInteger x; 由于接口(interface)是一种特殊的类(class)所以也可以定义模板如下   templateinterface Iclass BinderProxy{// ………}; 地头蛇利用模板来生成一个类除了模板之外还有其它编程技术可以实现强龙写代码地头蛇定义接口的方案吗?答案是    程序生成器(program generator)    例如 Android的aidl.exe AIDL AIDL的目的是定义Proxy/Stub来封装IBinder接口以便产生更亲切贴心的新接口。•所以在应用程序里可以选择使用IBinder接口也可以使用AIDL来定义出接口。AIDL的目的是定义Proxy/Stub来封装IBinder接口以便产生更亲切贴心的新接口。所以在应用程序里可以选择使用IBinder接口也可以使用AIDL来定义出新接口。由于IBinder接口只提供单一函数(即transact()函数)来进行远距通信呼叫起来比较不方便。所以Android提供aidl.exe工具来协助产出Proxy和Stub类别以化解这个困难。只要你善于使用开发环境的工具(如Android的aidl.exe软件工具)自动产生Proxy和Stub类别的程序代码那就很方便 了。   范例 此范例使用Android-SDK的/tools/里的aidl.exe工具程序根据接口定义档(如下述的mp3PlayerInterface.aidl)而自动产出Proxy及Stub类别其结构如下 藉由开发工具自动产出Proxy及Stub类的代码再分别转交给ac01和mp3Binder开发者。此范例程序执行时出现画面如下依据UI画面的两项功能 Play和 Stop以Java定义接口如下的代码 // mp3PlayerInterface.aidl interface mp3PlayerInterface mp3PlayerInterface{void play();void stop(); } 使用Android-SDK所含的aidl.exe工具将上述的mp3PlayerInterface.aidl档翻译成为下述的mp3PlayerInterface.java档案。 // mp3PlayerInterface.java /* * This file is auto-generated. DO NOT MODIFY. * Original file: mp3PlayerInterface.aidl */ // ……… public interface mp3PlayerInterface extends android.os.IInterface {/** Local-side IPC implementation stub class. */public static abstract class Stub extends android.os.Binder implements com.misoo.pkgx.mp3PlayerInterface{// ……….public boolean onTransact(int code, android.os.Parcel data, android.os.Parcel reply, int flags) throws android.os.RemoteException{switch (code){case INTERFACE_TRANSACTION:{reply.writeString(DESCRIPTOR);return true;}case TRANSACTION_play:{data.enforceInterface(DESCRIPTOR);this.play();reply.writeNoException();return true;}case TRANSACTION_stop:{data.enforceInterface(DESCRIPTOR);this.stop();reply.writeNoException();return true;}}return super.onTransact(code, data, reply, flags);}private static class Proxy implements com.misoo.pkgx.mp3PlayerInterface{private android.os.IBinder mRemote;//………….public void play() throws android.os.RemoteException{android.os.Parcel _data android.os.Parcel.obtain();android.os.Parcel _reply android.os.Parcel.obtain();try {_data.writeInterfaceToken(DESCRIPTOR);mRemote.transact(Stub.TRANSACTION_play, _data, _reply, 0);_reply.readException();}finally {_reply.recycle();_data.recycle();} }}public void stop() throws android.os.RemoteException{android.os.Parcel _data android.os.Parcel.obtain();android.os.Parcel _reply android.os.Parcel.obtain();try {_data.writeInterfaceToken(DESCRIPTOR);mRemote.transact(Stub.TRANSACTION_stop, _data, _reply, 0);_reply.readException();}finally {_reply.recycle();_data.recycle();}}static final int TRANSACTION_play (IBinder.FIRST_CALL_TRANSACTION 0);static final int TRANSACTION_stop (IBinder.FIRST_CALL_TRANSACTION 1);}public void play() throws android.os.RemoteException;public void stop() throws android.os.RemoteException; } 表面上此mp3PlayerInterface.java是蛮复杂的其实它的结构是清晰又简单的只要对于类继承、反向調用和接口等面向对象观念有足够的认识就很容易理解了。 // mp3Binder.java package com.misoo.pkgx; import android.content.Context; import android.media.MediaPlayer; import android.util.Log;public class mp3Binder extends mp3PlayerInterface.Stub{private MediaPlayer mPlayer null;private Context ctx;public mp3Binder(Context cx){ ctx cx; }public void play(){if(mPlayer ! null) return;mPlayer MediaPlayer.create(ctx, R.raw.test_cbr);try { mPlayer.start();} catch (Exception e){ Log.e(StartPlay, error: e.getMessage(), e); }}public void stop(){if (mPlayer ! null){ mPlayer.stop(); mPlayer.release(); mPlayer null; }} } 撰写mp3RemoteService类   // mp3Service.java package com.misoo.pkgx; import android.app.Service; import android.content.Intent; import android.os.IBinder;public class mp3Service extends Service {IBinder ib null;Override public void onCreate() {super.onCreate();ib new mp3Binder(this.getApplicationContext());}Override public void onDestroy() { }Override public IBinder onBind(Intent intent) {return ib;} }// ac01.java // ……… public class ac01 extends Activity implements OnClickListener {//……….private PlayerProxy pProxy null;public void onCreate(Bundle icicle) {// ………startService(new Intent(com.misoo.pkgx.REMOTE_SERVICE));bindService(new Intent(com.misoo.pkgx.REMOTE_SERVICE),mConnection, Context.BIND_AUTO_CREATE);}private ServiceConnection mConnection new ServiceConnection() {public void onServiceConnected(ComponentName className,IBinder ibinder) {pProxy mp3PlayerInterface.Stub.asInterface(ibinder);}public void onServiceDisconnected(ComponentName className) {}};public void onClick(View v) {switch (v.getId()) {case 101: pProxy.play(); tv.setText(pProxy.getStatus()); break;case 102: pProxy.stop(); tv.setText(pProxy.getStatus()); break;case 103:unbindService(mConnection);stopService(new Intent(com.misoo.pkgx.REMOTE_SERVICE));finish(); break;}} } 对于Anrdoid的初学者而言 Android的        AIDL机制可说是最难弄懂的。
文章转载自:
http://www.morning.gpcy.cn.gov.cn.gpcy.cn
http://www.morning.rbyz.cn.gov.cn.rbyz.cn
http://www.morning.zmbzl.cn.gov.cn.zmbzl.cn
http://www.morning.ytnn.cn.gov.cn.ytnn.cn
http://www.morning.zdgp.cn.gov.cn.zdgp.cn
http://www.morning.rwlns.cn.gov.cn.rwlns.cn
http://www.morning.4q9h.cn.gov.cn.4q9h.cn
http://www.morning.ghccq.cn.gov.cn.ghccq.cn
http://www.morning.spwm.cn.gov.cn.spwm.cn
http://www.morning.yysqz.cn.gov.cn.yysqz.cn
http://www.morning.jjhng.cn.gov.cn.jjhng.cn
http://www.morning.fqmbt.cn.gov.cn.fqmbt.cn
http://www.morning.kgltb.cn.gov.cn.kgltb.cn
http://www.morning.htpjl.cn.gov.cn.htpjl.cn
http://www.morning.kmqms.cn.gov.cn.kmqms.cn
http://www.morning.tkjh.cn.gov.cn.tkjh.cn
http://www.morning.ssqwr.cn.gov.cn.ssqwr.cn
http://www.morning.lxhrq.cn.gov.cn.lxhrq.cn
http://www.morning.yzdth.cn.gov.cn.yzdth.cn
http://www.morning.plchy.cn.gov.cn.plchy.cn
http://www.morning.cbmqq.cn.gov.cn.cbmqq.cn
http://www.morning.gjlxn.cn.gov.cn.gjlxn.cn
http://www.morning.mljtx.cn.gov.cn.mljtx.cn
http://www.morning.kgxrq.cn.gov.cn.kgxrq.cn
http://www.morning.lsfbb.cn.gov.cn.lsfbb.cn
http://www.morning.hrzky.cn.gov.cn.hrzky.cn
http://www.morning.spbp.cn.gov.cn.spbp.cn
http://www.morning.mjtgt.cn.gov.cn.mjtgt.cn
http://www.morning.c7510.cn.gov.cn.c7510.cn
http://www.morning.jikuxy.com.gov.cn.jikuxy.com
http://www.morning.bnxnq.cn.gov.cn.bnxnq.cn
http://www.morning.qcsbs.cn.gov.cn.qcsbs.cn
http://www.morning.qgjxy.cn.gov.cn.qgjxy.cn
http://www.morning.mfrb.cn.gov.cn.mfrb.cn
http://www.morning.tnqk.cn.gov.cn.tnqk.cn
http://www.morning.kmwbq.cn.gov.cn.kmwbq.cn
http://www.morning.wdrxh.cn.gov.cn.wdrxh.cn
http://www.morning.jcffp.cn.gov.cn.jcffp.cn
http://www.morning.nbnpb.cn.gov.cn.nbnpb.cn
http://www.morning.dblgm.cn.gov.cn.dblgm.cn
http://www.morning.dwfzm.cn.gov.cn.dwfzm.cn
http://www.morning.yrflh.cn.gov.cn.yrflh.cn
http://www.morning.mszls.cn.gov.cn.mszls.cn
http://www.morning.wnkbf.cn.gov.cn.wnkbf.cn
http://www.morning.xswrb.cn.gov.cn.xswrb.cn
http://www.morning.flqkp.cn.gov.cn.flqkp.cn
http://www.morning.kpcdc.cn.gov.cn.kpcdc.cn
http://www.morning.yfnhg.cn.gov.cn.yfnhg.cn
http://www.morning.ttxnj.cn.gov.cn.ttxnj.cn
http://www.morning.pfcrq.cn.gov.cn.pfcrq.cn
http://www.morning.pjrql.cn.gov.cn.pjrql.cn
http://www.morning.dnzyx.cn.gov.cn.dnzyx.cn
http://www.morning.rbylq.cn.gov.cn.rbylq.cn
http://www.morning.gqfbh.cn.gov.cn.gqfbh.cn
http://www.morning.jcfdk.cn.gov.cn.jcfdk.cn
http://www.morning.nqwkn.cn.gov.cn.nqwkn.cn
http://www.morning.gzgwn.cn.gov.cn.gzgwn.cn
http://www.morning.hbpjb.cn.gov.cn.hbpjb.cn
http://www.morning.mqdr.cn.gov.cn.mqdr.cn
http://www.morning.yhwxn.cn.gov.cn.yhwxn.cn
http://www.morning.yxlpj.cn.gov.cn.yxlpj.cn
http://www.morning.dskmq.cn.gov.cn.dskmq.cn
http://www.morning.zqcdl.cn.gov.cn.zqcdl.cn
http://www.morning.zqzzn.cn.gov.cn.zqzzn.cn
http://www.morning.pkrtz.cn.gov.cn.pkrtz.cn
http://www.morning.inheatherskitchen.com.gov.cn.inheatherskitchen.com
http://www.morning.lsfrc.cn.gov.cn.lsfrc.cn
http://www.morning.zzbwjy.cn.gov.cn.zzbwjy.cn
http://www.morning.rwyw.cn.gov.cn.rwyw.cn
http://www.morning.wnywk.cn.gov.cn.wnywk.cn
http://www.morning.xhqr.cn.gov.cn.xhqr.cn
http://www.morning.nnrqg.cn.gov.cn.nnrqg.cn
http://www.morning.kcfnp.cn.gov.cn.kcfnp.cn
http://www.morning.mjwnc.cn.gov.cn.mjwnc.cn
http://www.morning.tnyanzou.com.gov.cn.tnyanzou.com
http://www.morning.jtdrz.cn.gov.cn.jtdrz.cn
http://www.morning.hlshn.cn.gov.cn.hlshn.cn
http://www.morning.zfwjh.cn.gov.cn.zfwjh.cn
http://www.morning.gmdtk.cn.gov.cn.gmdtk.cn
http://www.morning.horihe.com.gov.cn.horihe.com
http://www.tj-hxxt.cn/news/256578.html

相关文章:

  • seo查询 站长之家网站建设前端
  • 旅游网站技术流程图电商网站零售客户
  • 网站开发文档 php做加盟网站哪个最好
  • 自己制作网站appwordpress 周生生
  • 网站 空间 备案手机网站制作解决方案
  • 天津教育学会网站建设uc官网网站开发者中心
  • 无锡网站排名推广网站做支付需要准备什么东西吗
  • 专业做视频的网站有哪些桐城住房建设网站
  • 顺义便宜的建站公司哪里有服务好的网站建设
  • internet网站建设试卷wordpress origin 下载
  • 个人网站模板html 下载网络服务器无响应原因
  • 东莞网站推广怎么样免费咨询产科医生
  • 崇川区城乡建设局网站工程公司财务制度及流程
  • 网站自定义功能实现百姓装潢上海门店具体地址
  • 网站建设验收评审标准游戏推广员怎么做
  • 中国那些企业做网站做得好公司网站介绍范文
  • 网站做3年网站开发 网页制作
  • 定制型网站wordpress重置后导航没反应
  • 苏州专业做网站比较好的公司电商软件开发费用
  • 寻找东莞微信网站建设万网封停慧聪事件
  • 搜索引擎排名谷歌关键词优化排名系统
  • 网站升级中模板发布信息的免费平台有哪些
  • 旅游网站图片凡科建站免费
  • 网站建设分为几种网站恶意做评论
  • 网站界面设计软件上海网站建设费用
  • wordpress有哪些工具栏淄博网站优化首选公司
  • wordpress站点网址做网站属于什么行业
  • 做淘口令的网站iis网站目录权限设置
  • 商场设计案例贵州快速整站优化
  • 网站建设域名怎么用网站建设常出现的问题