//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判断文件类型(视频、音频、图片等)
  2. Android(安卓)视频缩略图之MediaMetadataRetriever
  3. Android(安卓)文件的选择
  4. Android读取XML文件(DOM)
  5. android 上传文件到服务器
  6. Android(安卓)文件下载与解压缩
  7. android 上传文件到服务器
  8. Android-线性布局的经典案例1-计算器
  9. NPM 和webpack 的基础使用

随机推荐

  1. android OpenGL开发使用JPCT-AE引擎显示3
  2. 为Android系统定制重启功能
  3. android zxing 4.7.1横屏改竖屏 screenOr
  4. Android系统的架构
  5. Android屏幕适配方案
  6. Android横竖屏+补充
  7. Android(安卓)数字签名学习笔记
  8. Android串口通信(Android(安卓)Studio)
  9. Android(安卓)Touch事件分发响应机制
  10. android的action