My questions are about delay image loading using AQueryКак преобразовать базовый код в более эффективный код AQuery
Так что мое приложение это: я прочитал JSON, который содержит различную информацию, а также ссылки на изображения (это делается в процедуре doInBackground из AsyncTask). Кроме того, после прочтения ссылки в этой процедуре, я также читал фото (см ниже код для получения дополнительной информации)
class GetMessages extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
HttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(uri);
// code that reads the json .......
Bitmap picture = null;
try {
URL newurl = new URL(json.getString("pic_url"));
picture = BitmapFactory.decodeStream(newurl.openConnection() .getInputStream());
}catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// after this, i put all the read info, and the pics in a list of
// objects, that is then usen in the method onPostExecute to populate
// my custom adapter ...see code below
static class ViewHolder {
ImageView picView;
}
public class MyCustomBaseAdapter extends BaseAdapter {
private LayoutInflater mInflater;
private ArrayList<Product> products;
public ArrayList<Product> getProducts() {
return products;
}
public void setProducts(ArrayList<Product> products) {
this.products = products;
}
public MyCustomBaseAdapter(Context context, ArrayList<Product> products) {
this.products = products;
this.mInflater = LayoutInflater.from(context);
}
public int getCount() {
return products.size();
}
public Object getItem(int position) {
return products.get(position);
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.product_item, null);
holder = new ViewHolder();
holder.picView = (ImageView) convertView.findViewById(R.id.pic_view);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.picView.setImageBitmap(products.get(position).getPicture());
return convertView;
}
Как вы уже можете понять ... если у меня есть как 15 фото ... в пользователи становятся сонными до того, как вся эта информация будет загружена ...
- Что я хочу сделать, это использовать вашу задержку Загрузка изображения ... однако, я не могу скомпоновать детали ... как должен ли я изменить свой адаптер?
- Я в основном добавляю код со своей вики-страницы и использую его вместо моего метода получения вида? ... любая помощь или ссылка на более полный пример, то, что есть на вики, поможет новичкам вроде меня :)
- Может ли эта структура использоваться и в коммерческом приложении?
Спасибо :)