我们有一个应用程序正在使用它来从服务器中获取一些图像,并且正在通过直接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("");

07-24 09:23
查看更多