在前面的三篇博客中,我们已经成功向系统注册了我们自己的服务,并通过服务访问hal层,hal层会真正和linux kernel交互。所以这一节,自然就是写一个app来测试我们前面所有的工作是否正确了。
app的编写还是在集成开发环境下比较方便。在android studio写好代码,然后删除不必要的文件和目录,最后把代码放到android源码目录下编译。我们的应用需要用到一些公用api没有的类和方法,所以我们必须在系统下编译。
最后写好的代码只需要保留java目录、res目录和AndroidManifest.xml即可。
一.MainActivity.java
我们的代码很简单,只有一个java文件,在该文件中,只有两个Button,一个TextView和一个EditView,两个Button分别用于读取Linux驱动中的字符串和写入字符串,读取的字符串在TextView中显示,写入的字符串由EditView指定:
package com.konka.testhelloteserserviceapp;
import android.os.RemoteException;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.os.IHelloTestService;
import android.os.ServiceManager;
public class MainActivity extends Activity {
final String TAG = "jinwei";
Button write = null;
Button read = null;
TextView readText = null;
EditText writeEdit = null;
private IHelloTestService helloTestService = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
write = (Button) findViewById(R.id.write_button);
rea