package org.winplus.serial.utils;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.LineNumberReader;
import java.util.Iterator;
import java.util.Vector;
import android.util.Log;
public class SerialPortFinder {
private static final String TAG = "SerialPort";
private Vector<Driver> mDrivers = null;
public class Driver {
public Driver(String name, String root) {
mDriverName = name;
mDeviceRoot = root;
}
private String mDriverName;
private String mDeviceRoot;
Vector<File> mDevices = null;
public Vector<File> getDevices() {
if (mDevices == null) {
mDevices = new Vector<File>();
File dev = new File("/dev");
File[] files = dev.listFiles();
int i;
for (i = 0; i < files.length; i++) {
if (files[i].getAbsolutePath().startsWith(mDeviceRoot)) {
Log.d(TAG, "Found new device: " + files[i]);
mDevices.add(files[i]);
}
}
}
return mDevices;
}
public String getName() {
return mDriverName;
}
}
Vector<Driver> getDrivers() throws IOException {
if (mDrivers == null) {
mDrivers = new Vector<Driver>();
LineNumberReader r = new LineNumberReader(new FileReader(
"/proc/tty/drivers"));
String l;
while ((l = r.readLine()) != null) {
// Issue 3:
// Since driver name may contain spaces, we do not extract
// driver name with split()
String drivername = l.substring(0, 0x15).trim();
String[] w = l.split(" +");
if ((w.length >= 5) && (w[w.length - 1].equals("serial"))) {
Log.d(TAG, "Found new driver " + drivername + " on "
+ w[w.length - 4]);
mDrivers.add(new Driver(drivername, w[w.length - 4]));
}
}
r.close();
}
return mDrivers;
}
public String[] getAllDevices() {
Vector<String> devices = new Vector<String>();
// Parse each driver
Iterator<Driver> itdriv;
try {
itdriv = getDrivers().iterator();
while (itdriv.hasNext()) {
Driver driver = itdriv.next();
Iterator<File> itdev = driver.getDevices().iterator();
while (itdev.hasNext()) {
String device = itdev.next().getName();
String value = String.format("%s (%s)", device,
driver.getName());
devices.add(value);
}
}
} catch (IOException e) {
e.printStackTrace();
}
return devices.toArray(new String[devices.size()]);
}
public String[] getAllDevicesPath() {
Vector<String> devices = new Vector<String>();
// Parse each driver
Iterator<Driver> itdriv;
try {
itdriv = getDrivers().iterator();
while (itdriv.hasNext()) {
Driver driver = itdriv.next();
Iterator<File> itdev = driver.getDevices().iterator();
while (itdev.hasNext()) {
String device = itdev.next().getAbsolutePath();
devices.add(device);
}
}
} catch (IOException e) {
e.printStackTrace();
}
return devices.toArray(new String[devices.size()]);
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
android的串口的demo
共48个文件
class:17个
java:6个
png:6个
4星 · 超过85%的资源 需积分: 10 41 下载量 128 浏览量
2013-10-18
16:05:56
上传
评论
收藏 167KB RAR 举报
温馨提示
涉及到android串口通信很适用的的方法,通过这个demo可以掌握基本的android串口通信
资源推荐
资源详情
资源评论
收起资源包目录
android串口编程.rar (48个子文件)
android串口编程
SerialDemo
SerialDemo
bin
classes.dex 13KB
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
ic_launcher.png 4KB
drawable-mdpi
ic_launcher.png 2KB
SerialDemo.apk 20KB
classes
org
winplus
serial
SerialPortActivity$ReadThread.class 1KB
R$layout.class 394B
R$id.class 435B
R$drawable.class 407B
SerialDemoActivity$2.class 988B
SerialDemoActivity.class 1KB
SerialDemoActivity$1.class 2KB
R$attr.class 340B
R.class 579B
R$array.class 440B
SerialPortActivity.class 3KB
SerialPortActivity$1.class 905B
R$string.class 516B
Application.class 2KB
utils
SerialPortFinder.class 4KB
SerialPort.class 2KB
SerialPortFinder$Driver.class 2KB
SerialPort.h 784B
resources.ap_ 12KB
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
ic_launcher.png 4KB
values
strings.xml 444B
baudrates.xml 2KB
drawable-mdpi
ic_launcher.png 3KB
layout
main.xml 840B
assets
gen
org
winplus
serial
R.java 1KB
jni
SerialPort.c 5KB
Android.mk 211B
Application.mk 36B
SerialPort.h 784B
proguard.cfg 1KB
Android.mk 0B
src
org
winplus
serial
SerialDemoActivity.java 2KB
Application.java 1KB
SerialPortActivity.java 2KB
utils
SerialPortFinder.java 3KB
SerialPort.java 2KB
.project 846B
.classpath 364B
project.properties 361B
AndroidManifest.xml 742B
libs
armeabi
libserial_port.so 29KB
SerialDemo.rar 81KB
共 48 条
- 1
cbhy1988
- 粉丝: 0
- 资源: 18
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页