1

我正在开发一个 Android 应用程序。我正在使用 Jsoup 从页面中检索元素。然后,我将遍历该集合以获取其中的每个单独部分。我不确定如何将元素的每个实例保存为不同的变量。我认为我可以为此使用 for 循环,但我不太明白。我将如何确定选择多长时间的长度?我将如何使用它?我正在从这里检索元素:http://lapi.transitchicago.com/api/1.0/ttarrivals.aspx?key=201412abc85d49b2b83f907f9e329eaa&mapid= 40380。我的代码如下:

public class TestStation extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
        setContentView(R.layout.test_station);
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy); 

        Intent intent = getIntent();
        String value = intent.getExtras().getString("value");

        Uri my = Uri.parse("http://lapi.transitchicago.com/api/1.0/ttarrivals.aspx?key=201412abc85d49b2b83f907f9e329eaa&mapid="+value);

        String myUrl = my.toString();



Document doc = null;

TextView tv1 = (TextView) findViewById(R.id.tv1);

try {
    doc = Jsoup.connect(myUrl).userAgent("Mozilla/5.0 (Macintosh; U; Intel Mac OS X; de-de) AppleWebKit/523.10.3 (KHTML, like Gecko) Version/3.0.4 Safari/523.10").get();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
Elements elem = doc.select("eta"); 
Iterator<Element> iterator = elem.iterator();

while(iterator.hasNext())
{ Element div = iterator.next();

    Elements arrT = div.select("arrT");
     Elements prdt = div.select("prdt");
     Elements destNm = div.select("destNm");
    Elements rt = div.select("rt");
    String DestNm = destNm.text();
    String Rt = rt.text();
    tv1.setText(String.valueOf (Rt));

我想将 arrT、pdrt 和 destNm 的每个实例(有很多)存储为不同的变量。我怎么会这样做呢?谢谢您的帮助。

4

3 回答 3

2

您可以使用泛型类型列表

ArrayList<Elements> xx = new ArrayList<Elements>();

然后在你的while循环中

 xx.add(arrT);
于 2013-10-06T21:09:41.527 回答
0

`您能否为您感兴趣的属性创建一个带有 getter 和 setter 的类,并创建一个数组?

编辑:要创建您的课程:

public class YourClass {

private Element arrt;
...

public void setArrT (String input) {
    arrt = input;
}
public Element getArrt() {
 return arrt;
}
....

}

搏一搏。

于 2013-10-06T21:07:04.803 回答
0

在 Unicode 和 UTF-8 之间传输

try { 
String string = "\u201cGoodbye Athens thanks";
byte[] utf8 = string.getBytes("UTF-8");
string = new String(utf8, "UTF-8");
}  catch (UnsupportedEncodingException e) {
}
于 2016-03-07T07:22:43.023 回答