2011年8月24日水曜日

AndroidのSQLite高速化

旅宿アプリで使っているDBの登録処理が長かったので、
SQLiteの高速化処理について調べてみました。

高速化の方法はTransaction処理を明示的に行うこと。
今回は複数行を1行ずつDBに登録していました。

トランザクション処理を記述する前は、
400行のデータの登録するのに40秒かかっていました。

トランザクション処理を記述後は、5秒で完了しました。

ソースはこんな感じです。

               try {

        database.beginTransaction();  // ①
   
    for(Data data : list) {
    // DBに登録
    database.insert(data);  // ②
    }
           database.setTransactionSuccessful();    // ③
    } finally {
    database.endTransaction();  // ④
    }

①・・・トランザクションを開始
②・・・DBに挿入
③・・・コミット
④・・・トランザクション終了



参照元
http://www.atmarkit.co.jp/fsmart/articles/android06/android06_2.html

2011年8月13日土曜日

AIDMA noteを改善するの巻 - その2 -

前回は、MENUのアイコンを変えてみました。
AIDMA noteを改善するの巻 - その1 -

before


after

そうは言ってもまだまだダサいです。
何がいけないんでしょう?

そうです、
画面背景が黒で、文字色が白という初期状態のまんまなのです。

という訳で画像を用意して、背景に設定します。

設定する方法は、
画面のlayoutにandroid:background="@drawable/background"のように設定するだけ。




修正前よりはよくなったかな。

AIDMA noteを改善するの巻 - その1 -

こんにちは。

Androidの勉強を始めて、早5ヶ月。

リリースしたアプリは、4つ。


第一弾:AIDMA note

第二弾:ScreenLockGesture

第三弾:ヤッテミッション

第四弾:旅宿(たびやど)

こう並べてみると、AIDMA noteがとても残念なデザインです。。

トップ画面と登録画面のたった2画面ですが、残念なところ満載なので、改善していきます。

その1:MENUのアイコンがダサい。

アイコンは自分で用意しないといけないと思っていたので、
センスのないアイコンを自作して表示させてしまっている。


赤い四角で囲んでいる部分です。
res/drawableに自分で作成した画像を登録、参照しています。

ここをAndroid標準のアイコン画像に変えて、統一感を出したいと思います。

方法1.
sdkフォルダ配下のplatforms/android-xx/data/resからアイコンを探してきて、
res/drawableを差し替える。


方法2.
Android標準のアイコンを直接参照する。
1.res/drawableのアイコンが入らないので、削除します。
2.setIconで指定する方法を以下のようにします。
setIcon(R.drawable.disk)
setIcon(R.drawable.mail)
setIcon(R.drawable.clear)


setIcon(android.R.drawable.ic_menu_save)
setIcon(android.R.drawable.ic_menu_send)
setIcon(android.R.drawable.ic_menu_close_clear_cancel)


修正後はこんな感じです。

メインの画面がイケテないので、アレですが、MENU部分はマシになりました。

android.R.drawable.xxxxxで指定できるアイコンは、
sdkフォルダ配下のplatforms/android-xx/data/resにあるので、そちらを参照してみてください。

この方法を使うと、
アプリのサイズが小さくなるので、特に理由がない場合は使った方が良いですよ。


自分でアイコンを作成する場合は、
ガイドラインがあるのでそちらを参照すると、恥ずかしい思いはしなくて済むのかも。


追記:

> android.R.drawable.xxxxxで指定できるアイコンは、
> sdkフォルダ配下のplatforms/android-xx/data/resにあるので、そちらを参照してみてください。
android.R.drawable.xxxxxの指定方法は端末 / バージョンによって異なるので、非推奨とのこと。
sdkフォルダ配下のplatforms/android-xx/data/resを使う場合は、コピーして使ってください。

2011年8月6日土曜日

「旅宿(たびやど)」をリリースしました。

楽天トラベルのアプリコンテスト用にAndroidアプリを作りました。

[楽天トラベルスマートフォンコンテスト 2011]

エントリー期間は7/31までだったけど、ぎりぎりエントリー完了。
結果発表は11月末までとあと3ヶ月あるので忘れよう。。


アプリはこんな感じです。
・キーワード検索
・エリア検索
・履歴・お気に入り表示
・スポット検索
・ホテル比較表示


トップメニュー

キーワード検索

エリア検索

スポット検索

日本の世界遺産一覧

ホテルの詳細(基本情報)


ホテルの詳細(詳細情報)

ホテルの詳細(レビュー)

ホテルの一覧

一覧の並び替え

ホテルの比較


作っている途中で気が付いたけど、
API使って動かすのがおもしろくて、テーマに沿っていないんでないかと・・・。

テーマ「日本を元気にする面白いアプリ」


とりあえず、いまできる精一杯の作品です。2,3週間でよく頑張った、自分。
アプリの感想・要望はコメントに残して頂けると嬉しいです。