2013-09-10 5 views
0

Я использую ниже код из AQuery demo app и XML всегда нулевойAQuery. Как получить имя пользователя, идентификатор, имя, фамилию и адрес электронной почты из учетной записи google?

Как я могу reteive информацию, относящуюся к счету я выбираю из списка счетов Google?

public void auth_specific_account(){ 


     String url = "https://www.google.com/reader/atom/user/-/state/com.google/reading-list?n=8"; 

     AjaxCallback<XmlDom> cb = new AjaxCallback<XmlDom>(); 

     cb.url(url).type(XmlDom.class).weakHandler(this, "readerCb"); 
     cb.auth(this, AQuery.AUTH_READER, AQuery.ACTIVE_ACCOUNT); 

     aq.progress(R.id.progress).ajax(cb); 

    } 

public void readerCb(String url, XmlDom xml, AjaxStatus status) { 

     if(xml != null){ 

      List<XmlDom> entries = xml.tags("entry");   
      List<String> titles = new ArrayList<String>(); 

      for(XmlDom entry: entries){ 
       titles.add(entry.text("title")); 
      } 

      showTextResult(titles);   
     } 

     AQUtility.debug("status:" + status); 

     showResult(xml, status); 
    } 

ответ

0

Вы можете использовать другой подход, когда слабый обработчик не надо, переходя к aq.ajax() объект расширенного AjaxCallback который получает информацию о пункте, для которого следует использовать запрос.

private class AjaxCallbackAddingMarker extends AjaxCallback<Bitmap> { 
     private final Item item; 

     AjaxCallbackAddingMarker(Item item) { 
      this.item = item; 
     } 

     @Override 
     public synchronized void callback(String url, Bitmap object, AjaxStatus status) { 
      // do something with item and downloaded Bitmap 
     } 
    }; 

Если вы хотите использовать weakHandler, то это мое решение:

private void loadImage(final ImageView image, String url) { 

    Bitmap bmp = aq.getCachedImage(url); 

    if (bmp!= null) { 
     image.setImageBitmap(bmp); 
     return; 
    } 

    Object handler = new Object() { 
     @SuppressWarnings("unused") 
     public void callback(String url, Bitmap bmp, AjaxStatus status) { 
      if (bmp != null) { 
       image.setImageBitmap(bmp); 
      } 
     } 
    }; 

    AjaxCallback<Bitmap> bmpCallback = new AjaxCallback<Bitmap>(); 
    bmpCallback.type(Bitmap.class).url(url).header("User-Agent", appPrefs.getUserAgent()).policy(AQuery.CACHE_PERSISTENT) 
      .expire(GlobalVars.MARKERS_CACHE_EXPIRE).fileCache(true).weakHandler(handler, "callback"); 
    aq.ajax(bmpCallback); 
}