android - Some thumb_nails not appearing in rss feed( xml parser) -


i beginner in android. followed tutorial youtube develop rss feed app. xml parser used recycler view fetch rss feed. feed includes pubdate, link, title, description , thumb_nail(with of picasso library). of images appear if use fetch feed https://urbangospeltunez.wordpress.com/feed/ of images not appear if fetch feed https://u4norhome.wordpress.com/feed/. tried uploading images of different size, dimension , format (jpg , png) images still not show. how can make images show?

here xml parser code:

import android.app.progressdialog; import android.content.context; import android.os.asynctask; import android.support.v7.widget.linearlayoutmanager; import android.support.v7.widget.recyclerview; import android.widget.toast;  import org.w3c.dom.document; import org.w3c.dom.element; import org.w3c.dom.node; import org.w3c.dom.nodelist;  import java.io.inputstream; import java.net.httpurlconnection; import java.net.url; import java.util.arraylist;  import javax.xml.parsers.documentbuilder; import javax.xml.parsers.documentbuilderfactory;  public class articlesrss extends asynctask<void, void, void> {     context context;     string address = "https://u4norhome.wordpress.com/feed/";     progressdialog progressdialog;     arraylist<articlesfeeditem> articlesfeeditems;     recyclerview recyclerview;     url url;     public articlesrss(context context,recyclerview recyclerview) {         this.recyclerview=recyclerview;         this.context = context;         progressdialog = new progressdialog(context);         progressdialog.setmessage("connecting...");         progressdialog.setcancelable(false);         progressdialog.setcanceledontouchoutside(false);       }      @override     protected void onpreexecute() {         progressdialog.show();         super.onpreexecute();     }      @override     protected void oncancelled() {         super.oncancelled();     }      @override     protected void onpostexecute(void avoid) {         super.onpostexecute(avoid);         progressdialog.dismiss();         articlesadapter adapter=new articlesadapter(context, articlesfeeditems);         recyclerview.setlayoutmanager(new linearlayoutmanager(context));         recyclerview.additemdecoration(new verticalspace(3));         recyclerview.setadapter(adapter);         //try toast         toast.maketext(context, "connected!", toast.length_short).show();     }      @override     protected void doinbackground(void... params) {         processxml(getdata());          return null;     }      private void processxml(document data) {         if (data != null) {             articlesfeeditems =new arraylist<>();             element root = data.getdocumentelement();             node channel = root.getchildnodes().item(1);             nodelist items = channel.getchildnodes();             (int = 0; < items.getlength(); i++) {                 node cureentchild = items.item(i);                 if (cureentchild.getnodename().equalsignorecase("item")) {                     articlesfeeditem item=new articlesfeeditem();                     nodelist itemchilds = cureentchild.getchildnodes();                     (int j = 0; j < itemchilds.getlength(); j++) {                         node cureent = itemchilds.item(j);                         if (cureent.getnodename().equalsignorecase("title")){                             item.settitle(cureent.gettextcontent());                         }else if (cureent.getnodename().equalsignorecase("description")){                             item.setdescription(cureent.gettextcontent());                         }else if (cureent.getnodename().equalsignorecase("pubdate")){                             item.setpubdate(cureent.gettextcontent());                         }else if (cureent.getnodename().equalsignorecase("link")){                             item.setlink(cureent.gettextcontent());                         }else if (cureent.getnodename().equalsignorecase("media:content")){                             //this return thumbnail url                             string url=cureent.getattributes().item(0).gettextcontent();                             item.setthumbnailurl(url);                         }                     }                     articlesfeeditems.add(item);                      }             }         }     }      public document getdata() {         try {             url = new url(address);             httpurlconnection connection = (httpurlconnection) url.openconnection();             connection.setrequestmethod("get");             inputstream inputstream = connection.getinputstream();             documentbuilderfactory builderfactory = documentbuilderfactory.newinstance();             documentbuilder builder = builderfactory.newdocumentbuilder();             document xmldoc = builder.parse(inputstream);             return xmldoc;         } catch (exception e) {             e.printstacktrace();             return null;         }     } } 

feeditem

public class articlesfeeditem {     string title;     string link;     string description;     string pubdate;     string thumbnailurl;      public string gettitle() {         return title;     }      public void settitle(string title) {         this.title = title;     }      public string getlink() {         return link;     }      public void setlink(string link) {         this.link = link;     }      public string getdescription() {         return description;     }      public void setdescription(string description) {         this.description = description;     }      public string getpubdate() {         return pubdate;     }      public void setpubdate(string pubdate) {         this.pubdate = pubdate;     }      public string getthumbnailurl() {         return thumbnailurl;     }      public void setthumbnailurl(string thumbnailurl) {         this.thumbnailurl = thumbnailurl;     } } 

recyclerviewadaptor

import android.content.context; import android.content.intent; import android.support.v7.widget.cardview; import android.support.v7.widget.recyclerview; import android.view.layoutinflater; import android.view.view; import android.view.viewgroup; import android.widget.imageview; import android.widget.textview;  import com.daimajia.androidanimations.library.techniques; import com.daimajia.androidanimations.library.yoyo; import com.squareup.picasso.picasso;  import java.util.arraylist;    public class articlesadapter extends recyclerview.adapter<articlesadapter.myviewholder> {     arraylist<articlesfeeditem> articlesfeeditems;     context context;     public articlesadapter(context context,arraylist<articlesfeeditem> articlesfeeditems){         this.articlesfeeditems = articlesfeeditems;         this.context=context;     }     @override     public myviewholder oncreateviewholder(viewgroup parent, int viewtype) {         view view= layoutinflater.from(context).inflate(r.layout.articles_card,parent,false);         myviewholder holder=new myviewholder(view);         return holder;     }      @override     public void onbindviewholder(myviewholder holder, int position) {        // yoyo.with(techniques.fadein).playon(holder.cardview);         final articlesfeeditem current= articlesfeeditems.get(position);         holder.title.settext(current.gettitle());         holder.description.settext(current.getdescription());         holder.date.settext(current.getpubdate());         picasso.with(context).load(current.getthumbnailurl()).into(holder.thumbnail);         holder.cardview.setonclicklistener(new view.onclicklistener() {             @override             public void onclick(view v) {                 intent intent = new intent(context, articleswebview.class);                 intent.putextra("link", current.getlink());                 context.startactivity(intent);             }         });     }        @override     public int getitemcount() {         return articlesfeeditems.size();     }      public class myviewholder extends recyclerview.viewholder {         textview title,description,date;         imageview thumbnail;         cardview cardview;         public myviewholder(view itemview) {             super(itemview);             title= (textview) itemview.findviewbyid(r.id.title_text);             description= (textview) itemview.findviewbyid(r.id.description_text);             date= (textview) itemview.findviewbyid(r.id.date_text);             thumbnail= (imageview) itemview.findviewbyid(r.id.thumb_img);             cardview= (cardview) itemview.findviewbyid(r.id.articles_cardview);         }     } } 

articles activity

import android.content.activitynotfoundexception; import android.content.context; import android.content.dialoginterface; import android.content.intent; import android.net.connectivitymanager; import android.net.networkinfo; import android.net.uri; import android.os.bundle; import android.support.design.widget.floatingactionbutton; import android.support.v7.app.alertdialog; import android.support.v7.app.appcompatactivity; import android.support.v7.widget.gridlayoutmanager; import android.support.v7.widget.recyclerview; import android.support.v7.widget.toolbar; import android.view.menu; import android.view.menuitem; import android.view.view; import android.view.animation.animation; import android.view.animation.animationutils;  public class articles extends appcompatactivity {       recyclerview recyclerview;      @override     protected void oncreate(bundle savedinstancestate) {         super.oncreate(savedinstancestate);         setcontentview(r.layout.articles_activity);          if(!isnetworkconnected()){             alertdialog.builder builder = new alertdialog.builder(this);             builder.setcancelable(false);             builder.settitle("oops!");             builder.seticon(r.drawable.ic_error_wine_24dp);             builder.setmessage("no internet connection.");             builder.setpositivebutton("retry", new dialoginterface.onclicklistener() {                 @override                 public void onclick(dialoginterface dialog, int which) {                     //if user select "no", cancel dialog , continue app                     /*                     finish();                      */                     // try below                      //  intent restartintent = new intent(home.this, home.class);                     // restartintent.setdata(getintent().getdata());                     intent restartintent = getintent();                     restartintent.setdata(getintent().getdata());                     finish();                     startactivity(restartintent);                  }             });             builder.setnegativebutton("exit", new dialoginterface.onclicklistener() {                 @override                 public void onclick(dialoginterface dialog, int which) {                     //if user select "no", cancel dialog , continue app                     dialog.cancel();                      finish();                 }             });             alertdialog alert = builder.create();             alert.show();          }           else {              if (isnetworkconnected()) {                  // startactivity(new intent(home.this, home.class));                  recyclerview = (recyclerview) findviewbyid(r.id.recyclerview);                 articlesrss readrss = new articlesrss (this, recyclerview);                 readrss.execute();              }             // return networkinfo != null;             //  }           }            toolbar toolbar = (toolbar) findviewbyid(r.id.toolbar);         setsupportactionbar(toolbar);           public boolean isnetworkconnected() {          connectivitymanager cm = (connectivitymanager)                 this.getsystemservice(context.connectivity_service);         networkinfo networkinfo = cm.getactivenetworkinfo();         return networkinfo != null;     }       }     @override     public boolean oncreateoptionsmenu(menu menu) {         // inflate menu; adds items action bar if present.         getmenuinflater().inflate(r.menu.menu_articles, menu);         return true;     }      @override     public boolean onoptionsitemselected(menuitem item) {         // handle action bar item clicks here. action bar         // automatically handle clicks on home/up button, long         // specify parent activity in androidmanifest.xml.         int id = item.getitemid();          if (id == r.id.action_options) {             intent intent = new intent                     (articles.this, settingsactivity.class);             startactivity(intent);             return true;         }           return super.onoptionsitemselected(item);     }    } 


Comments

Popular posts from this blog

How to understand 2 main() functions after using uftrace to profile the C++ program? -

c# - Update a combobox from a presenter (MVP) -

How to put a lock and transaction on table using spring 4 or above using jdbcTemplate and annotations like @Transactional? -