我想编写一个带有UI按钮读/写功能的Android应用程序 sysfs read
或 sysfs write
。
我在java.io.RandomAccessFile找到了以下示例代码。
package com.tutorialspoint;
import java.io.*;
public class RandomAccessFileDemo {
public static void main(String[] args) {
try {
// create a new RandomAccessFile with filename test
RandomAccessFile raf = new RandomAccessFile("c:/test.txt", "rw");
// write something in the file
raf.writeUTF("Hello World");
// set the file pointer at 0 position
raf.seek(0);
// read the first byte and print it
System.out.println("" + raf.read());
// set the file pointer at 4rth position
raf.seek(4);
// read the first byte and print it
System.out.println("" + raf.read());
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
有人可以告诉我如何使用Android sdk构建此代码。
答案 0 :(得分:5)
首先,确保您拥有该sysfs节点的权限(如果您正在开发用户应用程序,通常不会这样做。)
其次,我会说通常你不必直接从Android app与sysfs节点对话.Below app有Android Framework和HAL级别为你做了所有的抽象。
由于不确定你将要做什么,这里是我从Android LightsService获取的一个例子,它直接与sysfs节点对话,这可能对你有帮助。
216 private static final String FLASHLIGHT_FILE = "/sys/class/leds/spotlight/brightness";
...
236 try {
237 FileOutputStream fos = new FileOutputStream(FLASHLIGHT_FILE);
238 byte[] bytes = new byte[2];
239 bytes[0] = (byte)(on ? '1' : '0');
240 bytes[1] = '\n';
241 fos.write(bytes);
242 fos.close();
243 } catch (Exception e) {
244 // fail silently
245 }
246 }