【发布时间】:2014-09-11 16:01:45
【问题描述】:
我正在从 json api 到我的数组列表进行解析;
package com.example.dovizkuru;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import android.os.AsyncTask;
import android.util.Log;
public class DownloadDovizTask extends AsyncTask<String,Void,String>{
public interface GetDovizResponseCallback{
void dovizLoadingFinished(String response);
}
GetDovizResponseCallback getDovizResponseCallback;
public DownloadDovizTask(GetDovizResponseCallback getDovizResponseCallback) {
this.getDovizResponseCallback = getDovizResponseCallback;
}
@Override
protected String doInBackground(String... urls) {
Log.d("URL", urls[0]);
String url = urls[0];
String response = "";
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(url);
try {
HttpResponse execute = client.execute(httpGet);
InputStream content = execute.getEntity().getContent();
BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
String s = "";
while ((s = buffer.readLine()) != null) {
response += s;
}
} catch (Exception e) {
e.printStackTrace();
}
Log.d("URL", "RESPONSE: "+response);
return response;
}
@Override
protected void onPostExecute(String result) {
getDovizResponseCallback.dovizLoadingFinished(result);
}
}
然后我把它放在像
这样的 ArrayList 中@Override
public void dovizLoadingFinished(String response) {
// TODO Auto-generated method stub
ArrayList<String> list1=new ArrayList<String>();
JSONArray jsonArrayDoviz;
try {
JSONObject jObj = new JSONObject(response);
jsonArrayDoviz = jObj.getJSONArray("value");
dovizList.clear();
for (int i = 0; i < jsonArrayDoviz.length(); i++) {
Doviz doviz = new Doviz();
JSONObject jsonObject = jsonArrayDoviz.getJSONObject(i);
doviz.setAdi(jsonObject.getString("adi"));
doviz.setAlis(jsonObject.getString("alis"));
doviz.setSatis(jsonObject.getString("satis"));
doviz.setKey(jsonObject.getString("key"));
doviz.setOran(jsonObject.getString("oran"));
doviz.setType(jsonObject.getString("type"));
doviz.setUpDown(jsonObject.getString("upDown"));
list1.add(doviz.getAdi());
list1.add(doviz.getAlis());
list1.add(doviz.getSatis());
dovizList.add(doviz);
}
} catch (JSONException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
ListView listview =(ListView) findViewById(R.id.listView1);
adapter = new Adapter(this,dovizList);
listview.setAdapter(adapter);
}
然后在另一个班级,我试图从 ArrayList 中获取 alis 值的数据,但它返回 null/0 给我。
我尝试制作一个 GetArraylist();首先获取arraylist的函数 我还尝试将 ArrayList 声明设为 public static
顺便说一下,我试图从中访问数据的新类是另一个意图。我的解析工作正常,我在我的第一意图中列出了它们。
那么我还有其他方法可以从这个 ArrayList 中获取数据吗?
提前感谢您的帮助。
【问题讨论】:
标签: android class android-intent arraylist