ひらい ぶらり Hi-Library

ぷろぐらみんぐについて。ときどきどうでもいいことについて。

FragmentTabHost で TabWidget をBottom に配置する

非推奨になったTabHostを使えば、普通にbottomに配置出来たのですが、FragmentTabHostは何やらバグっているらしく、配置順やgravityを変更してもbottomに配置されませんでした。 どうやら既にIsuueとして報告されているようで、参照先のコメントにあるの様に…

Android4.1系 + FragmentTabHost + WebView で文字入力が出来ない

endBatchEdit on inactive InputConnection とか出て半角英数字を入力しようとすると、フォーカスが次元の彼方まで吹っ飛ぶ。 日本語入力は通る。 ( ゚д゚) 強引にInputConnectionをWebViewに渡して見ましたがダメでした。 どこかで半角英数字が入るとFocusが…

FragmentTabHost内部のFragmentでAsyncTaskLoaderを使ってたらargsが変わらない

結論:タイトルが長い 結論:onStopでgetLoaderManager().destoryLoader(id)してあげる こんにちはこんにちは 世間では何かとAsyncTaskじゃなくてAsyncTaskLoader使おうぜっていう風潮ですね。 僕もブームに乗ってAsyncTaskからAsyncTaskLoaderに乗り換えて…

width and height must be > 0 だからといって、widthやheightが実際0なわけじゃないこともある

java.lang.IllegalArgumentException: width and height must be > 0 Matrix matrix = new Matrix(); matrix.postScale(sx, sy); Bitmap.createBitmap(bmp, 0, 0, bmp.getWidth(), bmp.getHeight(), matrix, true); 良い子の諸君! エラー文にwidthとかheigh…

android2.x系だと、AnimationSetのメソッドの呼び出し順によってはアニメーションが無視される

無視という表現が正しいかわからないけれども、何も起きなくなる。ただしAnimationListernerはAnimationEndを検知する。どういう時に起きるのかというと AnimationSet animationSet = new AnimationSet(true); RotateAnimation rotationAnimation = new Rota…

AnimationListernerのonAnimationEndでViewをremoveViewするとNullPointerExceptionが起きる

タイトル通りなので、onAnimationEndの中でそのままremoveViewしてはいけない。 結論だけ言うと、Handlerを使って処理を遅延させて回避する。 @Override public void onAnimationEnd(Animation animation) { new Handler().post(new Runnable() { @Override …

androidでファイル名を指定して保存するときに使えない文字列

Linuxベースだから"/"以外は使えると思ったら、普通にwindowsで使えない奴は使えない ↓らへん <>:*?"/\|そのはずが、GalaxyS3だと普通に"?"が入ってても動いた。別のandroid4.0系では動かなかったので、別にバージョンの差では無さそう。まさかの端末固有の…

androidのIntentで日本語ファイル名を扱う時の注意点

Uri型で渡すので、SDカードとかに保存されたファイル名を渡すときは以下のような感じでエスケープしないとダメ。 public void playMusic() { Intent it = new Intent(Intent.ACTION_VIEW); Uri uri = Uri.parse("file://" + Environment.getExternalStorageD…

resumeTimers pauseTimers を使う時の注意

WebViewを使うと電池の消耗が激しい時の解決方法 を書いた後に気づいたので書きます。 電池の勝手な消費が解決したわけですが、よくわからないままに終わらせるのはよくないなーと思ったのでリファレンスを覗いてみたらこんなことが書かれてました。 pauseTi…

WebViewを使うと電池の消耗が激しい時の解決方法

androidアプリを開発していて、特に変更した覚えがないのにレビューに「電池の消費が激しい、アンインストールした」 とか書かれてたので 「今回のアップデートではWebViewの初期URLを変更しただけでそんなことがあるわけ」 あったで、実際変更は上記の通り…

正確には、android4.0で、且つ解像度が1280を超える場合らしい。

その場合はタブレット端末と認識されて、勝手に余白ができてしまうようだ。で、GlaxyS3での見栄えが良くないので、android4.0以前のものと同じにしてくれと言われた。 タブレットで見にくくなるのは良いのだろうか・・・ともかくそういうことなので、どうに…

Android→PHP Base64encodeの値を渡す

諸事情でandroidからintentを使って標準ブラウザを起動して、GETパラメタにBase64でエンコードした値を サーバ側(PHP)で受け取って、Base64でデコードしなきゃいけなかったのですが、出来なかったのでメモ。結論から言うと PHP側の問題 GETなりPOSTなりでB…

CodeIgniter2.0.3 以降でSmarty3.0を使う

CodeIgniter2.0.3以降からは、system/core/Loader.phpのCI_Loaderクラスで「_ci_cached_vars」がprotectedになってしまったので、僕が以前書いた記事のライブラリでは以下のようなエラーが出てしまう Cannot access protected property MY_Loader::$_ci_cach…

hatena world?

hatena world!

CodeIgniter2.0 でSmarty3.0を使う

CodeIgniter2.0ではSmarty3系は使えない、みたいな記事を書いたんですが、使えました。すいません。 CodeIgniter2.0 でSmarty2.6を使う - ひらい ぶらり Hi-Library正確には、「CodeIgniterでSmarty2と同じ仕組みでSmarty3は使えない」です。当たり前ですね…

CodeIgniter2.0 でSmarty2.6を使う

追記(2011-04-28): 2011-04-28 - ひらい ぶらり Hi-LibraryCodeIgniter2 を試す (Smarty 編) : あかぎメモ を参考にCodeIgniter2.0でSmarty2.6を使おうとしたらちょいちょいエラーが出たのでメモ。1つめ PHP Warning: Call-time pass-by-reference has bee…

CodeIgniter2.0でDA Authを使う

表題の様な事をしたかったんですが、DA AuthはCodeIgniter2.0には対応していない。 2.0で使うには以下を変更する必要がある。コントローラーでは Controller => CI_Controller parent::Controller(); => parent::__construct(); モデルも同様に Model => CI_…

file_get_contents の代わりに http_getを使う

peclでインストールできるpecl_httpってのがある。 インストール方法は http://blog.cheki.net/archives/1307 この当たりを参照していただくとして 利点 timeoutとか色々設定できる 使い方 $body = http_parse_message(http_get($url))->body; 簡単。http_ge…

preference でintentを飛ばしたい

preferenceは何もxmlだけで書かなくても、intentで飛ばすことができるらしい。 僕は設定画面からOuth認証させたかったので、通常のxmlだけでは定義できないので普通のActivityに飛ばしたい。で、注意したいのがintentを使用するときにtargetClassはパッケー…

PHPでmemcacheのkeyに制御文字(コントロールコード)を使う場合の注意

PHPでmemcache関数でセットして、取り出すときはtelnet接続するという奇特なことをしている時にはまったのでメモ。 こんなことする人他に居るんだろうか・・・現象 としてセット。^Aは制御文字。 で接続。 で取得しようとすると「hoge^A6」とい…

log4phpでConversionPatternにタブを入れたい

結論:そのままタブをぶち込めばいいΩ ΩΩ逆に言えば"\t"とか"&#x9;"とか入れても駄目です。何も迷わずにTABキーを押してください。 vimの設定でタブを全部空白にしていたので変に時間食ってしまいました。 不貞寝したい。

携帯ゲートウェイのIPアドレス帯域の変更を監視する

タイトルのようなことがしたくて色々調べていると、Perlのモジュールに Net::CIDR::MobileJP ってのがあって、この中に各キャリアのIPアドレス帯域がのってるHPをスクレイピングするスクリプトが含まれている・・・ってことがこちらhttp://dsas.blog.klab.or…

MessagePackをPHPで使おうとしたら「undefined symbol: RETURN_NUL」ってでた

はい、お疲れ様です。 僕こと鬼チャラいプログラマーしんばしは困ったらすぐにGoogle先生に聞いてしまうのですが、マスターから「ルーク、ソースを使うのじゃ!」と言われてソースを眺めてみました。無事MessagePackをmake installし、めでたしめでたし。さ…

CentOSでMessagePackのphpバインディングを使う

MessagePackを使おう! ということになりまして。MessagePackはシリアライズのスピード、シリアライズ後のサイズの縮小に優れているシリアライザーです。詳しくは google:MessagePack で漁って見てください。手抜きなう。CとRubyのライブラリとして開発され…

ひとりapache勉強会 apache_module編 その1 「apache_moduleってなに?」

前書き みなさんこんにちは 会社で分不相応な部署で働いてるしんばしです。 会社で神と崇められている方々と仕事をしているわけですが、ミーティングなんかでも神と僕とでは前提になっている知識が違いすぎて置いてけぼりになってしまうことなんかが多々あり…

バグ管理ツールとコードレビューツールを調べてみた

コードレビューの度に、人を集めるのって大変だよねってことでsubversionなんかのバグ管理ツールと連携するコードデビューツールやプラグインを調べてざっくりまとめてみた。デモやら周囲の評判だけで書いているので、うそついてるかもしれないのであしから…

iPhoneのメールで文字入力をすると落ちる

メールに文字入力をして,予測変換がでるのを待っていたらiPhoneが落ちた再起動後も,メールアプリが落ちる.なんぞと思ったがiPhone メール 文字入力 落ちるでぐぐったら一発で解決策が.便利な世の中になったものである.因みに設定→一般→リセット→キーボ…

JTableにチェックボックスを設置

JTableにボタンを配置したりするのは大変みたいだが,チェックボックスは比較的簡単に配置できるようだ. まず,JTableにデータをセットするときに Object[][] data = { {"Mary", "Campione", "Snowboarding", new Integer(5), new Boolean(false)}, {"Aliso…

WindowsのCabochaをJavaからexecで使う が 文字化け

WindowsでCabochaをJAVAから使いたい.しかし,Java用のライブラリがないので,execでCabochaを叩いてみる. String cabochaPath = "C:\\Program Files\\CaboCha\\bin\\cabocha.exe"; String command = cabochaPath; Process process = null; try { process …

canvasで爆裂ブロック崩し

時間はないけど,実験のTA中とか暇なので作ってみよう!というわけで爆裂ブロック崩しJavaScript版に挑戦. もちろんIEでは絶対に動きません.自己満足です. ちなみに今のところFireFoxでも重すぎてお話しにならなそう. Chrome限定の予感.とりあえず,本…