最近のはまり事 [パソコン]
しばらく何も投稿していませんでしたが、最近はiアプリを作ることにはまっています(?)
というか、必要にかられてiアプリを作っています。
たいしたものではないのですが、赤外線などいろいろとインターフェスをiアプリから呼び出すので、シミュレータだけでは十分なデバッグができず、いちいち実機にダウンロードしてデバッグしています。
初めてのiアプリ作りなので、次のサイトを参考にしました。
- 「Javaで作ろう!iアプリ」(All About)
Atomクライアントの実装 その2 [パソコン]
AtomでSo-net blogを操作するソフトウェア実装の続きです。
今日は、以前作成したRSSリーダーにAtom機能を追加するため、プログラムの構成を変更しました。
変更した内容は、まず、RssModulesというクラスを新たに作り、String GetRssInfo(String rssUrl)というメソッドを作成しました。
そして、jButton1MouseClicked()内に記述していたコードをGetRssInfoへ移植しました。
そして、jButton1MouseClicked()が呼ばれたとき、RssModules.GetRssInfo()を呼ぶことで同じように動作するよう作成しました。
詳しくは、後日、他のコードを記述した後に書いていきたいと思います。
Atomクライアントの実装 [パソコン]
AtomAPIを利用してJavaでSo-net blogへ投稿するツールの作成方法について調べていましたが、So-netのAtomAPIというのは一般的なAtomのことのようですね。
WikipediaでAtomAPIサーバ実装しているサービス提供者のリストの中にSo-netが含まれていました。
そうだとすると、ROMEを使えばAtomにも対応しているので、簡単に実装できそうです。
AtomAPI投稿の調査 [パソコン]
So-net blogへAtomAPIで投稿する方法について調べていると、So-net内にAtomAPIについての仕様を記したページが見つかりました。
So-netが定めた仕様なのでしょうか?
Movable typeなどでも利用できるもののようですが。。
まずは、この仕様をもとに、Javaで実装していきたいと思います。
とりあえずの目標として、AtomAPIを用いたblog閲覧機能を実装します。
期限は、1週間くらいで。。
参考サイト
RSSリーダーで記事投稿 [パソコン]
これまでに作成したJavaを用いたRSSリーダーを使って、so-netのblogに記事を投稿できないかを調べたところ、so-netのblogには、APIが用意されているようです。
XML-RPCもしくは、AtomAPIを利用して投稿すればできそうです。
メール投稿の機能を使って実現することも可能でしょうが、せっかくなので上のどちらかの方法を使って、簡単に記事を投稿できないか試してみたいと思います。
参考サイト
JavaでRSSリーダー 完結編 [パソコン]
今日は、JavaでRSSリーダー作成の最終回です。
長々と書きましたが、とうとう一段落です。
今日は、 RSSリーダーを取得して表示するための、プログラムを記述します。
追加するプログラムは、"RssView.java"というファイルへ記述するのみです。
ライブラリの追加
追加したRomeなどのライブラリを利用するために、インポートを行います。
さらに、それらのライブラリの変数として、URLやList型を呼び出す必要があるため、それらを呼び出し可能にするライブラリを追加します。
追加した内容は、次のようになります。
// ---ここから---
import java.net.URL;
import java.util.List;
import com.sun.syndication.feed.synd.SyndEntry;
import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.fetcher.FeedFetcher;
import com.sun.syndication.fetcher.impl.HttpURLFeedFetcher;
// ---ここまで--
プログラムの追加
次に、実際にプログラムを追加します。
前回ボタンをクリックしたときに動作する関数を追加しましたが、その関数内に動作を記述していきます。
具体的には、jButton1MouseClickedという関数に記述します。
記述すべき内容は、次のようになります。
private void jButton1MouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
try {
FeedFetcher fetcher = new HttpURLFeedFetcher();
// 取得したフィードの内容を格納
SyndFeed feed = null;
// jTextField1に入力文字がないときは動作しない
if (!jTextField1.getText().equals(""))
feed = fetcher.retrieveFeed(new URL(jTextField1.getText()));
else
return;
// フィードの内容を取得
for (SyndEntry sentry : (List<SyndEntry>)feed.getEntries()) {
jTextArea1.setText( jTextArea1.getText() +
"Update:" + sentry.getPublishedDate() +
"\nURL:" + sentry.getLink() +
"\nTitle:" + sentry.getTitle() + "\n\n");
}
}
catch(Exception e) {
System.out.println(e.toString());
}
}
動作の確認
以上を行いファイルをセーブすると、NetBeansでは、自動的にコンパイルが行われます。そのため、保存するだけで、エラーが表示され、その点はNetBeansの利用しやすい点だと思います。
さらに、プログラムを動作させるには、ツールバーの"実行"->"主プロジェクトの実行"とするか、 "F6"を押せば下のようなウインドウが現れます。
そして、RSSのテキストフィールドに、RSSを記述して"取得"ボタンを押すと、次の様にテキストエリアに取得したRSSの内容が表示されます。
これで終了です。今後は、このRSSリーダーを用いて新しいアプリケーションを考えていきたいと思います。
JavaでRSSリーダー その3 [パソコン]
RSSリーダー作成の続きです。
前回までは、プロジェクトを作成してアプリケーションのフォームを設計するところまで書きました。
今日は、コーディングに入るまでの設定などについて書きます。
Jarのインポート
前回、ダウンロードしたJarファイルをインポートする方法は、次のようになります。
まず、プロジェクトの子である"ライブラリ"を右クリックし、"JAR/フォルダを追加"を選択します。
そして、インポートするJarファイルを選択します。
NetBeansでは、複数のJarファイルを一度にインポートできるようです。
インポートが完了すると、"ライブラリ"の子に追加したJarファイル名が現れます。
イベント発生時に実行する関数の定義
今回は、「取得」ボタンが押されたときに、ボタンの左のテキストフィールドに入力されたRSSを取得するように作成します。
方法は二つあり、ひとつはフォーム上でイベントを追加する方法、もうひとつはインスペクタで追加する方法です。
違いは、ただ、右クリックする場所だけです。
フォーム上の場合
インスペクタの場合
イベントを追加するコンテナ上で右クリックし、"イベント"->"Mouse"->"MouseClicked"を選択すると自動で関数が定義されるので、マウスをクリックしたときに実行するプログラムを書いてください。
続きは、また後日。。
JavaでRSSリーダー その2 [パソコン]
昨日のRSSリーダー作成の続きです。
今日は、RSSリーダーのためのライブラリについての情報を追加します。
今回は、こちらの記事に書かれている内容を参考に作成していきたいと思います。選択したライブラリは、ROMEと呼ばれるライブラリです。
コーディングのときにimport com.sun.・・・とsunも関係しているライブラリであるようですので、信頼できるだろうと思い、採用することにしました。
今回の実装で必要なライブラリは、rome、rome-fetcher、jdomの3種類です。
記事の中では、romeとrome-fetcherしかかかれていませんが、jdomがない場合、コンパイルは通過することができますが、実行時に関数が見つからないと言うエラーが発生します。
各ライブラリのダウンロードは、下記のサイトからお願いします。
- rome:https://rome.dev.java.net/
- rome-fetcher:http://wiki.java.net/bin/view/Javawsxml/RomeFetcher
- jdom:http://www.jdom.org/
今回利用したライブラリのバージョンはそれぞれ以下のとおりです。(直リンも張っておきます)
それぞれのファイルをダウンロード後、解凍すると、中に.jarファイルがあります。
それをNetBeansでインポートして利用します。続きは、また書きます。
JavaでRSSリーダー [パソコン]
JavaでRSSリーダーを作成してみることにしました。
とりあえず、NetBeans 6.5を使って、プロジェクトを立ち上げてみました。順序は次のとおりです。
1.「"ファイル"->"新規プロジェクト"」を選択
2.カテゴリで「Java」、プロジェクトで「Javaデスクトップアプリケーション」を選択
3.プロジェクト名に"RssApp"と入力し、プロジェクトの作成を完了
4. 作成されたプロジェクトに必要なモジュールを配置
今回、配置したモジュールは、次の4つです。
- ラベル:RSSを入力するテキストフィールドを識別
- テキストフィールド: RSSを入力するフィールド
- ボタン:入力されたRSSを取得開始するボタン
- テキスト領域:取得したRSSを表示
モジュールの配置は、ドラックドロップで簡単にできます。
ラベルのプロパティのTextに"RSS"、ボタンのプロパティのTextに"取得"とセットしました。
具体的なプログラミングについては、今後、書いていきます。