我们有一个应用程序正在使用它来从服务器中获取一些图像,并且正在通过直接URL提取来实现。此外,还有每个URL的其他一些数据,例如其标题,缩略图URL,OriginalLinks等。
以下是我们当前获取数据的方式
public class Images {
public final static String[] Image_webLinks = new String[] {
"http://www.example.com/ImageURL_1/",
"http://www.example.com/ImageURL_2/",
"http://www.example.com/ImageURL_3/",
};
public final static String[] Image_Titles = new String[] {
"My Image 1",
"My Image 2",
"My Image 3",
};
public final static String[] ImageView_Urls = new String[] {
"http://www.example.com/Image_1.jpg",
"http://www.example.com/Image_2.jpg",
"http://www.example.com/Image_3.jpg",
};
public final static String[] ThumbnailUrls = new String[] {
"http://www.example.com/thumbnail_1.jpg",
"http://www.example.com/thumbnail_2.jpg",
"http://www.example.com/thumbnail_3.jpg",
};
}
我们知道这可能不是从服务器获取数据的正确方法,但是我们有一个简单的要求,是否有一种方法可以将String数据存储在某些文本文件中,然后直接从在线获取数据,从而每次更新字符串数据这样做,如果将来要添加额外的URL,则无需更新代码。我们只需要更新服务器内部的Text文件,可以吗?怎么样?
最佳答案
您可以使用此代码
new AsyncTask<String, Void, String>()
{
@Override
protected String doInBackground(String[] params) {
try
{
String line;
URL url = new URL("http://nomediakings.org/everyoneinsilico.txt");
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str="";
while ((line = in.readLine()) != null) {
str+=line;
}
in.close();
}catch (Exception ex)
{
ex.getMessage();
}
return null;
}
}.execute("");