プログラマ的京都生活

2011年02月14日

[]エミュレータを横向きに

Ctr + F11です。

2011年02月02日

[]PreferenceActivity

設定画面を作るには、PreferenceActivityを使う。

で、入力項目なんかはEditTextPreferenceをxmlで宣言する。

例えば、パスワード項目は内容が表示されないようにしたいが、eclipseの設定画面を見てもそれっぽいのはない。

調べたところ、xmlを直接変更しないといけないようだ。画面に出ているのは全てじゃないんだ。。

<EditTextPreference android:password="true" />

でも、入力を「半角英数のみ」とする方法についてはまだ分かっていない。



[]hosts利用

後輩にAndroidでのhosts利用に関する手順書をもらったので、メモしておく。


手順

  1. Androidエミュレーターを、以下のコマンドでコマンドプロンプトより起動する。

emulator -avd (Androidエミュレーター名) -partition-size 128

  1. エミュレーターOSが起動したら、以下をコマンドプロンプトより実行する。

adb remount

  1. 以下をコマンドプロンプトより実行する。

adb pull /system/etc/hosts C:\

  1. Cドライブ直下に、hostsというファイルが出来ていることを確認する。
  1. Cドライブ直下に出来たhostsをテキストエディタで開き、IPアドレスとホスト名の対を記述する。
  1. 以下をコマンドプロンプトより実行する。

adb push C:/hosts /system/etc


Out Of Memory発生時の対応

エミュレーターを一旦停止させ、以下を実行してエミュレーターを起動する(パスはインストール環境に応じて変更する)

emulator -avd (Androidエミュレーター名) -partition-size 128

2011年01月19日

[]PDFダウンロードが出来ない。

開発中のWEBアプリケーションで、とあるリンクをクリックするとPDFファイルをダウンロードするという機能があります。

PC、iPhoneはOKだったんですが、Androidではダウンロードしたファイルが不明なファイルとして扱われ、ビューワで開く事ができません。

ちなみに、Androidのバージョンは2.1です。XperiaとIS03で確認済み。

Xperiaの1.6だと出来てた。


原因は、サーバー側の問題で、レスポンスヘッダの指定の仕方に問題があった模様。


ダメだったコード。

サーバーサイドはjavaで組まれています。

response.setContentType("application/octet-stream");
response.setHeader("Content-disposition", "attachment;filename=\"" + getEndodedFileName(fileName) + "\"");

上手くいったコード。

String mimeType = getServlet().getServletContext().getMimeType(fileName);            
response.setContentType(mimeType);
response.setHeader("Content-disposition", "attachment;filename=\"" + getEndodedFileName(fileName) + "\"");

contentTypeの部分は実際には「application/pdf」となります。

「octet-stream」ではAndroidはPDFファイルと認識してくれないようです。

2011年01月07日

[]アプリの配布方法

エンタープライズ向けの社内専用ツールを考えているので、android marketじゃない配布方法を知りたかったのだが、以下の説明が分かりやすかった。

http://d.aoikujira.com/jsWaffle/wiki/index.php?%E3%82%A2%E3%83%97%E3%83%AA%E3%81%AE%E9%85%8D%E5%B8%83%E6%96%B9%E6%B3%95

apkパッケージを作成し、WEBサーバーに配置後、WEBブラウザでアクセスしたらダウンロードが始まってインストールできた。

ただし、android端末側は、設定 > アプリケーション > 提供元不明のアプリ にチェックを入れておく必要がある。

2011年01月04日

[]新規プロジェクト作成時にgenフォルダやR.javaができない

以下に直し方がありました。

助かりました。

http://mfsocket.blogspot.com/2010/11/android-rjava-no-such-file-or-directory.html