这是android studio的代码,可以正常地与我的Java应用程序进行套接字连接。(MessageSender.java)
Socket s;
DataOutputStream dos;
PrintWriter pw;
@Override
protected Void doInBackground(String... voids) {
String message = voids[0];
try{
s = new Socket("192.168.4.9", 7800);
pw = new PrintWriter(s.getOutputStream());
pw.write(message);
pw.flush();
pw.close();
s.close();
}
catch (IOException e){
e.printStackTrace();
}
return null;
}
我正在通过android studio从按钮发送文本到我的Main java程序,如下所示:
Worker worker1 = new Worker();
ss = new ServerSocket(7800);
while(true) {
s = ss.accept();
isr = new InputStreamReader(s.getInputStream());
br = new BufferedReader(isr);
message = br.readLine();
if (message.equals("START")) {
if(!started) {
started = true;
worker1.start();
}
}
}
我的问题是我想通过这种方式将字符串发送回android studio:
if (message.equals("SEND DATA TO ANDROID")) {
//Here is the part that I'm having trouble with. I want to send "Hello World" from java to android
}
而且我在android studio中也有MainActivity.java,它有几个按钮,可以通过这种方式发送数据。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1 = findViewById(R.id.button1);
button1.setOnClickListener(this);
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
Toast.makeText(this,"Start", Toast.LENGTH_SHORT).show();
messageSender = new MessageSender();
messageSender.execute("START");
break;
}
} 我该怎么做才能将字符串从Java发送到android?是否应该创建另一个套接字?我尝试创建另一个程序,但是该程序冻结了,我无法弄清楚。
不明白呀。。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。