WebViewでローカルhtmlを読み込んだ際、大きくしたEmulatorだと小さい画面でしか表示されない。(しかもその中でスクロールされる・・・・)
修正するために、supports screensで対応。
Android manifestに、
<supports-screens android:largeScreens="true" />
を追加。
参考リンク:
supports-screens
2010年12月24日金曜日
2010年10月11日月曜日
Java reflection
Java でリフレクションを使って動的にimport出来ない関数を呼び出す方法。
inputのパラメータは適宜使いたいものに変更。
うーん、書いてはみたもののまだいまいち腑におちてないかんじ。
参考リンク:
Flash devlop on Android 1.5
Javaプログラミングのダイナミクス 第二回
Javaプログラミングのダイナミクス 第三回
inputのパラメータは適宜使いたいものに変更。
Boolean[] input={new Boolean(true)};
//using reflection
try{
// call class name
Class cl = Class.forName(*******);
Class[] par = new Class[1];
par[0]=Boolean.TYPE;
// import dynamic class library function
// ここで動的に関数を呼び出す
Method mthod=cl.getMethod(******, par);
mthod.invoke(mWebView.getSettings(), input );
/* normal sequence functions */
}catch(Exception e){
/* exception error */
}
うーん、書いてはみたもののまだいまいち腑におちてないかんじ。
参考リンク:
Flash devlop on Android 1.5
Javaプログラミングのダイナミクス 第二回
Javaプログラミングのダイナミクス 第三回
2010年10月5日火曜日
Wirelessが死んだ。。
自宅のUbuntuはSuspendからの復帰時大体キーが効かなくなって再起動するハメになる。
これはこれで解決しないといけないのだけど、この時一緒にWirelessもDisableになって使えなくなってしまった。
その時の復帰の方法は、以下。
でも、何で突然ここだけチェックが外れるのかな。。。
これはこれで解決しないといけないのだけど、この時一緒にWirelessもDisableになって使えなくなってしまった。
その時の復帰の方法は、以下。
System > Administration > Users and Groupsでログイン名を選択し、
Advanced setting > User privilegesで,Connect to wireless and ethernet networkにチェックを入れたらOK.
でも、何で突然ここだけチェックが外れるのかな。。。
2010年10月1日金曜日
LiveWallPaper - Android
作りかた。
Dynamic Displayのレンダリングのため,Surface Viewを利用
ユーザのスクリーンタッチイベントを取得したり、イベント処理も必要。
作るコンポーネントは以下3つ。
Androidのお作法で、res/xmlの中に作る。
wallpaper がTop elementで、その中のuser attributesとしてauthor, description, thumbnailを指定。
これらがWallpaper設定時の選択画面で出てくる表示になる。
追加で何か設定させたい場合(画像や図選択、挙動の設定などなど)は、"SettingActivity"tagを指定すれば、独自の設定画面を用意できる。
Wallpaperserviceの拡張を行う。ここでWallpaperService Engineクラスのインスタンス化。
すべてのdrawing処理、インタラクションはwallpaper service engine クラスでハンドルされる。
このサービスを、マニフェストにserviceとして登録。
また、Live wallpaperはandroid.service.wallpaper.WallpaperService のIntent Filterを含む必要がある。
また、meta-dataノードにandroid.service.wallpaperをname attributeとして、
リソースファイルをresouece attributeとして追加。
また、BIND_WALLPAPER パーミッションも必要なのでこれも追加。
WallPaperServiceクラスでは、必ずEngineの実装が必要。WallpaperService.Engineクラス拡張をする。
このEngineは、Surface(壁紙表示、タッチイベントの取得)をカプセル化している。Surfaceはバックグランドスレッドのアップデート、スムーズネス、動的でインタラクティブ表示)の描画サポートを行うcanvasの一種。
drawingする前には、必ずonsurfaceCreatedのイベントハンドラで示される初期化を待つ必要がある。
その他、イベントコールバックの実装が必要。(onTouchEvent などなど。)
Dynamic Displayのレンダリングのため,Surface Viewを利用
ユーザのスクリーンタッチイベントを取得したり、イベント処理も必要。
作るコンポーネントは以下3つ。
- Live Wallpaper用のXML resource
Androidのお作法で、res/xmlの中に作る。
wallpaper がTop elementで、その中のuser attributesとしてauthor, description, thumbnailを指定。
これらがWallpaper設定時の選択画面で出てくる表示になる。
追加で何か設定させたい場合(画像や図選択、挙動の設定などなど)は、"SettingActivity"tagを指定すれば、独自の設定画面を用意できる。
- Wallpaper serviceの実装
Wallpaperserviceの拡張を行う。ここでWallpaperService Engineクラスのインスタンス化。
すべてのdrawing処理、インタラクションはwallpaper service engine クラスでハンドルされる。
このサービスを、マニフェストにserviceとして登録。
また、Live wallpaperはandroid.service.wallpaper.WallpaperService のIntent Filterを含む必要がある。
また、meta-dataノードにandroid.service.wallpaperをname attributeとして、
リソースファイルをresouece attributeとして追加。
また、BIND_WALLPAPER パーミッションも必要なのでこれも追加。
- Wallpaper engineの実装 (WallpaperService.Engineのインスタンスを新規に作成して返す。)
WallPaperServiceクラスでは、必ずEngineの実装が必要。WallpaperService.Engineクラス拡張をする。
このEngineは、Surface(壁紙表示、タッチイベントの取得)をカプセル化している。Surfaceはバックグランドスレッドのアップデート、スムーズネス、動的でインタラクティブ表示)の描画サポートを行うcanvasの一種。
drawingする前には、必ずonsurfaceCreatedのイベントハンドラで示される初期化を待つ必要がある。
その他、イベントコールバックの実装が必要。(onTouchEvent などなど。)
2010年9月30日木曜日
Eclipse - workspaceを消したくなったとき
Eclipse の
そもそも解決したい問題は、新しいプロジェクトを既存ソースから追加するときに出る
i
%HOME_Eclipse%\configuration\.settings\org.eclipse.ui.ide.prefsの中にworkspaceの設定値があるので、必要ないものを消せばOK
そもそも解決したい問題は、新しいプロジェクトを既存ソースから追加するときに出る
i
nvalid description : project overlapsなんだけど、まだそちらは解決出来てない
2010年9月25日土曜日
eclipse - auto activation
Eclipse利用時にどうも入力ができなくなることがあるなあ、と思い、
入力支援の後が怪しそうだったので
preferences > Java > Editor > Content Assist > Auto activation
のチェックを外してみる。ちょっと改善したようすだが、まだいまいち不安定。。。
環境:Ubuntu 10.04 + Eclipse Galireo 3.5.2
追記:どうやら入力環境のせいらしい。
Editor上で右クリックして
Input Methods > SCIM bridge input method
で変更可能。
もしくは、terminalでim-switchコマンドを使えば設定できる。
追記:どうやら入力環境のせいらしい。
Editor上で右クリックして
Input Methods > SCIM bridge input method
で変更可能。
もしくは、terminalでim-switchコマンドを使えば設定できる。
AS2Java
ActionscriptからJavaへの変換、覚書
#逆の変換ツールはあるけどこちらは見つからず、コツコツ調べることに。
型変換:Number -> long (ただし、用途によってNumberはfloatになることもあるので注意)
現在時刻取得: (new Date()).getTime() -> System.currentTimeMillis()
配列:Array -> int [] (intのところには適切な型が入る)
部分文字列:slice ->substring
文字列置き換え:split("a").join("b") -> replace("a","b")
Reference:
http://oku.edu.mie-u.ac.jp/~okumura/java2/time.html
#逆の変換ツールはあるけどこちらは見つからず、コツコツ調べることに。
型変換:Number -> long (ただし、用途によってNumberはfloatになることもあるので注意)
現在時刻取得: (new Date()).getTime() -> System.currentTimeMillis()
配列:Array -> int [] (intのところには適切な型が入る)
部分文字列:slice ->substring
文字列置き換え:split("a").join("b") -> replace("a","b")
Reference:
http://oku.edu.mie-u.ac.jp/~okumura/java2/time.html
登録:
投稿 (Atom)