मैंने इसके लिए हर जगह खोज की लेकिन कोई भी जवाब नहीं दे रहा है।गतिविधि को प्रीलोड कैसे करें?
मेरे सरल सवाल यह है:
वहाँ एक गतिविधि को पहले से लोड करने के लिए एक तरीका है? मुझे इसकी आवश्यकता है क्योंकि मैं एक टैब का उपयोग करता हूं, और एक टैब में कई गतिविधियां होती हैं। मेरी गतिविधियों में से एक एक आरएसएस पाठक है, और यह बहुत कठिन (लगभग 2-3 सेकंड) लोड करता है।
वेब पर जो कुछ भी मिला वह एक मजाक है। हर किसी की राय है, लेकिन कोई भी आपको नमूना कोड पर इंगित नहीं कर सकता है। उत्तर की प्रतीक्षा कर रहा है, धन्यवाद!
At onCreate:
// go get our feed!
feed = getFeed(RSSFEEDOFCHOICE);
// display UI
UpdateDisplay();
countdown();
And the functions:
private RSSFeed getFeed(String urlToRssFeed)
{
try
{
// setup the url
URL url = new URL(urlToRssFeed);
// create the factory
SAXParserFactory factory = SAXParserFactory.newInstance();
// create a parser
SAXParser parser = factory.newSAXParser();
// create the reader (scanner)
XMLReader xmlreader = parser.getXMLReader();
// instantiate our handler
RSSHandler theRssHandler = new RSSHandler();
// assign our handler
xmlreader.setContentHandler(theRssHandler);
// get our data via the url class
InputSource is = new InputSource(url.openStream());
// perform the synchronous parse
xmlreader.parse(is);
// get the results - should be a fully populated RSSFeed instance, or null on error
return theRssHandler.getFeed();
}
catch (Exception ee)
{
// if we have a problem, simply return null
return null;
}
}
private void UpdateDisplay()
{
TextView feedtitle = (TextView) findViewById(R.id.feedtitle);
TextView feedpubdate = (TextView) findViewById(R.id.feedpubdate);
ListView itemlist = (ListView) findViewById(R.id.itemlist);
if (feed == null)
{
feedtitle.setText("No RSS Feed Available");
return;
}
feedtitle.setText(feed.getTitle());
feedpubdate.setText(feed.getPubDate());
ArrayAdapter<RSSItem> adapter = new ArrayAdapter<RSSItem>(this,android.R.layout.simple_list_item_1,feed.getAllItems());
itemlist.setAdapter(adapter);
itemlist.setOnItemClickListener(this);
itemlist.setSelection(0);
}
बेहतर AsyncTask का उपयोग करें और जब तक डेटा लोड हो जाता है कुछ समय के लिए एक ProgressDialog रखने के लिए। –
आप आरएसएस रीडर को किसी सेवा (या तो एक एंड्रॉइड सेवा या एक साधारण सिंगलटन सेवा) में अलग क्यों नहीं कर सकते हैं जो ऐप प्रारंभिक पर फ़ीड्स लोड करना शुरू कर देता है? अलग-अलग दृश्य और मॉडल तर्क आमतौर पर सलाह दी जाती है। – jkschneider