您找到的代码片段是类似XML解析器的方法。基本上,它应该做的是从您的网站接收和解析信息。可以找到有关在Android中解析XML的更多信息 这里 。
回答你的问题:
您可以通过其RSS源从您的网站获取新闻。
这不是一项微不足道的任务。你应该:
做一个 HTTP 请求使用RSS链接访问您的网站,以获取XML Feed作为输入流。你可以实现这一目标 HttpURLConnection 类。更多细节 这里 。一定要添加 <uses-permission android:name="android.permission.INTERNET" /> 允许的 AndroidManifest.xml
HTTP
HttpURLConnection
<uses-permission android:name="android.permission.INTERNET" />
AndroidManifest.xml
获得XML后,使用Feed解析器解析它并获取列表 RssItems 。一个 RssItem 可能看起来像这样:
RssItems
RssItem
public class RSSItem { private String title; private String description; private String category; private String pubdate; private String link; //Getters and setters here }
List<RssItem>
ListView
你可以存储一堆 RSSItem 在一个 SQLite Database 。您的数据库可能只有一个包含5个项属性(标题,描述等)的表作为列+一列用于id。更多关于数据库 这里 。
RSSItem
SQLite Database
关于 every time the phone is connected to internet automatically :
every time the phone is connected to internet automatically
从用户角度来看,每次手机连接到互联网时,我都不希望RSS新闻应用程序不断获取Feed。这是因为性能问题(电池耗尽,数据流量)。如果手机始终连接到互联网,在此期间它将无法获取任何内容,该怎么办?
相反,我希望这种应用程序有一个刷新机制,以便在我想要时获取新闻(可能实现一个按钮)。
您可以使用BroadcastReceiver,每当发生连接更改时都会收到通知。在这里查看更多相关信息:
http://www.grokkingandroid.com/android-getting-notified-of-connectivity-changes/
http://www.grokkingandroid.com/android-tutorial-broadcastreceiver/
但是你最终可能会发出太多请求 - 因为用户只会偶尔使用你的应用程序,而BroadcastReceiver会收到通知 一切 更改。
由于您正在显示Feed,因此当用户实际使用您的应用时,为什么不加载数据,直到最新的Feed项可用为止,显示现有的新闻项。
一世 我希望一个应用程序在启动时通过一个随时耗尽我设备电池的应用程序加载数据 - 除非我不断使用应用程序和最新数据(如电子邮件)。
作为另一种可能性,您可能需要查看Google Cloud Messaging。在这种情况下,以电池友好的方式推动更改。
对于您的第二个问题:对于Feed,我可能会使用所有Android设备上提供的SQLite数据库。