使用Java代码直接操作设备文件来测试Linux驱动
使用Java代码直接操作设备文件来测试Linux驱动
如果Android拥有root权限,完全可以直接使用Java代码操作/dev/wordcount设备文件(没有root权限,Linux驱动模块是无法安装的)。本节将介绍如何使用Java代码来测试Linux驱动(测试程序不使用一行C/C++代码)。本节示例的路径如下:毕业论文
随书光盘:<光盘根目录>/sources/ch06/word_count/word_count_java
虚拟环境:/root/drivers/ch06/word_count/word_count_java
word_count_java工程中只有一个源代码文件WordCountJavaTestMain.java。该文件的内容如下:
[java] view plaincopyprint?
01.package mobile.android.word.count.java;
02.
03.import java.io.FileInputStream;
04.import java.io.FileOutputStream;
05.import android.app.Activity;
06.import android.os.Bundle;
07.import android.view.View;
08.import android.widget.EditText;
09.import android.widget.TextView;
10.import android.widget.Toast;
11.
12.public class WordCountJavaTestMain extends Activity
13.{
14. private TextView tvWordCount;
15. private EditText etString;
16. @Override
17. public void onCreate(Bundle savedInstanceState)
18. {
19. super.onCreate(savedInstanceState);
20. setContentView(R.layout.main);
21. tvWordCount = (TextView) findViewById(R.id.textview_wordcount);
22. etString = (EditText) findViewById(R.id.edittext_string);
23. }
24. // “从/dev/wordcount读取单词数”按钮的执行代码
25. public void onClick_ReadWordCountFromDev(View view)
26. {
27. // 显示单词数
28. tvWordCount.setText("单词数:" + String.valueOf(readWordCountFromDev()));
29. }
30.// “向/dev/wordcount写入字符串”按钮的执行代码
31. public void onClick_WriteStringToDev(View view)
32. {
33. // 向/dev/wordcount设备文件写入字符串
34. writeStringToDev(etString.getText().toString());
35. Toast.makeText(this, "已向/dev/wordcount写入字符串", Toast.LENGTH_LONG).show();
36. }
37. // 下面是用Java实现的操作/dev/wordcount设备文件的代码
38.
39. // 读取/dev/wordcount设备文件中的单词数
40. private int readWordCountFromDev()
41. {
42. int n = 0;