2012年4月21日土曜日

[android]SQLiteの最大クエリー文字数

先日不具合が発生し、今日類似の確認中にちょっとマズいクエリーを発見!
マズいクエリーとは、こんなかんじ。

String sql = "update xxx set xxx_flg where " + "id='xxx' or " + ....

と文字列の連結(実際はStringBuiderですが)が続いていく。。。(そしてクエリーは手打ち)
過去の経験から、この手のクエリー長は一定の文字列数を超えると、クエリーのサイズを超えた的エラーが出るのがわかっている。
で、先方に知らせるかどうか悩んだ結果、とりあえず何文字までいけるのかを評価してみました。
とりあえず、実験したクエリー(ちょっと改変)
大体、8000文字くらいは大丈夫そう。ということで、先方には黙ってることにしました!

db.rawQuery("SELECT * FROM t_test WHERE insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time='' or insert_time=''",null);

2012年4月11日水曜日

[android]ADT18きてた

今日、ADT18がリリースされたようです。ADT17を評価する暇が無かった。。。 ちなみにADT17では、GUIのxml編集するときに、なんか文字化けしてたのと、よくわからないビルドエラーが出ました。 アレは直ったんだろうか・・・。

2012年4月10日火曜日

[Android]Galaxy Nexusをタブレットぽくつかう (2)

先日、GDD Blog: [Android]Galaxy Nexusをタブレットぽくつかうというねたを書きました。

結果的に、AOKP(Android Open Kang Project)というカスタムROMを入れることで、簡単に実現できるということがわかりました。
導入後、AOKPの設定画面より160DPIに変更することで、タブレットモードに切り替わります、LCD Density Modderなどで解像度を変更しても同じ効果が得られます。
解像度によっては、エラーが出ます。そこでAOKPを入れると最初から入っているNova LauncherをHOMEアプリに変更します。
この、Nova LauncherというHOMEアプリすごくよくできていて、解像度にあわせてドロアーのアイコンの表示数を最適化。HOMEスクリーン側もアイコンの個数などしてできます。標準がベースらしいですし、使い勝手もよいのでコレお勧めです。

※カスタムROMを入れるにはブートローダーのアンロックなど、保障が受けられなくなる行為を必要としますので、適応には十分注意して下さい。

2012年4月6日金曜日

[Android]Support Package V7?

ViewPagerの情報を集めるためにネットを検索していると、android.support.v7.widget.GridLayoutっていうキーワードが何かヒットしました。
「あぁ4.0のGridLayoutね」と思ったんですが、よくみると、パッケージ名がアレになってる!

で、[SDKのフォルダ]/extras/android/supportをみると、v7フォルダがあり、その中にそれらしいJarが!
jarの中を除くと、GridLayout系のclassファイルが入っていました。

で、readmeをよんでみると、

Library Project including GridLayout.

This can be used by an Android project to provide
access to GridLayout on applications running on API 7+

ってあります。直訳すると、
「GridLayoutのを含むライブラリプロジェクト。
これが提供するAndroidプロジェクトで使用することができ
API7で実行するアプリケーションでグリッドレイアウトにアクセス+」

つまり、API7(2.1以上)でGridLayoutが使える。このフォルダがライブラリプロジェクトで構成されるので、参照しろ。ということでしょうか。

[他]WifiNotifyをバージョンアップしました

半年ほど前にリリースしましたAndroidアプリWifi Notifyですが、バージョンアップしてICS対応しました。
その他としましては、通知の情報にIPアドレスを表示するようにしました。
3GよりWiFiメインで利用するかは、一度お試しを。