네트워크 에서 비동기 로 데 이 터 를 불 러 와 ListView 에 표시 합 니 다.
4068 단어 안 드 로 이 드
AsyncTask 비동기 류 를 사용 하여 네트워크 에서 데 이 터 를 불 러 오고 listview 에 표시 합 니 다.
바로 코드 를 달 았 습 니 다. MainActivity. java.
public class MainActivity extends Activity {
private MyTask mTask;
ListView listView;
SimpleAdapter adapter;
List> data;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = (ListView) this.findViewById(R.id.listView1);
data = new ArrayList>();
// SimpleAdapter item
// this android ,
adapter = new SimpleAdapter(this,
//data ,List> data;
data,
// ( )
R.layout.item,
// data HashMap , ?
// HashMap , int[]
// Cons.NAME R.id.name
new String[] { Cons.NAME, Cons.PRICE,Cons.AVERPRICE, Cons.CHANGE },
// ID
new int[] { R.id.name,R.id.price, R.id.averprice, R.id.change});
listView.setAdapter(adapter);
// , AsyncTask UI thread ;
mTask = new MyTask();
// , doInBackground()
//execute UI thread
mTask.execute(" doInBackground() ");
}
/**
*
* AsyncTask android ,
* < > :doInBackground()
* < > :onProgressUpdate() ,
* < > :onPostExecute()
*/
private class MyTask extends AsyncTask>> {
/**
* doInBackground , UI
* , onPostExecute()
*/
@Override
protected List> doInBackground(String... params) {
//publishProgress(i)
// ,
return GetInfo.getJSONObject(Helper.getJson(params[0]));
}
/**
* onPostExecute UI,
*/
@Override
protected void onPostExecute(List> result) {
for (HashMap li : result) {
data.add(li);
}
// list , Item
adapter.notifyDataSetChanged();
super.onPostExecute(result);
}
/**
*
* publishProgress(i) onProgressUpdate , i values
*/
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
}
}
}
item.xml
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
안 드 로 이 드 에 서 는 포 장 된 데이터베이스 작업 도구 류 를 포함 하여 GreenDAO 데이터베이스 프레임 워 크 를 도입 합 니 다.1. 프로젝트 설정 . / src / main 디 렉 터 리 아래 자바 와 같은 등급 의 자바 - gen 폴 더 를 만 듭 니 다. 2. build. gradle 에 설정 3. 의존 도 추가 4. 간단 한 조작 을 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.