現在のシナリオ:複数のURLの画像をSDキャッシュに保存し、ListView
に表示するアプリの例。Androidスレッド通信AsyncTask
タスク:MainActivity
でプライベートメソッド内でハードコードされたURLを取得する代わりに、URLリソースに配置されたJSONデータからそれらを取得します。
は私が.. JSONを取得しても、データを解析するが、私は返されたリストは、後に来ているようですので、これはMyImageLoaderAdapter
にデータを解析された送信方法についての困難を抱えているんだ
ファイル:MainActivity.java
public class MainActivity extends Activity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
...
try{
SimpleAsyncTask mTask = new SimpleAsyncTask();
mTask.execute(resource);
ArrayList list = mTask.list;
String[] strArray = new String[ list.size() ];
int length = strArray.length; // lenght = 0
mStrings = new String[ list.size() ];
int length = strArray.length;
for(int j = 0; j < length; j++) {
mStrings[j] = list.get(j).toString();
}
}catch (Exception e){}
// Create custom adapter for listview
adapter=new MyImageLoadAdapter(this, mStrings);
...
}
private String[] mStrings={
"http://resourse1.com",
"http://resourseN.com",
};
}
ファイル:SimpleAsyncTask.java
public class SimpleAsyncTask extends AsyncTask<String, String, String>{
ArrayList list = new ArrayList();
protected String doInBackground(String... uri) {
//working code
}
@Override
protected void onPostExecute(String response) {
super.onPostExecute(response);
...
return list //expected value;
}
}
これは私が探していたものです。ありがとうございました。 –