YouTube API

Google Android WebAPIプログラミング入門
を参考に、Web API の勉強です

今回は、YouTube API についてです
これは Google が公開しているAPIで URLで指定する以外に
Java Script や ActionScript を利用してブログ、CMSなどに
JavaScript コードを埋め込む形で利用するAPIもあります
ちなみに、書籍で紹介されている方法は、URL指定でデータを受け取る形式の
APIを使ってアプリを作成する方法です
今回の書籍には載っていませんが
このAPIを使うことで、おそらく最近おこなわれつつある動画マーケティングなどにも
使えると思います
ドキュメントサイトURLは
http://code.google.com/intl/ja/apis/youtube/overview.html
となります

Ustreamのパスワード配信

Ustream でパスワードを配信ができるようです
Ustreamにパスワード認証をかける方法
に方法が載っていました
これを利用すれば有料サービスも展開出来そうですが
利用規約がどうなっているかが微妙ですが
Ustream 有料配信 
で検索してみた結果
ustreamで個人が有料配信が出来るように
などをみると、どうやら個人で有料配信ができるようです
この機能と、PDFマニュアル
などを組み合わせたりすれば
オンラインセミナーなどもできそうですが
たしか、Ustream には録画して配信することもできたはず…

AmazonEC2 のドメインとDNS

AmazonEC2 のドメインと、固定IPについて調べました
AmazonEC2 でインスタンスを作成し、Web サーバを構築
そしてメールサーバーを作っていろいろと行う予定なのですが
このIPが変わるのは、インスタンスを再起動するたびに変わります
そして、ホスト名がこのIPアドレスが関係しているので、ころころと変わります
IPの固定については AWS のオプションである Elastic IP Addresses
を使うことで解決です
ただし、有料オプションのうえ、そのまま放置するとお金がかかります
解除するには、自分で設定する必要性があります
ちなみに、料金が毎月かかります
設定、解除については
AWS ElasticIP 料金 ご注意

Amazon EC2で固定IPを取得する
を参考にさせていただきました
ちなみに、IPを固定しておけば
Amazon EC2を独自ドメインで使う
にあるように、独自ドメインの使用も可能になるようです
また、メールサーバー構築に関してもおそらくこういった要素があると
なんらかの弊害があることが予想されます
まずは、WEBサーバから構築し、メールサーバーに関しては
その後対策を講じてみます

初歩的なミス

Google Android WebAPIプログラミング入門

を参考に、アプリのマッシュアップの勉強していましたが
JSON解析のところで初歩的なミスをしました
JUnit Test を行っていて、
エラーがでてくるため、一度ソースを見直してみたのですが
理由がわからず、いろいろと探してみました
もう少しログを見れば、HttpStatus.SC_OK
のところで
エラーがでていて、この原因が まだAndroidManifest.xml で
android.permission.INTERNET
を記述していないのが原因だと気づけたのですが….
すでに、修正したためエラーがでなくなりましたが
今後は同じミスがでたときのために、
エラーログもメモしておこうと思います

rpm のダウングレード

RPM パッケージで、依存性の欠如により
古いパッケージが必要になることがあります
これは、ソースからのインストールを行うときによくあることです
そんなときには、
–oldpackageオプションを使用します
使い方については
rpmコマンドでパッケージをダウングレードするには
が参考になります
とはいったものの、まずは古いRPMパッケージを入手しないといけません
(yum コマンドの場合なら、ネットから簡単に取得できますが)
この場合、まずは必要なパッケージがなにかを調べるため
rpm -qa | grep パッケージ名
として、現在入っているパッケージを調べ
次に、必要なパッケージを googleで検索し
ダウンロードします

Base 関連のインストール

開発ツール群のインストール(CUI)
では、
yum groupinstall “Development Tools”
を使うことで
開発ツールをインストールすることができました
同様に、
yum groupinstall “Base”
を実行することで、ベース関連をインストールすることができました
これで、過去にCentOS AMI に入れておきたいもの
で必要としたものが少し進展しました
試しにシステムツールを
yum groupinstall “System Tools”
でインストールしたら、いくつかのパッケージがインストールされました
今回インストールされたのは
OpenIPMI i386 2.0.16-11.el5_7.2 updates 158 k
bluez-hcidump i386 1.32-1 base 94 k
hwbrowser noarch 0.30-3.el5 base 93 k
net-snmp-libs i386 1:5.3.2.2-14.el5_7.1 updates 1.3 M
nmap i386 2:4.11-1.1 base 672 k
ntp i386 4.2.2p1-15.el5.centos base 1.3 M
openldap-clients i386 2.3.43-12.el5_7.9 updates 218 k
samba-client i386 3.0.33-3.29.el5_7.4 updates 5.7 M
screen i386 4.0.3-4.el5 base 559 k
vnc i386 4.1.2-14.el5_6.6 base 160 k
xdelta i386 1.1.3-20 base 111 k
zisofs-tools i386 1.0.6-3.2.2 base 16 k
zsh i386 4.2.6-5.el5 base 1.7 M
Updating:
dmidecode i386 1:2.11-1.el5 base 78 k
Installing for dependencies:
OpenIPMI-libs i386 2.0.16-11.el5_7.2 updates 570 k
gnome-python2-canvas i386 2.16.0-1.fc6 base 23 k
libsmbclient i386 3.0.33-3.29.el5_7.4 updates 908 k
pyparted i386 1.8.1-4.el5 base 24 k
samba-common i386 3.0.33-3.29.el5_7.4 updates 6.7 M
Updating for dependencies:
openldap i386 2.3.43-12.el5_7.9 updates 297 k
となりました

開発ツール群のインストール(CUI)

AmazonEC2 でAMIから起動する方法で現在
サーバーを構築中ですが、VMware で自宅サーバー構築したときとは
異なり、初期状態でベースや開発ツールなどを
いれることができませんでした
このため、後からいれることになります
今回の参考サイトは
CentOS 5.3 インストール その2です
yum groupinstall “Development Tools”
をroot で実行することでインストールすることができました

JSON について

Google Android WebAPIプログラミング入門
でJSONの取扱いがあったので、扱う前にメモしてみました

JSON は Java Script Object Notation の略で
軽量のデータ交換フォーマットを意味するようです
JSONの構造は Object と Array の2種類
Object は1つ以上のメンバで構成されていて
メンバは名前と値のペアになっている
名前と値は “:” で区切ってある
(Android の XMLファイルによく使う android:id みたいなかんじ)
複数のメンバを {} で囲んで Object を表現している
(関数のスコープみたいなかんじで)
Array は [] で区切って表現
Array の中には Object や値が含まれていて “,” で区切って表現する
というようになるようです
実際のデータをみるには
http://express.heartrails.com/api/json?method=getStations&name=%E5%B2%A1%E5%B1%B1
へアクセスし、ファイルをダウンロードして中身をみるとよりわかりやすいです

Android アプリ開発の勉強中で、メモです
参考書籍はGoogle Android WebAPIプログラミング入門

HeartExpress API のアプリ

忘れないういちにメモしておきました
最初に、プロジェクトを作成します
書籍と同じ名前のアプリは、すでにソースを見るためにインポートしているため
不可能
なので、プロジェクト名を APIStationSearch
Activity は MainActivity としました
次に、テストプロジェクトを作成します
作成した APIStationSearch をクリックしてから
File > new > Project で
Android Test Poject を選び、次へをクリック
Project Name には APIStationSearchTestTest とし
Test target を
This project にします
もし、APIStationSearch をクリックして選択していないのなら
An existing Android project を選択して、Browse をクリックし
プロジェクトから探すのですが、さすがに面倒なので、先に選択しておきました

駅情報検索できる HeatRails Express のAPI


Google Android WebAPIプログラミング入門
を参考にマッシュアップアプリ作成の勉強中です
今回は、駅情報検索アプリとなる  HeatRails Express のAPIについてです
ドキュメントサイトは
http://express.heartrails.com/
となります
HeatRails Express
では
路線、駅名などの地理情報データをXMLとJSON形式で無料提供しています
商用、非商用でも使用可能となっています
駅情報取得APIの他に
エリア情報取得API
都道府県情報取得API
路線情報取得API
最寄り駅情報取得API
などがあります
このAPIを使うとき、公開アプリの場合、じゃらんのときのように
クレジット表示が必要になります
今回の書籍での取扱いは
JSON形式でした
http://express.heartrails.com/api/json?method=getStations
という
形式になります
書籍には
岡山駅を表示するというのが最初に載っています
http://express.heartrails.com/api/json?method=getStations&name=%E5%B2%A1%E5%B1%B1
をブラウザで入力(今回はFireFox)して
ファイルをダウンロードし、テキストエディタ(gedit)
で開くと内容が見れます(JSON形式のデータです)
以前、講習で JUnit Test を受けたことがありますが
JSONの解析はまだ未経験なので、学習しながらまとめていこうと思います