2014-03-05 86 views
1

我目前正在研究一個應該閱讀目前docx(我可以更改格式)的文章的應用程序。我想知道什麼是將它們引用到我的應用程序的最佳方式,以便可以通過按鈕按下來調用它們。我知道我可以爲每篇文章設置一個單獨的佈局和活動,但是我有大約200篇文章,所以這不太實際。這裏是我的自定義列表視圖我想在這裏以及在我的每個部分中放置文章。高效讀取大量數據

package com.tjo.gmagnaum; 

import android.os.AsyncTask; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.AdapterView; 
import android.widget.ListView; 

import org.w3c.dom.Document; 
import org.w3c.dom.Element; 
import org.w3c.dom.NodeList; 

import java.util.ArrayList; 
import java.util.HashMap; 


public class CustomizedListView extends Fragment { // All static variables 
    static final String URL = "http://gmag.hossti.com"; 
    // XML node keys 
    static final String KEY_SONG = "song"; // parent node 
    static final String KEY_ID = "id"; 
    static final String KEY_TITLE = "title"; 
    static final String KEY_ARTIST = "artist"; 
    static final String KEY_DURATION = "duration"; 
    static final String KEY_THUMB_URL = "thumb_url"; 

    ListView list; 
    LazyAdapter adapter; 
    ArrayList<HashMap<String, String>> songsList; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     View rootView = inflater.inflate(R.layout.news, container, false); 
     songsList = new ArrayList<HashMap<String, String>>(); 

    list=(ListView) rootView.findViewById(R.id.list); 

     new RetrieveXML().execute(URL); 

     // Getting adapter by passing xml data ArrayList 


     // Click event for single list row    XMLParser parser = new XMLParser(); 

     list.setOnItemClickListener(new AdapterView.OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
            int position, long id) { 
      } 
     }); 
     return rootView; 
    } 

    class RetrieveXML extends AsyncTask<String, Void, String> { 

     private Exception exception; 
     XMLParser parser = new XMLParser(); 

     protected String doInBackground(String... urls) { 
      try { 

       return parser.getXmlFromUrl(urls[0]); 
      } catch (Exception e) { 
       this.exception = e; 
       return null; 
      } 
     } 

     protected void onPostExecute(String xml) { 
      Document doc = parser.getDomElement(xml); // getting DOM element 

      NodeList nl = doc.getElementsByTagName(KEY_SONG); 
      // looping through all song nodes <song> 
      for (int i = 0; i < nl.getLength(); i++) { 
       // creating new HashMap 
       HashMap<String, String> map = new HashMap<String, String>(); 
       Element e = (Element) nl.item(i); 
       // adding each child node to HashMap key => value 
       map.put(KEY_ID, parser.getValue(e, KEY_ID)); 
       map.put(KEY_TITLE, parser.getValue(e, KEY_TITLE)); 
       map.put(KEY_ARTIST, parser.getValue(e, KEY_ARTIST)); 
       map.put(KEY_DURATION, parser.getValue(e, KEY_DURATION)); 
       map.put(KEY_THUMB_URL, parser.getValue(e, KEY_ID)); 
       map.put(KEY_THUMB_URL, parser.getValue(e, KEY_THUMB_URL)); 

       // adding HashList to ArrayList 
       songsList.add(map); 

      } 

      adapter=new LazyAdapter(getActivity(), songsList); 

      list.setAdapter(adapter); 
     } 
    } 
} 

回答

0

如果有人真的在乎你可以建立一個簡單的域名(噸免費提供的),並在您的主機應該有一個FTP文件管理器,你可以用添加和組織文件中的控制面板非常簡單的URL查找代碼完美。 This is what I used希望它可以幫助你們!

相關問題