手机为Service,pc为Client。
pc端代码:
Runtime.getRuntime().exec("adb forward tcp:10086 tcp:3321");
Socket socket = new Socket("localhost", 10086);
InputStream is = socket.getInputStream();
OutputStream os = socket.getOutputStream();
final BufferedReader br = new BufferedReader(new InputStreamReader(
is));
final PrintWriter pw = new PrintWriter(os);
new Thread() {
public void run() {
try {
String str;
while ((str = br.readLine())!=null) {
System.out.println("接收到的数据:" + str);
}
} catch (IOException e) {
e.printStackTrace();
}
};
}.start();
new Thread() {
public void run() {
Scanner input = new Scanner(System.in);
while (true) {
pw.println(input.next());
pw.flush();
System.out.println();
}
};
}.start();
Android端代码:
ServerSocket serverSocket = new ServerSocket(3321);
Socket socket = serverSocket.accept();
System.out.println("----------连接成功");
br = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
pw = new PrintWriter(socket.getOutputStream());
try {
String readLine;
while ((readLine = br.readLine()) != null) {
setText(readLine);
}
} catch (IOException e) {
e.printStackTrace();
}
这只是一个很简单的例子,可能会存在不少的bug,仅仅适合参考。