Android
Android 2.2からXPathが使えるようになったので使ってみた。使うまでがめんどいけど、XmlPullParserより使いやすいと思う。以下のXMLを対象にXPathを使ってみた。あまり詳しく書かないけど、少しだけ解説を載せたあと、ソースコードを載せる <memo> <contents name="チラシの表">Hoge</text> <contents name="チラシの裏">Piyo</text> </memo> XPa…
http://developer.android.com/reference/android/media/MediaRecorder.htmlを参考に動画を撮るプログラムを作成してみた。なんとなくカメラを使う感覚でSurfaceViewやSurfaceHolder.Callbackを使ってみたが、これでいいのだろうか?とりあえず動画を撮るこ…
Android 2.0から備わっているというBluetooth用のAPIを使ってみようと思い、通信まで頑張ろうとしたが今日は探索までしかいかなかった。そしてListViewの使い方を俺がわかってない。とりあえず探索までのながれ BluetoothAdapterを取得する BluetoothAdapter…
Android Hacksを読んでいたら自作Workspaceを作ってみたいと思うようになり、設定ファイルなどをちょっといじってみた。これが正しいかどうかは不明。本に合わせて以下/mydroidがAndroidのソースファイルの入ってるディレクトリとする。それでまず/mydroid/p…
Workspaceを縦スクロールできるようになり、以前のスクロールはできるが画面が元に戻る(スクロール後の画面が固定されない)という問題を解決した…が!何かバグって存在しないはずの画面に行ってしまうことがあるようだ。縦にスクロールしてるはずなのに、何…
snapToScreenをいじってたら、Workspaceが縦方向にスクロールするようになった。スクロールなんで動画じゃないと動作が確認できないが、アイコンとGoogleの検索バーが上にずれているスクリーンショットを撮った(実際は上からアイコンが下がってきているのだ…
EclairのソースコードをいじってWorkspaceを縦にスクロールさせることができないかと奮闘中。packages/apps/Launcher/src/com/android/launcher/Workspace.javaのonTouchEventやupdateWallpaperOffset、computeScroll、onLayoutなどを変更してみたが、縦に動…
どうやら、先ほどのエントリの画像の問題は待ち受け用に5画面用意したのに、背景画像が3画面分しか用意してなかったことが問題らしい。5画面を3分割したために、2画面目と4画面目に継目がきてしまったようだ。packages/apps/Launcher/src/com/android/launch…
Androidのソースいじってたら酷いことになった どうしてこうなった
http://d.hatena.ne.jp/tototoshi/20100117を参考にRequestTokeを取得して、アプリケーションを許可するかどうかの確認画面をAndroid上で行うプログラムを書いた。DesireではまだBase64が使えないためhttp://iharder.sourceforge.net/current/java/base64/を…
最近進んで無かった自作エディタの作成が地味に進んだ。まずCaretの位置が行の最後やテキストの最後の位置にあった場合表示されないという問題があったが、それを解決した。またSimejiを使ってるときに、DesireのデフォルトのIMEと少し違った動作をしていた…
実家の近くの本屋に『Google Androidプログラミング入門』があったのでつい買ってしまった。後悔はしてない。思ったより分厚く『Android2.1プログラミングバイブル』には、ほとんど載ってないXMLでの設定が載っている。ただSocketなどネットワーク関係は載っ…
http://code.google.com/p/i-jetty/wiki/BuildInstructionsを見ながらコマンドラインでi-jettyをDesireにインストールした。それでServletだが、Androidでi-jettyを起動したあと、Downloadボタンを押してEnter URLにwarの場所を、Context Pathにコンテキスト…
Androidで動くWebサーバを探してたところi-jettyというものを見つけた。Servletも動くらしい。使ってみたい…が、Buildの仕方がわからん。eclipseを使うならm2eclipseがいいよ!とのことだがm2eclipseをインストールしたあと何をすればいいのかがわからない。…
3G回線で繋がっている状態でServerSocket開いて、getInetAddress()したらアドレスが0.0.0.0となっていた。困ったのでInetAddressのgetLocalHost()でアドレス取得したら127.0.0.1となっていた。なので今度はNetworkInterfaceのgetNetworkInterfaces()経由で取…
今までキャレットの左右の移動で行を越えることはできなかったので、改行を見つけたときの処理を追加。これで左端で左ボタン押したら前の行の終端に、右端で右ボタン押したら次の行の先頭にキャレットが行くようになった。勿論、テキストの先頭と終端ではそ…
文字の削除を実装した。ソフトキーボードのdelを押したときに、キャレットの位置の手前の文字を削除するようにした。ViewのonKeyDownではなくInputConnectionのsendKeyEventでKeyEvent#getKeyCode()がKeyEvent.KEYCODE_DELと一致したときに削除を行うように…
キャレットの描画と入力されたテキストの挿入をやった。Caretインターフェースのメソッドの名前を変えたり、引数を増やしたりメソッドの追加などをした。これだけあれば、テキストの挿入位置や描画の位置などに困らないはず。折り返し改行などでrowとcolumn…
現在、エディタ用のHTMLパーサもどきを作ってるわけだけど、テキストの描画とキー入力はできるわけだから、キャレットの描画を先にやろうと思い作成中。とりあえず位置の取得と設定、あと描画用のメソッドがあれば大丈夫そう。これができたら、キャレットの…
とりあえずキーボードからの入力は受け取れるようになったので、次はテキストの描画をしてみる。テキスト保持用のクラスとテキストからキーワードを抽出するクラスを作って以下のように使うようにした。documentにテキストを持たせて、tokenizerで解析してキ…
『Android2.1プログラミングバイブル』という本をすでに持っているのだが、『Google Androidプログラミング入門』も気になる。内容は今となっては古そうだが、648ページもあるそうだ。『Android2.1プログラミングバイブル』にはない話もありそうだし、どこか…
Camera.ParametersにEFFECT_AQUAのようにEFFECTで始まる定数を設定すれば、何らかのフィルタがかかるようだ。ただし定数が用意されてるのがAPI Level 5からのようだ。API Level 5以前の環境で定数となっている文字列渡しても駄目なのだろうか?
単純にカメラのプレビュー画面を見るだけじゃつまらないので、Camera.PreviewCallbackのonPreviewFrameを実装して、プレビューをいじって見ようと思った。ただ、このメソッドの引数で渡されるbyte[] dataはデフォルトではYCbCr_420_SP (NV21) formatとGoogle…
前回までは未確定文字列を全部消すとエラーなるという問題と、文字列確定後も未確定文字列が残るという問題があった。そこでInputConnectionを実装したクラスのcommitTextで、未確定文字列を空の文字列にしたところ、確定後に未確定文字列が消えてくれたのは…
今回は未確定文字列の取得と描画をやってみた。未確定文字列を全部消すとエラーになったりと課題は残っているが。 とりあえず、未確定文字列だが、InputConnectionのsetComposingTextの引数のCharSequence textで渡される。最初はただの文字列が入ってるだけ…
前回まで表示してたソフトウェアキーボードは英語と数字しか打てなかった。日本語が打てない…原因はよくわかってないがonCreateInputConnectionで渡されるEditorInfoに何らかの設定をしないといけないらしい。しかし、何を設定すればいいのかわからないので…
前回までのソフトウェアキーボードの表示方法では、Viewを非表示にしたあとでもキーボードが表示されっぱなしになるという問題があった。showSoftInputに渡していた二番目の引数に問題があったらしい。 manager.showSoftInput(this, InputMethodManager.RESU…
まだ、わかってないことが多いが、前回ソフトウェアキーボードの表示ができた。しかし、表示したはいいが、Viewが非表示になっても、キーボードが表示されっぱなしになってしまった。何かイベントひろって、そこでキーボード非表示にすればいいんだろうか?…
そろそろ何らかのアプリケーションを作ってみようと思い、自作エディタを作ってみようと思った。EditTextを使わずに自分でWidget作る。難易度が微妙に高い。とりあえずソフトウェアキーボードを表示させたいと思い、ドキュメントでViewのそれらしきメソッド…
RSS2.0形式のフィードからタイトルの一覧を取得してきてListViewで表示するというプログラムを作った。前回はCanvasに描画にしていたが、それのListView版。フィードの取得をやってるスレッドは今のところ一つしか作って無いので、問題にならないが、インス…