package com.clo.android.demo; import java.io.IOException; import java.util.ArrayList; import org.codehaus.jackson.map.ObjectMapper; import org.codehaus.jackson.type.JavaType; import org.json.JSONObject; import com.androidquery.AQuery; import com.clo.android.keep.AccessTokenKeeper; import com.clo.sdk.android.Oauth2AccessToken; import com.clo.sdk.android.WeiboException; import com.clo.sdk.android.api.BlogAPI; import com.clo.sdk.android.model.ListPage; import com.clo.sdk.android.model.WebPost; import com.clo.sdk.android.net.RequestListener; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.SimpleAdapter; public class ListActivity extends Activity { AQuery lv,textAq; SimpleAdapter adapter; ArrayList<JSONObject> list; public static final String TAG = "show"; //通过handler机制更新UI private Handler myHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case 1: /**采用aquery组件显示列表*/ try { ObjectMapper mapper = new ObjectMapper(); JavaType javaType = mapper.getTypeFactory().constructParametricType(ListPage.class, WebPost.class); ListPage<WebPost> posts = (ListPage<WebPost>)mapper.readValue(msg.getData().getString("show"), javaType); final AQuery listAq = new AQuery(ListActivity.this); ArrayAdapter<WebPost> aa = new ArrayAdapter<WebPost>(ListActivity.this, R.layout.activit_user_list, posts.getList()){ @Override public View getView(int position, View convertView, ViewGroup parent) { if(convertView == null){ convertView = getLayoutInflater().inflate(R.layout.activit_user_list, null); } WebPost jo = getItem(position); AQuery aq = listAq.recycle(convertView); aq.id(R.id.imageView1).progress(R.id.progress).image(jo.getUser().getPortraitUrl()); aq.id(R.id.showname).text(jo.getContent()); aq.id(R.id.registerTime).text(jo.getTimeArg()); return convertView; } }; lv.adapter(aa); //textAq.id(R.id.text).text(posts.toString()); } catch (Exception e) { e.printStackTrace(); } break; } super.handleMessage(msg); } }; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activit_user); //setContentView(R.layout.activit_test);//测试用 lv = new AQuery(this).id(R.id.listView1); //textAq = new AQuery(this).id(R.id.text);//测试用 Oauth2AccessToken accessToken = AccessTokenKeeper.readAccessToken(this); BlogAPI blog = new BlogAPI(accessToken); //user.findUsers(new UsersListListener()); blog.timeline(new UsersListListener(),"xiaozhi");//测试用 } class UsersListListener implements RequestListener{ @Override public void onComplete(String response) { //Log.i(TAG, "response :"+response); Message message = new Message(); message.what = 1; Bundle bundle = new Bundle(); bundle.putString("show", response); message.setData(bundle); myHandler.sendMessage(message); } @Override public void onIOException(IOException e) { // TODO Auto-generated method stub } @Override public void onError(WeiboException e) { // TODO Auto-generated method stub } } }