如何在Android客户端上从Java服务器读取文本
这是我的第一段代码,它不是fizzbuzz游戏或其他游戏。我正在尝试创建一个在android上运行的消息传递应用程序,当前的工作流程如下: 客户端发送消息->服务器在本地文本文件上存储文本->客户端接收文本文件并在TextView元素中显示该文本文件 目前,我有如下功能,从服务器端使用文件发送printwriter中的内容,没有错误 我在客户端还有一个函数,它接收传入的流,并据称在textview上显示该流 分别有以下功能: 服务器:如何在Android客户端上从Java服务器读取文本,java,android,android-studio,sockets,printwriter,Java,Android,Android Studio,Sockets,Printwriter,这是我的第一段代码,它不是fizzbuzz游戏或其他游戏。我正在尝试创建一个在android上运行的消息传递应用程序,当前的工作流程如下: 客户端发送消息->服务器在本地文本文件上存储文本->客户端接收文本文件并在TextView元素中显示该文本文件 目前,我有如下功能,从服务器端使用文件发送printwriter中的内容,没有错误 我在客户端还有一个函数,它接收传入的流,并据称在textview上显示该流 分别有以下功能: 服务器: public void readContentFromFil
public void readContentFromFileWriteToSocket(Socket c){
try{
FileInputStream fileIn = new FileInputStream("content");
PrintWriter out = new PrintWriter(c.getOutputStream(), true);
out.write(fileIn.toString());
}catch(IOException ignored){
}
}
客户:
private class receiveSocketInput extends AsyncTask<Void, Void, Void>{
@RequiresApi(api = Build.VERSION_CODES.KITKAT)
protected Void doInBackground(Void...voids){
try {
netConnect n = new netConnect();
n.doInBackground();
BufferedReader in = new BufferedReader(
new InputStreamReader(n.server.getInputStream()));
String display = in.readLine();
TextView board = (TextView) findViewById(R.id.textView);
board.setText(display);
}catch(IOException ignored){
ignored.printStackTrace();
}
return null;
}
}
私有类receiveSocketInput扩展了异步任务{
@RequiresApi(api=Build.VERSION\u CODES.KITKAT)
受保护的空位背景(空位…空位){
试一试{
netConnect n=新的netConnect();
n、 doInBackground();
BufferedReader in=新的BufferedReader(
新的InputStreamReader(n.server.getInputStream());
字符串显示=in.readLine();
TextView板=(TextView)findViewById(R.id.TextView);
board.setText(显示);
}捕获(忽略IOException){
已忽略。printStackTrace();
}
返回null;
}
}
该应用程序不显示文本流,或任何与此相关的内容。它挂在缓冲读取器的正前方,不执行任何操作
我意识到我的编码可能有点混乱,为此我提前道歉。
n.doInBackground()代码>那里做了什么,?blackapps doInBackground是类扩展AsyncTask时所需的函数。该特定函数连接到我在服务器和客户端之间建立的套接字。考虑到netConnect在应用程序的所有其他功能上都起作用,我不相信套接字会成为问题。你不允许自己打电话给doInBackground。执行您的活动,将自动调用doInBackground。活动=异步任务