如何将.txt文件从网站加载到android textview?

如何将.txt文件从网站加载到android textview?,android,web,Android,Web,我只是想知道如何将.txt文件从网站加载到我们在线连接的android应用程序 我只是想使用internet将在线应用程序中的文本加载到文本视图中,有没有最好的方法可以做到这一点 由于我对android非常陌生,所以我已经通过了很多关于堆栈溢出的教程和问题,但对我来说并不适用 提前谢谢 将此异步任务嵌入要显示文本的活动中: private class LoadTextFileTask extends AsyncTask<String, Void, String> { priv

我只是想知道如何将.txt文件从网站加载到我们在线连接的android应用程序

我只是想使用internet将在线应用程序中的文本加载到文本视图中,有没有最好的方法可以做到这一点

由于我对android非常陌生,所以我已经通过了很多关于堆栈溢出的教程和问题,但对我来说并不适用


提前谢谢

将此异步任务嵌入要显示文本的活动中:

private class LoadTextFileTask extends AsyncTask<String, Void, String> {
    private TextView txtView;

    public LoadTextFileTask(TextView txtView) {
        this.txtView = txtView;
    }

    protected String doInBackground(String... urls) {
        String url = urls[0];
        Log.d(TAG, "fetching: " + url);
        try {
            URL obj = new URL(url);
            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
            con.setRequestMethod("GET");
            con.setRequestProperty("User-Agent", "Mozilla/5.0");
            if (con.getResponseCode() != 200)
                throw new IOException();
            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
            String inputLine;
            StringBuffer response = new StringBuffer();
            while ((inputLine = in.readLine()) != null)
                response.append(inputLine);
            in.close();
            return response.toString();
        } catch (IOException e) {
            e.printStackTrace();
            Log.e(TAG, "error downloading file", e);
        }
        return null;
    }

    protected void onPostExecute(String text) {
        if (text != null) {
            txtView.setText(text);
        }
    }
}

将此异步任务嵌入要显示文本的活动中:

private class LoadTextFileTask extends AsyncTask<String, Void, String> {
    private TextView txtView;

    public LoadTextFileTask(TextView txtView) {
        this.txtView = txtView;
    }

    protected String doInBackground(String... urls) {
        String url = urls[0];
        Log.d(TAG, "fetching: " + url);
        try {
            URL obj = new URL(url);
            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
            con.setRequestMethod("GET");
            con.setRequestProperty("User-Agent", "Mozilla/5.0");
            if (con.getResponseCode() != 200)
                throw new IOException();
            BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
            String inputLine;
            StringBuffer response = new StringBuffer();
            while ((inputLine = in.readLine()) != null)
                response.append(inputLine);
            in.close();
            return response.toString();
        } catch (IOException e) {
            e.printStackTrace();
            Log.e(TAG, "error downloading file", e);
        }
        return null;
    }

    protected void onPostExecute(String text) {
        if (text != null) {
            txtView.setText(text);
        }
    }
}

你可以使用谷歌提供和建议的截击库。 Gradle dependency'com.mcxiaoke.volley:library:1.0.10'


希望能有帮助

你可以使用谷歌提供和建议的截击库。 Gradle dependency'com.mcxiaoke.volley:library:1.0.10'


希望能有帮助

查看。查看的副本。查看的副本。良好的副本,尽管似乎没有必要使用StringBuffer而不是StringBuilder,因为它的任何给定实例仅由一个线程使用。良好,尽管似乎没有必要使用StringBuffer而不是StringBuilder,因为它的任何给定实例只被一个线程使用。
    String url = "your_txt_file_url";
    StringRequest request = new StringRequest(url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            //response is what you want :)
        }
    }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            //Error occurred
        }
    });

    RequestQueue queue = Volley.newRequestQueue(this);
    queue.add(request);