AQuery picassa , , .
, , , . . JSON , DOM xml , .
, XML.
GoogleHandle handle = new GoogleHandle(this.getActivity(),
AQuery.AUTH_PICASA, AQuery.ACTIVE_ACCOUNT);
String url = "";
try {
url = "https://picasaweb.google.com/data/feed/api/user/default?kind=album&access=public&fields="
+ URLEncoder
.encode("entry(title,id,gphoto:numphotosremaining,gphoto:numphotos,media:group/media:thumbnail)",
"UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
aq.auth(handle).progress(R.id.pbTrackerAlbumsProgress)
.ajax(url, XmlDom.class, this, "renderAlbums");
public void renderAlbums(String url, XmlDom xml, AjaxStatus status) {
List<PicasaAlbum> entries = convertAll(xml);
if (entries.size() > 0) {
isAuthError = false;
aa = new ArrayAdapter<PicasaAlbum>(this.getActivity(),
R.layout.listview_item_album, entries) {
public View getView(int position, View convertView,
ViewGroup parent) {
if (convertView == null) {
convertView = getActivity().getLayoutInflater()
.inflate(R.layout.listview_item_album, parent,
false);
}
PicasaAlbum picasaAlbum = getItem(position);
AQuery aqLocal = aq.recycle(convertView);
aqLocal.id(R.id.albumTitle).text(picasaAlbum.title);
String tbUrl = picasaAlbum.thumbNailUrl.toString();
Bitmap placeholder = aqLocal
.getCachedImage(R.drawable.ic_launcher2);
if (aqLocal.shouldDelay(position, convertView, parent,
tbUrl)) {
aqLocal.id(R.id.tb).image(placeholder);
} else {
aqLocal.id(R.id.tb).image(tbUrl, true, true, 0,
R.drawable.ic_launcher2x, placeholder,
AQuery.FADE_IN_NETWORK, 0);
}
return convertView;
}
};
((TextView) view.findViewById(R.id.tvTrackerExistingAlbum))
.setText("Select the album for route marker photos");
((ProgressBar) view.findViewById(R.id.pbTrackerAlbumsProgress))
.setVisibility(View.GONE);
ListView lv = (ListView) view.findViewById(R.id.lvTrackerAlbums);
lv.setAdapter(aa);
aa.notifyDataSetChanged();
lv.setVisibility(View.VISIBLE);
}
}