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的更多相关文章
随机推荐
- Winform 自定义TabControl实现浏览器标签
作者:Gavin(daisong.michelangelo@gmail.com) 时间: Nov, 2015 封面图片为Gavin原创,请勿未经允许私自引 最近因为工作需要,要做一个桌面浏览器,和大多 ...
- shell 脚本基础知识详细介绍(二)
SimonSu 博客 评论墙 读者墙 链接 关于 linux中的sh脚本语法 玩linux都知道sh脚本的方便,但如何编写sh脚本却是像我这样的新手和菜鸟的难题.能不能编写得出来是一回事,了不了解又是 ...
- 蓝桥杯 算法训练 ALGO-21 装箱问题
算法训练 装箱问题 时间限制:1.0s 内存限制:256.0MB 问题描述 有一个箱子容量为V(正整数,0<=V<=20000),同时有n个物品(0<n<=30),每 ...
- java代码getHostAddress .getHostName()的练习
总结:主机名,ip地址是可以实现的,关键是要掌握 package com.aa; import java.io.IOException; import java.net.*; public class ...
- python开发模块基础:collections模块¶miko模块
一,collections模块 在内置数据类型(dict.list.set.tuple)的基础上,collections模块还提供了几个额外的数据类型:Counter.deque.defaultdic ...
- class_create(),class_device_create()创建/dev/xxx 名字
在刚开始写Linux设备驱动程序的时候,很多时候都是利用mknod命令手动创建设备节点,实际上Linux内核为我们提供了一组函数,可以用来在模块加载的时候自动在/dev目录下创建相应设备节点,并在卸载 ...
- Unity3D的坑系列:你真想发布WinPhone版吗?
Unity 4.2加入了支持WinPhone发布,本来是一件令人开心的事情,不过最近听了Unity技术支持的一个事情后就发现,原来发布WinPhone版也是一个坑. 实际上如果你用Unity做小游戏发 ...
- VS加载项目时报错 尚未配置为Web项目XXXX指定的本地IIS
网上找的几个方法都不行 最后自己解决了.首先打开该项目得csproj文件,找到<ProjectExtensions>这个标签,是在最后部分,然后把<UseIIS>True< ...
- python's fifteenth day for me 递归函数
递归... def age(n): if n == 1: return 18 else: return age(n-1)+2 # 反复调用函数age() print(age(4)) l = [1,3, ...
- python学习——练习题(4)
""" 题目:输入某年某月某日,判断这一天是这一年的第几天? """ import datetime import time from fu ...