LGD Viewer


LGD Viewer を WEBサービス として公開しました。
Linked Open Data チャレンジ Japan 2012アプリ部門 a013 として応募しました。

このアプリは、 Open Street Map に登録されているノードの情報を地図に表示するWEBアプリケーションです。
指定された緯度経度から1km以内のノードを取得します。
HTML形式で表示する他に、JSON形式で情報を返送するAPIを持っています。
スマートフォンのアプリケーションが利用することを想定しています。
OSM Node Viewer で利用しています。

ノード情報の取得には、 Linked Geo Data を利用しました。
使い方などはこちらから

ソースコードは code google で公開しています。

もう少しやりたいことを書いておきます。
(1) linkedgeodata.org で定義している ontology と property が大量にあるので、再利用しやすいように整理する。
(2) OSM Node Viewer で利用しているノードの情報が、名称と種別だけなので、もっと情報を増やす。


どこでもPInQA


pinqa1_main_2pinqa1_article

どこでもPinQAGoogle Play にて公開しました。
Linked Open Data チャレンジ Japan 2012アプリ部門 a026 として応募しました。

このアプリは、 PinQA に登録されている情報を地図に表示するアプリケーションです。 地図の中心から2km以内のノードを表示します。
PinQA は、NTTレゾナント が提供する位置情報系サービスです。
特定テーマやエリアについて、行きたいリストが作れます。

データの取得には PinQA LOD API を使用しました。
使い方などはこちらから

ソースコードを code google で公開しています。

もう少しやりたいことを書いておきます。
(1) 地図のデフォルトの場所が「関内」固定になっているので、ユーザが変更できるようにする。
(2) 地図のマーカーの色が固定になっているので、ユーザが変更できるようにする。

参考
NTTレゾナント、位置情報系まとめ記事作成サービス「PinQA」提供開始


OSM Node Viewer


osm1_main osm1_marker

OSM Node Viewer を Google Play にて公開しました。
Linked Open Data チャレンジ Japan 2012アプリ部門 a014 として応募しました。

このアプリは、 Open Street Map に登録されているノードの情報を地図に表示するアプリケーションです。 地図の中心から1km以内のノードを表示します。

ノード情報の取得には、 Linked Geo Data を利用しました。
直接ではなく、LGD Viewer をキャッシュサーバーとして利用しています。

使い方などはこちらから

ソースコードを code google で公開しています。

もう少しやりたいことを書いておきます。
(1) 背景地図を GoogleMap から OpenStrretMap にする。
(2) ノードの情報が、名称と種別だけなので、もっと情報を増やす。
(3) 地図のデフォルトの場所が「関内」固定になっているので、ユーザが変更できるようにする。
(4) 地図のマーカーの色が固定になっているので、ユーザが変更できるようにする。
(5) SDカードにキャッシュが溜まっていくので、自動的に古いものをクリアする。


2013年1月 横浜支部 定例会


20130126android_yokohama

2013年1月26日(土) さくらWORKS にて 日本Androidの会 横浜支部 定例会を開催しました。

今回は 横浜オープンデータ・ハッカソン と同時開催です。

■ 横浜オープンデータ・ハッカソン
前日の18時から 24時間ハッカソン が開始されました。
この日は朝10時から20名ほど集まりハッカソンを継続しました。

午後1時半くらいから定例会の参加者が集まりだしました。
ハッカソンの参加者と合わせて40名超となり、会場は超満員でした。
30分ほど遅れて午後2時半から定例会を開始しました。

■ 定例会 開会の挨拶
横浜支部 支部長 挨拶 @ohwada

横浜オープンデータ・ハッカソン 主催者 挨拶
横浜コミニュティデザイン・ラボ / 杉浦裕樹 さん

■ オープンデータ実習 @ohwada
発表資料
(1) オープンデータの概要説明
(2) オープンデータを使った Android アプリの作成
30分という短い時間でしたが、3割くらいの人が完成しました。
(3) LODチャレンジの紹介

■ 発表
(1) 横浜オープンデータ・ハッカソン 主催者 挨拶
Linked Open Data Initiative / 小林巌生 さん

(2) 12月の Make Tokyo 出展 @hrdakinori
横浜ロボット部の展示の様子や Kuratus など他の展示の紹介

(3) OpenCV4Android で画像処理アプリのススメ @nekomeshi312
発表資料
画像エフェクト処理がなかなか面白い

(4) Ltやりませんか? @TakamiChie
発表資料
Lightning Talk への誘い

■ GCM実習 @ohwada
発表資料
(1) GCM (Google Cloud Message) の概要説明
(2) 横浜支部で借りた KDDI CloudCore の説明
(3) GCM を使った Android アプリの作成
1割くらいの人が完成しました。
サーバー側の設定やIDの取得などがあり、少し難易度が高かったようです。

■ 定例会 閉会の挨拶
3月15日16日の ABC 2013 Spring に 横浜支部 で出展します。

■ 横浜オープンデータ・ハッカソン 成果発表
横浜データポータル横浜検定アプリ など。

■ 懇親会
普段は交流のない Android とオープンデータの開発者の合同懇親会です。
知らない分野の話を聞くのも、なかなか楽しかったです。


Android のサンプルコード


Android 公式サイト
SDKにサンプルコードが入っています、しか書かれていないです。
昔はサンプルコードの説明も載っていたのに。(^^;

android_samples

ソフトウェア技術ドキュメントを勝手に翻訳
公式サイトを日本語に翻訳しているサイトです。
サンプルコードの簡単な説明が載っています。

android_samples_translator

Huihoo
オープンソースの様々なドキュメントがアーカイブされています。
Android のサンプルコードの説明が載っています。
Android 2.1 | Android 2.2 | Android 2.3 | Android 3.0

android_samples_21


ヨコハマ・アート・ガイド


yag_event_detail yag_map_list

ヨコハマ・アート・ガイド を Google Play にて公開しました。
Linked Open Data チャレンジ Japan 2012 に アプリ部門 a003 として応募しました。

このアプリは、横浜で開催されるアート関係のイベントを紹介するアプリケーションです。 横浜でアートな気分に浸りたいときにお使い下さい。

イベント情報の取得には、ヨコハマ・アート・LOD を利用しました。
使い方などはこちらから

ソースコードも code google で公開しています。

もう少しやりたいことを書いておきます。
(1) 電話番号に +081 が付いているので、表示するときに削除する
(2) 地図のデフォルトの場所が「関内」固定になっているので、ユーザが変更できるようにする。
(3) 地図には「ぐるなび」などからの店舗情報も表示できるようにする。
(4) SDカードにキャッシュが溜まっていくので、自動的に古いものをクリアする。
(5) YouTube に YokohamaArtNavi のチャネルがあるので、動画の一覧を表示する。
(6) アイコンを格好よくしたい。
(7) 画面がモノトーンなので色味をつける。


BusinessCard – Android 2.0


20130111business_card_list20130111business_card_pick

BusinessCard は、Activity から連絡帳にアクセスするサンプルコードです。
このサンプルでは、Android 1.6 (API 4) 以前と Android 2.0 (API 5) 以降で、異なる API を使います。これはリフレクションを使って実現します。

このサンプルは、Android 2.2 の SDK に含まれてましたが、現在は無くなっています。
ソースコードは code.google にアーカイブされています。

簡単な説明
5つのファイルがあります。
(1) BusinessCardActivity.java
メインの Activity です。

(2) ContactAccessor.java
リフレクションを使って、下記の2つのクラスを選択します。

(3) ContactAccessorSdk3_4.java
Contacts.People を使って、連絡帳にアクセスします。

(4) ContactAccessorSdk5.java
ContactsContract.Contacts を使って、連絡帳にアクセスします。

(5) ContactInfo.java
連絡帳の項目を格納するコンテナです。


ContactManager – Android 2.0


20130110contact_manager_main20130110contact_manager_adder

ContactManager は、ContactsContract API を使って、連絡帳に問い合わせするサンプルコードです。
特定のアカウントに連絡帳を追加します。

簡単な説明
2つのファイルがあります。
(1) ContactManager.java
メインの Activity です。
Activity#managedQuery を使って、連絡帳の一覧を取得します。

(2) ContactAdder.java
特定のアカウントを連絡帳に追加する Activity です。
OnAccountsUpdateListener を使って、アカウントの一覧を取得します。
ContentProvider#applyBatch を使って、連絡帳に追加します。

注意
エミュレータではアカウントが登録できなかった。


GCM ( Google Cloud Messaging ) を試す


下記の参考サイトのとおりにやったら、すんなり動いたので、
新しい情報はないが、簡単に手順を書いておく。

(1) API Key を取得する
Google APIs Console から「Project Number」と「API key」を取得する

(2) ライブラリをインストールする
Eclipse の SDK Manager から「Google Cloud Messaging for Android Library」をインストルする。

(3) サンプルコードを取得する
code.google からサンプルコードの取得を取得する

(4) Android アプリを作成する
(4-1) 下記の2つをインポートする。
– samples/gcm-demo-client (アプリ本体)
– gcm-client (ライブラリ)

(4-2) CommonUtilities.java に「SERVER_URL」と「SENDER_ID」を記述する。
SERVER_URL は (5)で作成するサーバアプリのURLです。
SENDER_ID は (1) で取得した Project Number です。

(4-3) ビルドして、実機で動かします。
(4-4) LogCat から「regId」をコピーします。

(5) サーバアプリを作成する
(5-1) azukinohiroki さんのPHPプログラムをコピーする。

(5-2) 「API Key」と「registration id」を記述する
API Key は (1) で取得したものです。
registration id は (4-4) で取得した regId です

(5-3) サーバにアップロードする。

(6) 実行する
(6-1) 実機で Android アプリを起動します。
(6-2) ブラウザでサーバにアクセスします。
(6-3) 下記のメッセージが表示されれば、成功です。
ブラウザに「id=xxx」が表示される
Android 端末に「From GCM: you got message!」が表示される

参考
Google Cloud Messaging for Android – ソフトウェア技術ドキュメントを勝手に翻訳
Android GCMでメッセージを送る – DegiWiki

Google Cloud Messaging for Android (GCM)を使ってみた – azukinohirokiの日記