//app类packagecom.qudoulicai.www.aidltest;importandroid.content.ComponentName;importandroid.content.Intent;importandroid.content.ServiceConnection;importandroid.os.Bundle;importandroid.os.IBinder;importandroid.os.RemoteException;importandroid.support.design.widget.FloatingActionButton;importandroid.support.design.widget.Snackbar;importandroid.support.v7.app.AppCompatActivity;importandroid.support.v7.widget.Toolbar;importandroid.util.Log;importandroid.view.View;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.widget.Button;importandroid.widget.TextView;importcom.qudoulicai.www.mylibrary.*;importcom.qudoulicai.www.mylibrary.Aidlone;publicclassMainActivityextendsAppCompatActivity{privateTextViewtitles;publicButtononclick;Aidloneaidlone;@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);titles=(TextView)findViewById(R.id.titles);onclick=(Button)findViewById(R.id.onclick);onclick.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Intentintent=newIntent();//5.0版本则设置为显示意图//否则设置为Intentintent=newIntent("youaction("参考mylibrary清单文件")")intent.setClass(MainActivity.this,MAIDLService.class);bindService(intent,connection,BIND_AUTO_CREATE);}});}ServiceConnectionconnection=newServiceConnection(){@OverridepublicvoidonServiceConnected(ComponentNamename,IBinderservice){try{aidlone=Aidlone.Stub.asInterface(service);Log.e("张三",aidlone.getName().length()+"");titles.setText(aidlone.getName());}catch(Exceptione){e.printStackTrace();}}//@OverridepublicvoidonServiceDisconnected(ComponentNamename){Log.e("张三","失败");}};}//app中的aidl//Aidlone.aidlpackagecom.qudoulicai.www.aidltest;//Declareanynon-defaulttypesherewithimportstatementsinterfaceAidlone{StringgetName();}//mylibrary依赖包//服务类packagecom.qudoulicai.www.mylibrary;importandroid.app.Service;importandroid.content.Intent;importandroid.os.IBinder;importandroid.os.RemoteException;importandroid.support.annotation.Nullable;/***CreatedbyLenovoon2015/12/3.*/publicclassMAIDLServiceextendsService{publicMAIDLService(){}Aidlone.Stubsumber=newAidlone.Stub(){@OverridepublicStringgetName()throwsRemoteException{return"张三";}};@Nullable@OverridepublicIBinderonBind(Intentintent){returnsumber;}}//aidl文件//Aidlone.aidlpackagecom.qudoulicai.www.mylibrary;//Declareanynon-defaulttypesherewithimportstatementsinterfaceAidlone{StringgetName();}
//mylibrary清单文件<serviceandroid:name="com.qudoulicai.www.mylibrary.MAIDLService"android:process=":remote"><intent-filter><actionandroid:name="com.qudoulicai.www.mylibrary.MAIDLService"></action></intent-filter></service>
//app中的布局文件<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"app:layout_behavior="@string/appbar_scrolling_view_behavior"tools:context="com.qudoulicai.www.aidltest.MainActivity"tools:showIn="@layout/activity_main"><TextViewandroid:id="@+id/titles"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="HelloWorld!"/><Buttonandroid:id="@+id/onclick"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="单击"/></LinearLayout>



//ps:有不足之处请多包涵。。。创建依赖文件记得引用文件“

compileproject(':"youlibrayname"')



更多相关文章

  1. Android将assets文件复制到sd卡上
  2. Windows下使用platform.pk8 和platform.x509.pem生成Android stu
  3. android 上传文件到服务器
  4. Android读取XML文件(DOM)
  5. Android判断文件类型(视频、音频、图片等)
  6. Android如何获取asset目录下所有文件的路径
  7. Android 本地文件管理类

随机推荐

  1. Android电量监控
  2. Android动了Java的奶酪?
  3. Android(安卓)Vold架构
  4. Android服务器端和客户端设计APK升级
  5. [置顶] Android源码分享
  6. 基于zxing-lib三步实现Android二维码应用
  7. Intent总结
  8. Spinner下拉列表装填数据的两种方法
  9. Android控件笔记——使用TextView实现跑
  10. Android(安卓)通过 Intent 传递类对象