آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در اجرای پروژه RSS Feeds

امیرعلی  12 سال پیش  12 سال پیش
0 0

سلام من این کد رو  از یک  pdf  آموزشی گرفتم . ولی اجرا نمیشه. لینک دانلود پروژه : http://upir.ir/931/SimpleRssReader.zip

 package simple.Rss;

import simple.Rss.Data.RssItem;
import simple.Rss.uti.RssReader;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;


public class main extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        RssReader rssReader = new RssReader(">http://feeds.pcworld.com/pcworld/latestnews");

        ListView ListView1 = (ListView) findViewById(R.id.ListView1);
        ArrayAdapter adapter;
        try {
            adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, rssReader.getItems());

            ListView1.setAdapter(adapter);
            ListView1.setOnItemClickListener(new ListListener(rssReader.getItems(), this));

        }
        catch (Exception e) {
            Log.e("simple Rss Reader", e.getMessage());
        }

    }
}

package simple.Rss.Data; public class RssItem { private String title; private String link; 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; } }



package simple.Rss.uti; import java.util.List; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import simple.Rss.Data.RssItem; public class RssReader { private String rssUrl; public RssReader(String rssUrl) { this.rssUrl = rssUrl; } public List getItems() throws Exception { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); RssParseHandler handler = new RssParseHandler(); saxParser.parse(rssUrl, handler); return handler.getItems(); } }



package simple.Rss; import java.util.List; import simple.Rss.Data.RssItem; import android.app.Activity; import android.content.Intent; import android.net.Uri; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; public class ListListener implements OnItemClickListener { List listItems; Activity activity; public ListListener(List listItem, Activity activity) { this.listItems = listItem; this.activity = activity; } @Override public void onItemClick(AdapterView<?> parent, View view, int pos, long id) { Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse(listItems.get(pos).getLink())); activity.startActivity(i); } }


package simple.Rss.uti; import java.util.ArrayList; import java.util.List; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; import simple.Rss.Data.RssItem; public class RssParseHandler extends DefaultHandler { private List rssItems; private RssItem currentItem; private boolean pasingTitle; private boolean pasingLink; public RssParseHandler() { rssItems = new ArrayList(); } public List getItems() { return rssItems; } @Override public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException { if ("content-item".equals(qName)) { currentItem = new RssItem(); } else if ("title".equals(qName)) { pasingTitle = true; } else if ("url".equals(qName)) { pasingLink = true; } } @Override public void endElement(String uri, String localName, String qName) throws SAXException { if ("content-item".equals(qName)) { rssItems.add(currentItem); currentItem = null; } else if ("title".equals(qName)) { pasingTitle = false; } else if ("url".equals(qName)) { pasingLink = false; } } @Override public void characters(char[] ch, int start, int length) throws SAXException { if (pasingTitle) { if (currentItem != null) { currentItem.setTitle(new String(ch, start, length)); } else if (pasingLink) { if (currentItem != null) { currentItem.setLink(new String(ch, start, length)); pasingLink = false; } } } } }


0 0
چون حجم کدها زیاده ، بهتره پروژه ای که ساختی رو یه جا آپ کنی و لینک بذاری. فکر کنم اینجوری زودتر نتیجه بگیری (12 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
perkas  12 سال پیش
0 0

تحت چه پلتفرمی پروژه رو ساختی ؟

من قبلا چنین مشکلی داشتم

همینو با اندروید 2.2 کار میکردم درست بود


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .