private static final String TAG = “IRemoteService”;
@Nullable
@Override
public IBinder onBind(Intent intent) {
return iBinder;
}
private IBinder iBinder = new IImoocAidl.Stub() {
@Override
public int add(int num1, int num2) throws RemoteException {
Log.e(TAG, "收到了远程的请求,请求的参数是:num1 = " + num1 + "num2 = " + num2);
return num1 + num2;
}
};
}
2.1.4、配置文件注册Service并启动Service配置文件注册:
android:exported=“true” /> 启动Service: public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Intent intent = new Intent(this, IRemoteService.class); startService(intent); } } 2.2、客户端 在同项目中新建一个名为client的module ClientActivity public class ClientActivity extends AppCompatActivity { EditText etNum1, etNum2; TextView tvRes; Button btnAdd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_client); etNum1 = findViewById(R.id.et_num1); etNum2 = findViewById(R.id.et_num2); tvRes = findViewById(R.id.tv_res); btnAdd = findViewById(R.id.btn_add); btnAdd.setonClickListener(new View.onClickListener() { @Override public void onClick(View view) { } }); } } 布局文件:
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” tools:context=".ClientActivity"> android:id="@+id/et_num1" android:layout_width=“match_parent” android:layout_height=“wrap_content” android:hint=“输入第一个数字” android:textSize=“22sp” app:layout_constraintLeft_toLeftOf=“parent” app:layout_constraintRight_toRightOf=“parent” app:layout_constraintTop_toTopOf=“parent” /> android:id="@+id/tv_add" android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:text="+" android:textSize=“100sp” app:layout_constraintLeft_toLeftOf=“parent” app:layout_constraintRight_toRightOf=“parent” app:layout_constraintTop_toBottomOf="@+id/et_num1" /> android:id="@+id/et_num2" android:layout_width=“match_parent” android:layout_height=“wrap_content” android:hint=“输入第二个数字” android:textSize=“22sp” app:layout_constraintLeft_toLeftOf=“parent” app:layout_constraintRight_toRightOf=“parent” app:layout_constraintTop_toBottomOf="@+id/tv_add" /> android:id="@+id/tv_res" android:layout_width=“wrap_content” android:layout_height=“wrap_content” android:layout_marginTop=“10dp” android:text=“计算结果” android:textSize=“40sp” app:layout_constraintLeft_toLeftOf=“parent” app:layout_constraintRight_toRightOf=“parent” app:layout_constraintTop_toBottomOf="@+id/et_num2" />
android:name=".IRemoteService"



