ソニー・エリクソンXperiaタッチアンドトライイベント

土曜日、日曜日とソニー・エリクソンXperiaのタッチアンドトライイベントで「Near Near」アプリの紹介をしていました。 twitter @Xperia_OPUSさんの写真より
普段は開発者として楽な格好で仕事をしているのですが、 スーツ + 来て頂いたかたとコミュニケーション という普段ない仕事してとても疲れました。 でもみなさんにとても関心をもって聞いて頂いたのでとても嬉しいです。 もうすぐでリリースできる形になるので頑張って開発をしていきたいと思います。

ソニー・エリクソン Xperia 発表会

昨日、ソニー・エリクソン Xperia 発表会に参加してきました。
公式サイト
たまたまご縁があり、弊社ラボ作成のAndroidアプリを紹介できるブースを発表会で貸して頂くことができました。



僕らが作ったアプリはアンドロイド特有の機能を使ったアプリなのですが、皆様にかなりポジティブな意見をもらい大変うれしい限りです。逆に改善点も見えてきたのでこれからの開発にとても役にたちました。


2月中には Android Market に出したいと思うのでよろしくお願いします。

YoutubeにDemoをアップしてくださった方がいます。ありがとうございます。




Xperiaを触ってみての感想ですが、僕はとても好きな端末だと直感しました。なんといってもフォルムが素敵だし、液晶がテレビ屋さんの技術もあるのでとても綺麗。カメラも8.1メガと脅威ですし、もうデジカメを持ち歩かなくても良いくらいだと思いました。 Androidということもありこれからどんどん伸びていくだろうと思います。 Nexus One も欲しいとこですが・・・。


この春は本当に待ち遠しいですね。
Ciris Lab Blogにも乗ってます。
僕がのってて恥ずかしいですけどURLです。
http://lab.cirius.co.jp/blog/2010/01/xperia-nearnear.php

[Android] Geocoding ジオコーディング

今日はジオコーディングについてです。

アンドロイドでジオコーディングするには HTTP "リクエスト経由のジオコーディング" で実行できます。まぁ堅いこと言ってますけど。普通のHTTP経由のAPIなんですけどね。 注意しなければならなきのは MAP_API_KEY。 これは ANDROID用のAPI_KEYを使ってください。 取得方法は日本アンドロイドの会のMapViewを使用するために、Maps API Keyを取得する を参照してください。

Geocoding Sample
  1. // リクエストURLの作成  
  2. String url = address + "&output=json&sensor=false&key=" + MAP_API_KEY;  
  3. // リクエスト  
  4. JSONObject json = JsonRestClient.parseAsObj(  
  5.         "http://maps.google.com/maps/geo?q=" + url);  
  6. // パース  
  7. JSONArray array = json.getJSONArray("Placemark");  
  8. JSONArray ll = array.getJSONObject(0).getJSONObject("Point").getJSONArray("coordinates");  
  9.   
  10. int lat = (int) (ll.getDouble(1) * 1E6);  
  11. int lon = (int) (ll.getDouble(0) * 1E6);  
  12.   
  13. Log.e("PROJECT", String.valueOf(lat));  
  14. Log.e("PROJECT", String.valueOf(lon));  

[Android] adb コマンド

アプリケーションのアンインストール

  1. adb uninstall アプリケーション  

ログを参照

  1. adb logcat  

grepでフィルターをかけると見やすいでしょう

[Android] ブラウザの「ページを共有」機能からアプリケーションを開く

Androidでブラウザ上から自分が登録したアプリケーションを開く設定です。
Manifest.xmlに以下を追加するとブラウザの「ページを共有」にアプリケーションが登録されます。


  1. <activity android:label="@string/app_name" android:name="ShareWithBrowse">  
  2.  <intent-filter android:label="@string/app_name">  
  3.   <action android:name="android.intent.action.SEND">  
  4.   <category android:name="android.intent.category.DEFAULT">  
  5.   <data android:mimetype="text/plain">  
  6.  </data>  
  7. </category>  
  8. </action></intent-filter></activity>  

Android のデバッグ方法

Android SDK までパスを通して

  1. adb logcat  

上記のように実行すると tailコマンド(-f) のようにログをみることができます。ただこれだと全てのログが流れてしまうので grep 下記のように絞っておくと良いでしょう。

Java上で
  1. Log.d("YOURAPP""Log message");  

と表示しておけば、
  1. adb logcat | grep "YOURAPP"  
で必要なログだけ表示確認することができます。

・最近の所感
Javaにまだ慣れていないのでどんどんコードを書いて読んでいきたいと思います。

Android sqlite3

Android アプリでの 「データの永続化」の方法は sqlite3 を使って実現します。
今まで sqlite を使ったことが無かったのでコマンドのメモと Android シュミレーターの sqlite の閲覧の仕方を書いておきます。

1. Shell を起動

  1. # cd /path/to/your android sdk/tools/  
  2. # ./ads shell  

(パスを通してないのですがパスを設定したほうが良いでしょう)

2. データベースへの移動

  1. cd /data/data/アプリケーション/databases  


実行結果
  1. ls -l  
  2. -rw-rw---- app_27   app_27       5120 2010-01-07 13:47 applicationName  

applicationNameがデータベースになっています。


3. データベースへの接続

  1. sqlite3 データベース名  




よく使うコマンド

.tablesデータベースのテーブル一覧を表示
.schemaテーブル定義の表示
select他のDBMSと同じくつかえます。select * from テーブル名 limit 10