【问题标题】:Is There Any Way To Update String Array From Online File (Android)有没有办法从在线文件更新字符串数组(Android)
【发布时间】:2014-10-11 06:05:17
【问题描述】:

我正在开发一个图片库应用程序,我在其中从 URL 加载图像。我已将图像 URL 存储在字符串数组中:

public static String[] IMAGES = new String[]{
     "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTybItEfE2Xu-Or72BHw8uZf19_mV2Kr8cuuU8kKYrVbeZPXIeX-Q",
     "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTybItEfE2Xu-Or72BHw8uZf19_mV2Kr8cuuU8kKYrVbeZPXIeX-Q",
     "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTybItEfE2Xu-Or72BHw8uZf19_mV2Kr8cuuU8kKYrVbeZPXIeX-Q",
     };

但是如何从在线文件更新字符串数组而不是手动添加 URL, 有没有办法从在线文件中更新字符串数组

完整代码:

package com.nostra13.example.universalimageloader;


public final class Constants {

    public static final String[] IMAGES = new String[] {

            "http://tabletpcssource.com/wp-content/uploads/2011/05/android-logo.png",
            "http://simpozia.com/pages/images/stories/windows-icon.png",
            "http://radiotray.sourceforge.net/radio.png",
            "http://www.bandwidthblog.com/wp-content/uploads/2011/11/twitter-logo.png",
            "http://weloveicons.s3.amazonaws.com/icons/100907_itunes1.png",
            "http://weloveicons.s3.amazonaws.com/icons/100929_applications.png",
            "http://www.idyllicmusic.com/index_files/get_apple-iphone.png",
            "http://www.frenchrevolutionfood.com/wp-content/uploads/2009/04/Twitter-Bird.png",
            "http://3.bp.blogspot.com/-ka5MiRGJ_S4/TdD9OoF6bmI/AAAAAAAAE8k/7ydKtptUtSg/s1600/Google_Sky%2BMaps_Android.png",
            "http://www.desiredsoft.com/images/icon_webhosting.png",
            "http://goodereader.com/apps/wp-content/uploads/downloads/thumbnails/2012/01/hi-256-0-99dda8c730196ab93c67f0659d5b8489abdeb977.png",
            "http://1.bp.blogspot.com/-mlaJ4p_3rBU/TdD9OWxN8II/AAAAAAAAE8U/xyynWwr3_4Q/s1600/antivitus_free.png",
            "http://cdn3.iconfinder.com/data/icons/transformers/computer.png",
            "http://cdn.geekwire.com/wp-content/uploads/2011/04/firefox.png?7794fe",
            "https://ssl.gstatic.com/android/market/com.rovio.angrybirdsseasons/hi-256-9-347dae230614238a639d21508ae492302340b2ba",
            "http://androidblaze.com/wp-content/uploads/2011/12/tablet-pc-256x256.jpg",
            "http://www.theblaze.com/wp-content/uploads/2011/08/Apple.png",
            "http://1.bp.blogspot.com/-y-HQwQ4Kuu0/TdD9_iKIY7I/AAAAAAAAE88/3G4xiclDZD0/s1600/Twitter_Android.png",
            "http://3.bp.blogspot.com/-nAf4IMJGpc8/TdD9OGNUHHI/AAAAAAAAE8E/VM9yU_lIgZ4/s1600/Adobe%2BReader_Android.png",
            "http://cdn.geekwire.com/wp-content/uploads/2011/05/oovoo-android.png?7794fe",
            "http://icons.iconarchive.com/icons/kocco/ndroid/128/android-market-2-icon.png",
            "http://thecustomizewindows.com/wp-content/uploads/2011/11/Nicest-Android-Live-Wallpapers.png",
            "http://c.wrzuta.pl/wm16596/a32f1a47002ab3a949afeb4f",
            "http://macprovid.vo.llnwd.net/o43/hub/media/1090/6882/01_headline_Muse.jpg",

    };

    private Constants() {
    }

    public static class Config {
        public static final boolean DEVELOPER_MODE = false;
    }

    public static class Extra {
        public static final String IMAGES = "com.nostra13.example.universalimageloader.IMAGES";
        public static final String IMAGE_POSITION = "com.nostra13.example.universalimageloader.IMAGE_POSITION";
    }
}

【问题讨论】:

    标签: android inputstream updates arrays android-internet


    【解决方案1】:

    您可能应该将结果存储在服务器上,然后让设备查询您的服务器以获取 JSON 格式的结果,然后在 JSON 数据中使用该图像集合并以这种方式处理它。因为这个结果可能会改变,所以您应该在每次启动应用程序时都这样做(当然,您必须根据自己的程度进行调整)。

    【讨论】:

      【解决方案2】:

      使用 coma(,) 创建文件

      https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTybItEfE2Xu-Or72BHw8uZf19_mV2Kr8cuuU8kKYrVbeZPXIeX-Q,
      https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTybItEfE2Xu-Or72BHw8uZf19_mV2Kr8cuuU8kKYrVbeZPXIeX-Q,
      https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcTybItEfE2Xu-Or72BHw8uZf19_mV2Kr8cuuU8kKYrVbeZPXIeX-Q
      

      1) 从服务器上传的文件中获取数据并在res得到响应

      2) 调用方法String filecontentString = readContentFromResponse(res);

      public String readContentFromResponse(String res) {
          BufferedReader reader = null;
          StringBuilder sb = new StringBuilder();
          try {
            reader = new BufferedReader(new InputStreamReader(new FileInputStream(new File(res))));
            String line = null;
            while ((line = reader.readLine()) != null) {
              sb.append(line);
            }
          } catch (IOException e) {
            Log.e("TAG",e);
          } finally {
            if (reader != null) {
              try {
                reader.close();
              } catch (IOException e) {
                Log.e("TAG",e);
              }
            }
          }
          return sb.toString();
        }
      

      3) 然后创建空字符串数组

      String[] IMAGES ={};
      
      IMAGES = filecontentString.split(",");
      

      【讨论】:

      • 在我的问题中查看我更新的代码并告诉我如何读取此文件内容并存储在 String 对象中,请提供示例代码
      猜你喜欢
      • 1970-01-01
      • 2021-09-11
      • 1970-01-01
      • 2019-09-18
      • 2014-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-13
      相关资源
      最近更新 更多