dssfsfsfs
一直都好使啊。。好使 好使
MainActivity://overover
package com.example.sockettest;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketTimeoutException;
import com.example.sockettest.DataService.CarRecordBinder;
import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.ServiceConnection;
import android.os.Bundle;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity implements OnClickListener {
Socket socket = null;
String buffer = "";
public String line ;
TextView txt1;
Button btn1;
Button btn2;
Button btn3;
Button btn4;
public static DataService mService;
private String TAG = "";
TextView textview;
String geted1;
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
line = mService.getLine();
textview.setText(line) ;
}
};
public Handler myHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
if (msg.what == 0x11) {
// txt1.append("server:"+bundle.getString("msg")+"\n");
Toast.makeText(MainActivity.this, "发送成功! ", Toast.LENGTH_LONG)
.show();
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button) findViewById(R.id.app1);
btn1.setOnClickListener(this);
btn2 = (Button) findViewById(R.id.app2);
btn2.setOnClickListener(this);
btn3 = (Button) findViewById(R.id.app3);
btn3.setOnClickListener(this);
btn4 = (Button) findViewById(R.id.app4);
btn4.setOnClickListener(this);
textview = (TextView) findViewById(R.id.textview);
Intent i = new Intent("com.neusoft.radioserver.RadioGpsService");
bindService(i, mConnection, Context.BIND_AUTO_CREATE);
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("com.dede.dede");
registerReceiver(receiver, intentFilter);
}
class MyThread extends Thread {
public String txt1;
public MyThread(String str) {
txt1 = str;
}
@Override
public void run() {
// 定义消息
Message msg = new Message();
msg.what = 0x11;
Bundle bundle = new Bundle();
bundle.clear();
try {
// 连接服务器 并设置连接超时为5秒
socket = new Socket();
socket.connect(new InetSocketAddress("1.1.9.30", 30000), 5000);
// 获取输入输出流
OutputStream ou = socket.getOutputStream();
BufferedReader bff = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
// 读取发来服务器信息
// String line = null;
// buffer="";
// while ((line = bff.readLine()) != null) {
// buffer = line + buffer;
// }
// 向服务器发送信息
ou.write(txt1.getBytes());
ou.flush();
// 发送消息 修改UI线程中的组件
myHandler.sendMessage(msg);
// 关闭各种输入输出流
bff.close();
ou.close();
socket.close();
} catch (SocketTimeoutException aa) {
// 连接超时 在UI界面显示消息
bundle.putString("msg", "服务器连接失败!请检查网络是否打开");
msg.setData(bundle);
// 发送消息 修改UI线程中的组件
myHandler.sendMessage(msg);
} catch (IOException e) {
e.printStackTrace();
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.app1:
// 启动线程 向服务器发送和接收信息
new MyThread("APP1").start();
case R.id.app2:
// 启动线程 向服务器发送和接收信息
new MyThread("APP2").start();
case R.id.app3:
// 启动线程 向服务器发送和接收信息
new MyThread("APP3").start();
case R.id.app4:
// 启动线程 向服务器发送和接收信息
new MyThread("APP4").start();
}
}
private ServiceConnection mConnection = new ServiceConnection() {
public void onServiceConnected(ComponentName className, IBinder service) {
mService = ((CarRecordBinder) service).getService();
}
public void onServiceDisconnected(ComponentName className) {
Log.d(TAG, "disconnect service");
mService = null;
}
};
}
dssfsfsfs的更多相关文章
随机推荐
- xe 最大连接数限制、记录客户连接、心跳
xe 最大连接数限制.记录客户连接.心跳 //author: cxg unit DSServerContainer; interface uses SysUtils, Classes, IniF ...
- java中输入3个数,从大到小的输出。。。。
总结:我暂时不能理解,C语言时讲过,java里就不理解了 package com.a; import java.sql.Date; import java.util.Scanner; //输入三个数, ...
- 杂项-EMS:目录
ylbtech-杂项-EMS:目录 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 6.返回顶部 7.返回顶部 8.返回顶部 9.返回顶部 ...
- org/apache/hadoop/hbase/mapreduce/TableReducer:Unsupported major.minor version52.0
问题详情: 问题原因: <dependency> <groupId>org.apache.hbase</groupId> <artifactId& ...
- Rest之路 - Rest架构中的重要概念
资源 在Rest的架构之内,讲一切内容都是为资源.每一个资源都被定义为一个URI. 格式: <protocol>://<service-name>/<ResourceTy ...
- Py修行路 python基础 (二十一)logging日志模块 json序列化 正则表达式(re)
一.日志模块 两种配置方式:1.config函数 2.logger #1.config函数 不能输出到屏幕 #2.logger对象 (获取别人的信息,需要两个数据流:文件流和屏幕流需要将数据从两个数据 ...
- BugkuCTF 逆向
Easy_vb 下载文件,打开 用 IDA 或 OD 打开 在中间部分发现 flag 把 MCTF 改成 flag,就是正确的 flag 了 Easy_Re 下载附件,打开
- QR 码的位置检测符
QR码的位置检测符由三个同心正方形叠加而成.分别为: 7*7 modules的黑色正方形: 5*5 modules的白色正方形 : 3*3modules的黑色正方形. 三个用于定位检测的“回”形符号应 ...
- Mybatis工具Generator
转自:http://www.cuiyongzhi.com/post/36.html MyBatis Generator(以下简称为MBG),可以逆向生成持久层的基本代码,而且mybatis的实现方案比 ...
- java8新特性-lambda表达式和stream API的简单使用
一.为什么使用lambda Lambda 是一个 匿名函数,我们可以把 Lambda表达式理解为是 一段可以传递的代码(将代码像数据一样进行传递).可以写出更简洁.更灵活的代码.作为一种更紧凑的代码风 ...