Android

sheditorとAutoFolderSyncを譲渡します

sheditor AutoFolderSync という二つのAndroidアプリケーションを開発してきましたが、この二つをアクシオン様に譲渡することとしました。これら二つに関して本日最終アップデートを公開しました。また、2週間後の7月20日にマーケットから取り下げます。今後…

Nook Touchのroot取得とePubの日本語表示

http://nookdevs.com/NookTouch_Rooting の通りです。詳しくは説明しません。あしからず。特に問題はおきませんでしたが、VMWare上のUbuntuでやろうとしたらUSBカードリーダの認識がホストのWindowsと取り合いになったりとかがありました。最初からMacでやれ…

Nook touchを買いました。

新型Nook、通称Nook touchを買いました。黒船gadgetさんで頼んで、5日ほどで着きました。早い! 第一印象 軽い!小さい!です。ほんとに軽いです。片手で長時間持っても全然問題ないぐらいです。これはいい。 自分のePUB/PDFを読み込ませる Barnes & Novel …

Android Compatibility packageを使って、Fragmentsを1.6上で動かす

Honeycomb(3.0)から使えるというFragmentsですが、これを1.6以上でも使えるようにするstatic libraryが公開されました。 http://android-developers.blogspot.com/2011/03/fragments-for-all.htmlぼくが持っているのはあのIS01で、(いろいろしない限り)1.6し…

AutoFolderSyncを公開しました。

自動的にDropboxと同期してくれるAndroid用のツール、AutoFolderSyncを公開しました。このAutoFolderSyncは、設定した同期フォルダを見張っており、ファイルが更新されるとすぐにDropboxと同期します。つまり、テキストファイルを編集し、保存すると勝手に同…

Proguardでcan't find referenced class

SDK Tools r8とADT8.0.0から、Proguardを導入するのが簡単になりました。しかし、Export Android applicationをしても、以下のようにクラスが見つからないよ、と出てきてproguardが実行できませんでした。 [2011-02-05 22:41:55 - ] Proguard returned with …

Hanlderのdump

開発中などにHandlerに格納されているmessageを見たい場合がありますよね。 そんな時は Hanlder.dump() を使います。 mHandler.dump(new LogPrinter(Log.DEBUG, "HANDLER"), "-- "); dump()にはPrinter引数が取れるのですが、ここではLogcatで見れるようにLo…

SimpleDateFormatでEEEやMMMがparseできない

文字列からDateを導き出すには、SimpleDateFormatを使うことが多いと思いますが、 英語圏でよく使われる、 Sun, 07 Nov 2010 05:24:39 +0000などの表現を "EEE, dd MMM yyyy HH:mm:ss Z"でparseしようとしたら、ParseExceptionが出てしまいました。 APIドキ…

AnimationDrawableが動かない

Androidでは、AnimationDrawableを使うことで複数の画像を組み合わせてアニメーションを作成することが出来ます。しかし、onCreate()でアニメーションを開始しようとstart()を呼んでも、動いてくれません。http://code.google.com/p/android/issues/detail?i…

Python mini Hack-a-thonに参加してきました。

株式会社gumiを会場にして行われた、Python mini Hack-a-thonに参加してきました。Pythonに関連すること、ということで、Android Scripting Environmentを使って、pythonでアプリケーションを構築してみようとしました。結論から言うと諦めたんですけどね…。…

sheditor lite公開

IS01を買ったのをきっかけに、sheditor liteというAndroid用テキストエディタを開発し、公開しました。無料です。 sheditorでマーケットを検索してください。sheditorは以下のような機能があります。 多様な文字コードに対応 UTF-8, shift-jis, euc-jp, iso-…

VideoViewでBadTokenException

エラーを書いておくと結構役に立つことが多いみたいですね。というわけで、エラーとその対処方法を書いておきます。VideoViewでyoutubeの動画を再生させようとすると、こういうエラーが出ました。同様のエラーが他にWebViewなどでも生じるようです。 E/Andro…

ExpandableListViewで開くのは一つだけにする

ExpandableListViewを使うと、折りたためるリストを作ることができます。しかし、通常のExpandableListViewでは、タップするごとにリストが開いていきます。これはこれでいいのですが、あまりにもリストが多いとせっかく折りたためるようにしたのに画面が埋…

Text-To-Speechで発話終了イベントが飛んでこない

Text-To-Speech Engineを触ってみているのだけれども、その発話終了イベントである、 OnUtteranceCompletedListener が返ってこない、という現象に遭遇しました。いろいろ調べた結果、こういう風になりました。 // ttsオブジェクトを作成 TextToSpeech tts =…

AIDLを手動起動

Serviceを実装するために、aidlファイルを書いた。 でも、Eclipseのpluginで自動的に作成されるはずなのに作成されない。結局、 android-sdk/platforms/android-2.1/tools/aidlを手動で起動して.javaを作ったら、自動的に反映されるようになった。謎。API文…

AndroidでJavaからPythonを呼び出してみる

Androidでは、Adnrdoid-scriptingを使ってPythonを実行できる環境をインストールできます。サイトから.apkをダウンロードし、 % adb install ase_r25.apkしてインストールします。(Androidの設定で アプリケーション -> 提供元不明のアプリ のチェックをオン…

ExpandableListViewとSimpleExpandableListAdapterの構造

ExpandableListViewはタップすると子要素を開く、ListViewの一種です。これを使うことで、一段階までの要素を表現できます。ListViewと同じくこれもAdapterを使って表示内容のデータを保存します。Adapterにはいくつかあるのですが、一番手軽に使えそうなSim…

ProcessBuilder

ProcessBuilder.redirectErrorStream が効かないのかも? ドキュメントには書いてあるんだけど。しょうがないので、Exit valueで判断して getErrorStream() getInputStream() を使い分けるようにしたらOKでした。

MediaPlayerでのエラー

MediaPlayerで mp.setDataSource(filePath) としてローカルのMP3ファイルを再生させようとしたら、 W/MediaPlayer( 738): info/warning (1, 26) I/MediaPlayer( 738): Info (1,26) Command PLAYER_SET_DATA_SOURCE completed with an error or info PVMFErrN…

今日はまったこと。

ActivityInstrumentationTestCase2を使って、Activityのテストを作ろうとしてました。で、ActivityInstrumentationTestCase2をextendすると、Eclipseにコンストラクタを作れよなーと言われるので、提案されたコンストラクタを作るわけですよ。クリック一発お…

WVGA800のエミュレータでの解像度

Desire用にアプリケーションを作ろうと、Emulatorを以下の設定にしたけれど、 Platform 2.1-update1 API Level7 Skin WVGA800 density 240 これで、480x800の解像度が出るはず。 しかし、どうやっても320x533という解像度しかでなかった。なんでだろー。結論…

Unparsed aapt error(s)!

EclipseでAndroidアプリケーションを作成中、projectに赤いエラーマークが付き、Runしようとしても問題を先に解決しろと言われるだけな状態に陥りました。ぐぐってみると、 http://www.mailinglistarchive.com/html/android-beginners@googlegroups.com/2010…

Indirect Buffer

E/OpenGLES( 351): Application (SDK target 0) called a GL11 Pointer method with an indirect Buffer.というエラーが出ました。これは、描画にbufferがdirectである必要があるのにindirect Bufferを使っているから起きることらしいです。 Direct Bufferは…

glGenTextures()で失敗する

onClickをトリガーとして、こんな感じで int[] textures = new int[1]; gl.glGenTextures(1, textures, 0); テキスチャを作成しようとしていたところ、 E/libEGL ( 1150): call to OpenGL ES API with no currentcontext (logged once per thread)というエラ…