編輯:關於android開發

public class AppFragment extends BaseFragment {
ArrayList<AppInfo> mList = null;
@Override
public View onCreateSuccessView() {
MyListView view = new MyListView(UIUtils.getContext());
view.setAdapter(new AppAdapter(mList));
return view;
}
@Override
public ResultState onLoad() {
AppProtocol protocol = new AppProtocol();
mList = protocol.getData(0);
return check(mList);
}
class AppAdapter extends MyBaseAdapter<AppInfo> {
public AppAdapter(ArrayList<AppInfo> list) {
super(list);
}
@Override
public BaseHolder<AppInfo> getHolder(int position) {
return new AppHolder();
}
@Override
public ArrayList<AppInfo> onLoadMore() {
AppProtocol protocol = new AppProtocol();
ArrayList<AppInfo> moreData = protocol.getData(getListSize());
return moreData;
}
}
}
--------------------------------------
/**
* 應用頁訪問網絡
*
* @author Kevin
*
*/
public class AppProtocol extends BaseProtocol<ArrayList<AppInfo>> {
private ArrayList<AppInfo> mAppList;// 應用列表集合
@Override
public String getKey() {
return "app";
}
@Override
public String getParams() {
return "";
}
@Override
public ArrayList<AppInfo> parseJson(String result) {
try {
JSONArray ja = new JSONArray(result);
mAppList = new ArrayList<AppInfo>();
for (int i = 0; i < ja.length(); i++) {
AppInfo info = new AppInfo();
JSONObject jo1 = (JSONObject) ja.get(i);
info.des = jo1.getString("des");
info.downloadUrl = jo1.getString("downloadUrl");
info.iconUrl = jo1.getString("iconUrl");
info.id = jo1.getString("id");
info.name = jo1.getString("name");
info.packageName = jo1.getString("packageName");
info.size = jo1.getLong("size");
info.stars = jo1.getDouble("stars");
mAppList.add(info);
}
return mAppList;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
-----------------------------------
/**
* 應用頁holder
*
* @author Kevin
*
*/
public class AppHolder extends BaseHolder<AppInfo> {
private TextView tvName;
private ImageView ivIcon;
private TextView tvSize;
private TextView tvDesc;
private RatingBar rbStar;
private BitmapUtils mBitmapUtils;
@Override
public View initView() {
View view = View.inflate(UIUtils.getContext(), R.layout.list_item_home,
null);
tvName = (TextView) view.findViewById(R.id.tv_name);
ivIcon = (ImageView) view.findViewById(R.id.iv_icon);
tvSize = (TextView) view.findViewById(R.id.tv_size);
tvDesc = (TextView) view.findViewById(R.id.tv_desc);
rbStar = (RatingBar) view.findViewById(R.id.rb_star);
mBitmapUtils = BitmapHelper.getBitmapUtils();
mBitmapUtils.configDefaultLoadingImage(R.drawable.ic_default);
return view;
}
@Override
public void refreshView(AppInfo data) {
if (data != null) {
tvName.setText(data.name);
tvSize.setText(Formatter.formatFileSize(UIUtils.getContext(),
data.size));
tvDesc.setText(data.des);
rbStar.setRating((float) data.stars);
mBitmapUtils.display(ivIcon, HttpHelper.URL + "image?name="
+ data.iconUrl);
}
}
}
使用自定義的item、Adapter和AsyncTask、第三方開源框架PullToRefresh聯合使用實現自定義的下拉列表(從網絡加載圖片顯示在item中的ImageView),
使用自定義的item、Adapter和AsyncTask、第三方開源框架PullToRefresh聯合使用實現自定義的下拉列表(從網絡加載圖片顯示在item中的Image
圓形背景的TextView,圓形背景TextView
圓形背景的TextView,圓形背景TextView【應用場景】: 【需要的xml】:shape_circle.xml <?xml version=1.0 enc
面面具到!android重力傳感器,
面面具到!android重力傳感器,前兩篇都是向大家介紹了很有意思的兩種手勢操作,嵌入我們游戲中,不得不說讓游戲的自由度、可玩性和趣味性都增色不少!那麼今天繼續給大家介紹
(試筆)一、Android四大框架之ContentProvider的學習與運用,實現SQLite的增刪改查。,安卓sqlite增刪改查
(試筆)一、Android四大框架之ContentProvider的學習與運用,實現SQLite的增刪改查。,安卓sqlite增刪改查本文系原創博客,文中不妥煩請指出,如