RSS (Really Simple Syndication) 是輕量級 XML 格式,廣泛用於部落格、新聞網站的內容發佈。本教學示範如何使用 NetBeans 4.0 搭配 Mobility Pack 4.0,從零建立一個相容 MIDP 1.0 的 J2ME RSS 閱讀器,支援舊款行動裝置。
kxml2-min.jar):用於解析 RSS XML,下載連結File → New Project (Ctrl+Shift+N)RSSReaderNew → Java Package,命名 RssReader (存放原始碼)icons 套件 (存放應用程式圖示)PropertiesApplication Descriptor → General:編輯 MIDlet-Vendor 填入開發者名稱Build → Libraries & Resources → Add JAR/ZIP 選取 kxml2-min.jar| 檔案 | 職責 |
|---|---|
RssFeed.java | RSS Feed 資料模型 (標題、連結、描述、項目列表) |
RssItem.java | 單一 RSS 項目模型 (標題、連結、發布日期、內容摘要) |
RssFeedParser.java | 使用 kXML 解析 XML 產生 RssFeed 物件 |
Settings.java | 儲存使用者設定 (RSS 來源 URL、更新頻率等) 至 RMS |
RssReaderMIDlet.java | 主 MIDlet:生命週期管理、UI 導航、網路下載排程 |
// RssFeedParser.java 片段
public RssFeed parse(InputStream in) throws IOException, XmlPullParserException {
XmlPullParser parser = new KXmlParser();
parser.setInput(in, "UTF-8");
parser.nextTag(); // 移至
parser.require(XmlPullParser.START_TAG, null, "rss");
// ... 依序解析 channel → title, link, description, item 陣列
return feed;
}
// Settings.java
private static final String STORE_NAME = "RSSReaderSettings";
public void save() {
RecordStore rs = RecordStore.openRecordStore(STORE_NAME, true);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeUTF(feedUrl);
dos.writeInt(refreshInterval);
// ... 其他欄位
rs.addRecord(baos.toByteArray(), 0, baos.size());
rs.closeRecordStore();
}
List 顯示訂閱來源List 顯示項目標題Form + StringItem 顯示完整內容,支援捲動Build → Build Main Project 產生 dist/RSSReader.jar 與 .jadProperties → Build → Obfuscation 勾選 Obfuscate,指定 ProGuard 或 WTK 內建混淆器Run → Run Main Project,選擇 DefaultColorPhone 或其他裝置皮膚.jar、.jad 透過藍牙、資料線或 OTA 下載安裝kxml2-min.jar 已加入 Libraries & Resources,且 Package 選項勾選MIDlet-Permissions 包含 javax.microedition.io.Connector.http完整原始碼請下載本教學附件。透過此專案,您將掌握 J2ME 網路應用開發的完整流程:從專案建立、第三方庫整合、XML 解析、RMS 持久化、UI 設計到發布部署。