【发布时间】:2023-03-31 03:12:01
【问题描述】:
在 java 中,我正在调用一个函数,该函数将文本文件的内容从 web 读取到变量中,但我的问题是文件的 url 在函数中是硬编码的。我想对不同的文件多次使用此功能。那么我该如何管理,在调用函数时添加文件的 url?
函数是;
public class readtextfile extends AsyncTask<String, Integer, String>{
private TextView description;
public readtextfile(TextView descriptiontext){
this.description = descriptiontext;
}
@Override
protected String doInBackground(String... params) {
URL url = null;
String result ="";
try {
url = new URL("http://example.com/description1.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String line = null;
while ((line = in.readLine()) != null) {
result+=line;
}
in.close();
}
catch (MalformedURLException e) {e.printStackTrace();}
catch (IOException e) {e.printStackTrace();}
return result;
}
protected void onProgressUpdate() {
//called when the background task makes any progress
}
protected void onPreExecute() {
//called before doInBackground() is started
}
@Override
protected void onPostExecute(String result) {
this.description.setText(result);
}
}
我在哪里调用函数:
public class PhotosActivity extends Activity {
TextView description;
String descriptiontext;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.photos_layout);
description = ((TextView)findViewById(R.id.description1));
new readtextfile(description).execute();
}
}
【问题讨论】:
-
你应该在询问developer.android.com/reference/android/os/AsyncTask.html之前阅读 AsyncTask 的文档
标签: java android file parameter-passing