Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android客户端上从Java服务器读取文本_Java_Android_Android Studio_Sockets_Printwriter - Fatal编程技术网

如何在Android客户端上从Java服务器读取文本

如何在Android客户端上从Java服务器读取文本,java,android,android-studio,sockets,printwriter,Java,Android,Android Studio,Sockets,Printwriter,这是我的第一段代码,它不是fizzbuzz游戏或其他游戏。我正在尝试创建一个在android上运行的消息传递应用程序,当前的工作流程如下: 客户端发送消息->服务器在本地文本文件上存储文本->客户端接收文本文件并在TextView元素中显示该文本文件 目前,我有如下功能,从服务器端使用文件发送printwriter中的内容,没有错误 我在客户端还有一个函数,它接收传入的流,并据称在textview上显示该流 分别有以下功能: 服务器: public void readContentFromFil

这是我的第一段代码,它不是fizzbuzz游戏或其他游戏。我正在尝试创建一个在android上运行的消息传递应用程序,当前的工作流程如下:

客户端发送消息->服务器在本地文本文件上存储文本->客户端接收文本文件并在TextView元素中显示该文本文件

目前,我有如下功能,从服务器端使用文件发送printwriter中的内容,没有错误

我在客户端还有一个函数,它接收传入的流,并据称在textview上显示该流

分别有以下功能:

服务器:

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。活动=异步任务