我只是想知道如何将 .txt 文件从网站加载到我们的在线连接的Android应用程序。
我只是想在使用互联网的在线应用程序中将文本加载到文本视图,有没有最好的方法来做到这一点。
因为我对android非常新,所以经历了很多关于堆栈溢出的教程和问题但是没有为我工作。
提前谢谢。答案 0 :(得分:1)
将此AsyncTask嵌入要显示文本的活动中:
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);
}
}
}
如果要加载文本,请执行此任务,给定文件URL和TextView引用:
new LoadTextFileTask(yourTextView).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, yourTextFileURL);
答案 1 :(得分:0)
您可以使用Google提供和建议的排球库。 (Gradle依赖&#39; com.mcxiaoke.volley:library:1.0.10&#39;) https://www.youtube.com/watch?v=yhv8l9F44qo
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);
希望有所帮助!