自动向数组添加元素

嗨,我不擅长Java,所以请耐心等待。 我正在尝试编写一个非常简单的Android应用程序,我需要一些编码方面的帮助。

事实是,我有一个服务器,它自动生成.png文件,并按数字顺序将它们保存到公共目录。 更新每天进行,并非详尽无遗。

无论如何,我可以将动态值分配给我的应用程序中的数组吗?

private String[] myRemoteImages = { "http://sofzh.miximages.com/java/hypotheticalurl1.png", "http://sofzh.miximages.com/java/hypotheticalurl2.png", "http://sofzh.miximages.com/java/hypotheticalurl3.png", "http://sofzh.miximages.com/java/hypotheticalurl4.png", "http://sofzh.miximages.com/java/hypotheticalurl5.png", "http://sofzh.miximages.com/java/hypotheticalurl6.png", "http://sofzh.miximages.com/java/hypotheticalurl7.png", "http://sofzh.miximages.com/java/hypotheticalurl8.png", "http://sofzh.miximages.com/java/hypotheticalurl9.png", "http://sofzh.miximages.com/java/hypotheticalurl10.png", "http://sofzh.miximages.com/java/hypotheticalurl11.png", "http://sofzh.miximages.com/java/hypotheticalurl12.png", //...blah blah blah // these are all dynamically created so I won't know what is the last number on the list }; 

此数组最终将用于使用应用程序从我的服务器获取图像。 它工作到目前为止,但只有硬编码的URL。 我希望这些url是动态的,因为图片的数量会每天都在变化。

我怀疑正则表达式在Java中运行良好但是我再也不是专家了。 想到也许在服务器端编写一个脚本,生成一个现有值列表,并以某种方式解析它与Android应用程序。

谁能指出我正确的方向? 提前致谢。

澄清:

应用程序运行时,arrays不必动态resize。

我需要一种方法来读取远程目录中的现有图像列表,并传递该信息以在运行时自动填充数组。

解决

伙计们,谢谢你的帮助。 对不起,如果我不够清楚。

我找到了办法。 基本上它很简单,就是在服务器端向shell脚本附加额外的代码行,以便在生成图像的同时生成现有图像URL的文本列表。

之后,我在应用程序上使用了BufferedReader和openStream的组合来将远程文本文件解析为String数组。

谢谢您的帮助。 对不起,如果我不够清楚。

我找到了办法。 基本上它很简单,就是在服务器端向shell脚本附加额外的代码行,以便在生成图像的同时生成现有图像URL的文本列表。

之后,我在应用程序上使用了BufferedReader和openStream的组合来将远程文本文件解析为String数组。

使用数组,您可以:

  • 更改数组的元素

但你不能:

  • 添加或删除元素。 如果在数组中固定,则元素数量。 可以找到一些解决方法,例如在使用数组中的值时放置空值并丢弃它们。 但这比真正有用更麻烦。

另一方面,如果你想要一个完整的动态“数组”:使用一个列表( java.util.List )。 这里的ArrayList会很有趣,甚至是Vector,因为你可能需要在这个数组周围进行一些multithreading处理。 使用列表可以添加和删除元素,大小可以变化,元素可以替换。

在这种情况下我会使用ArrayList。 您不必知道要添加的元素数量,并且最后添加元素非常简单。

 private List list = new ArrayList(); 

然后只需添加元素

 list.add("http://sofzh.miximages.com/java/hypotheticalurl1.png"); 

此致,帕特里克

而不是使用Array of String使用ArrayList它将为您提供更多的灵活性,可以在运行时添加和删除项目参考此链接… http://docs.oracle.com/javase/1.4.2/docs/api/的java / UTIL / ArrayList.html

听说你可以在arraylist上找到例子… http://www.java2s.com/Tutorial/Java/0140_ Collections / 0160 _ArrayList.htm

希望有所帮助

根据您的情况,您需要具备以下条件:

1-一个Web服务,它有一个方法可以获取可用图像名称的列表。

2-你的Android应用程序需要一个Web服务客户端,我建议你使用KSOAP 2,因为它广为人知且易于实现。 (如果您无法弄清楚如何在程序中使用kso​​ap,我可以为您提供一些示例代码)

3-您需要使用ArrayList(java.util)来保存动态大小的数组。

嘿,你可以做到这一点
ArrayList stringList = new ArrayList();

 stringList.add("Item");