2017-10-04 6 views
-3

Je prévois de convertir blogger en une application android en analysant xml dans le texte. Je l'ai fait avec le code java.Maintenant, je veux l'afficher en tant que liste dans une activité. Je veux voir la liste code XML pour ce code java. Pouvez-vous m'aider avec ça?Afficher la liste dans android pour blogger

vous pouvez trouver la source XML à partir d'ici: http://vestro-blogger-theme.blogspot.com/feeds/posts/default

public class MainActivity extends AppCompatActivity { 

     String title[]; 
     String content[]; 
     String contentHTML[]; 
     String thumbimage[]; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

      // You have to change your blogspot address here 
      // for example : http://YOURBLOGADDRESS.blogspot.com/feeds/posts/default 
      new StartParsing().execute("http://vestro-blogger-theme.blogspot.com/feeds/posts/default"); 
     } 

     private class StartParsing extends AsyncTask<String, Void, Void> { 

      @Override 
      protected Void doInBackground(String... params) { 
       String getURL = params[0]; 

       try { 
        URL url = new URL(getURL); 
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
        DocumentBuilder db = dbf.newDocumentBuilder(); 
        Document doc = db.parse(new InputSource(url.openStream())); 
        doc.getDocumentElement().normalize(); 

        NodeList nodeList = doc.getElementsByTagName("title"); 

        title = new String[nodeList.getLength()-1]; 
        content = new String[nodeList.getLength()-1]; 
        contentHTML = new String[nodeList.getLength()-1]; 
        thumbimage = new String[nodeList.getLength()-1]; 

        for (int i = 0; i < nodeList.getLength()-1; i++) { 
         Node node = nodeList.item(i); 

         title[i] = new String(); 
         content[i] = new String(); 
         contentHTML[i] = new String(); 
         thumbimage[i] = new String(); 

         //Get blogspot title 
         NodeList titleList = doc.getElementsByTagName("title"); 
         Element titleElement = (Element)titleList.item(i+1); 
         titleList = titleElement.getChildNodes(); 
         title[i] = ((Node)titleList.item(0)).getNodeValue(); 

         //Get blog spot content as HTML 
         NodeList contentHTMLList = doc.getElementsByTagName("content"); 
         Element contentHTMLElement = (Element)contentHTMLList.item(i+1); 
         contentHTMLList = contentHTMLElement.getChildNodes(); 
         contentHTML[i] = ((Node)contentHTMLList.item(0)).getNodeValue(); 

         // Make plain text from HTML 
         content[i] = String.valueOf(Html.fromHtml(Html.fromHtml(((Node)contentHTMLList.item(0)).getNodeValue()).toString())); 

         // Get Post content thumbnail 
         int start = contentHTML[i].indexOf("src=\"") + 5; 
         int end = contentHTML[i].indexOf("\"",start); 

         thumbimage[i] = contentHTML[i].substring(start,end); 
        } 
       }catch(Exception e) { 
        Log.d("Log","XML parsing exception = "+e); 
       } 
       return null; 
      } 

      @Override 
      protected void onPostExecute(Void aVoid) { 
       super.onPostExecute(aVoid); 

       // Check the data using log 
       Log.d("Log","Title is"); 
       for(int i=0; i<title.length; i++) { 
        Log.d("Log",title[i]); 
       } 
       Log.d("Log","content is"); 
       for(int i=0; i<content.length; i++) { 
        Log.d("Log",content[i]); 
       } 
       Log.d("Log","thumbimage is"); 
       for(int i=0; i<thumbimage.length; i++) { 
        Log.d("Log",thumbimage[i]); 
       } 
       Log.d("Log","contentHTML is"); 
       for(int i=0; i<contentHTML.length; i++) { 
        Log.d("Log",contentHTML[i]); 
       } 
      } 
     } 
    } 

Répondre

0

Je suis sérieusement étonné que vous analysez les données XML pour convertir votre blog à une application. Peut-être que vous pouvez y parvenir, mais pourquoi un tel processus en premier lieu?

Vous pouvez simplement analyser le contenu de votre blog en utilisant BLOGGER API. L'API Blogger v3 permet aux applications client d'afficher et de mettre à jour le contenu Blogger . Votre application cliente peut utiliser l'API Blogger v3 pour créer de nouveaux billets de blog, modifier ou supprimer des publications existantes, et rechercher des publications correspondant à des critères particuliers.

Créez des applications basées sur un navigateur et des applications mobiles permettant aux utilisateurs de créer et de gérer leurs publications où qu'elles soient. Vous pouvez être génial lors de l'analyse XML et cela peut vous convenir, mais pourquoi compliquer les tâches lorsqu'un simple appel d'API peut vous chercher des résultats. Je recommande fortement à tout le monde d'utiliser l'API Blogger plutôt que l'analyse XML.