ASとか

開発系の記事が多めです。タイトルのASはActionScriptの略です。

Android

Volley 読んだ

はじめに 出遅れた感が凄いけど Google がリリースした Android 用の通信ライブラリである Volley を読んだ。今のプロジェクトの通信部分はかなり軽量で、それはそれでいいんだけど、気を利かせて書くとこうなるっていう指標を知りたくて、その目標は達成で…

複雑な layout.xml が辛い

大体が Activity とそれに表示する layout.xml を作って画面ができていくと思うけど、この layout .xml を Activity が中間層をおかずに触っている場合、もの凄い辛い事になる、というか正直もうなってる。 単体で使い回せるものであれば widget として作ろ…

Androidの開発環境を作り直した

はじめに たまに挙動がおかしい時があったんだけど、原因がイマイチわからないので作り直してみた。 環境はMacOSX10.7.4 その前に AppCleanerでEclipseを削除した後、一応ホームディレクトリの二つのディレクトリ名を適当なものに変更 .android .eclipse 二…

テスト用プロジェクト内のリソースを参照する方法

はじめに AndroidTestCaseを継承したクラスでAssets内のファイルを参照しようとしたらエラーになってしまうので解決策をメモ 解決編 医療情報事務所 一貫堂Blog: AndroidTestCaseを継承したテストケースでテストプロジェクト内のリソースを利用 まさにそのま…

startActivityForResultの直後にonActivityResultが呼ばれてしまう

はじめに 表題通りです。 解決編 Google グループLance Nanekさんのコメントの通り、Manifestで移動先activityに設定されているlaunchModeがsingleTaskとなっていたのが原因でした。そもそもこの画面がsingleTaskである意味もわからなかったので単純に削除す…

ダイアログ表示時に下の画面を暗くしない

はじめに ダイアログを表示した場合に、下に隠れる画面を暗くしない方法をメモ、ダイアログ画面での操作が下の画面に影響するような場合に使えますね 参考 Google グループ styles.xml <style name="CustomDialog" parent="@android:style/Theme.Dialog"> <item name="android:backgroundDimAmount">0.0</item> </style> AndroidManife…

タイムアウトエラーが起きやすい問題を直した

はじめに Eclipseからの実機インストールの話。GalaxyのTabとかではほとんど起きないんだけど、GalaxySとかXperiaでよくコンソールに以下のエラーが吐かれる問題を直したのでメモ Failed to install ***.apk on device '***': タイムアウト 起動はキャンセル…

@Overrideアノテーションでエラー

はじめに 既存のプロジェクトをインポートしたら@Overrideを使用している箇所でもの凄い怒られた。「型 ○○ のメソッド ×× はスーパークラスのメソッドをオーバーライドする必要があります」って...してるじゃないかと jdkのバージョンによって@Overrideアノ…

パッケージ名を変更して別アプリとして認識させる

はじめに 既存アプリの内容を少し書き換えて新アプリとして作成したい場合に、パッケージ名が同じだとアプリ名を変えたりしても同じアプリとして認識され、既存アプリが存在した場合はそいつを上書きます。パッケージ名を変えれば大丈夫とのことなのですが、…

ImageViewへのLayoutParams設定でハマった

はじめに ActivityのonWindowFocusChanged()で動的にImageViewのサイズを変更したかったのだが、ClassCastExceptionがしつこかったのでメモ エラーが出る書き方 layout <FrameLayout android:id="@+id/contents_base" android:layout_height="fill_parent" android:layout_width="fill_parent" > </framelayout>

自作クラスをレイアウトで配置

はじめに メモ書きです。LinearLayoutとかを継承して色々イベントを付けた自作クラスをレイアウトで配置する方法で少し迷いました。 書き方 <jp.co.murakaming.android.CustomLayout android:id="@+id/custom_layout" android:layout_width="match_parent" android:layout_height="match_parent" /> 単純にパッケージ名から指定しろってことですね。注意点としては、呼ばれるコンストラクタを自作クラスで上書いて</jp.co.murakaming.android.customlayout>…

EditTextのキーボードを出したくない

はじめに 小ネタです。EditTextを設置した際、デフォルトではEditTextにフォーカスが合った時にキーボードが出ます。これを出さずに、onClickのみの処理を行いたい場合のメモ focusable="false" フォーカスが合わないように設定してあげればOKです。なのでfo…

layout_weightの使い方

はじめに layout_weightすごくよく使うけど本質を理解してなかったので調べたことをメモ 基本 layout_weightには、"親ビューの余白を振り分ける比率"を設定する 親ビューの余白 例えばlayout_heightが100dpに設定されたLinearLayoutの上にTextViewを2つ置く…

dpとspについて

はじめに 意識して使い分けている自信はあったけど説明しろと言われると割と困ったので調べました。 参考 Y.A.M の 雑記帳: Android Dimension 単位 公式ドキュメントの翻訳、ここを見れば全部わかりますが自分がよく使う部分だけ抜き出して見ました。 各単…

上にViewを重ねて触れなくする

例 ポップアップで何かを表示する場合に、表示した部分以外には触ってほしくない場合は、1枚Viewを上に重ねてその上にポップアップ表示をすることで実現できます。 しかし iOSであればViewを置くだけで終了なのですが、Androidの場合置いただけでは下に触れ…

Galleryに表示するViewが重なってしまう

はじめに Galleryを初めて使ってみたら1枚目と2枚目のビューが重なって困った。 参考 Galleryに表示するItemが重なってしまう現象への対応 - terurouメモ 大変助かりました;ありがとうございました。 対策 重なっている様子だとかは参考URLを見てもらうこと…

Viewのアルファ設定について

アルファ設定方法 iOSでもそうだけどViewへのアルファ設定は二通りあります。 View自身のアルファ 単純にalphaプロパティへ設定する。View自身を透過させるためそのViewにaddしていくViewも透過させてしまう。 Viewの背景へのアルファ backgroundプロパティ…

アプリを実機転送しようとしたらデバイスを認識してくれなかった

はじめに 新しい実機が来たので早速アプリ転送をしてみようと思ったらEclipseが全然実機を認識してくれない。 参考 なまけものになりたくて - androidアプリの実機テスト 上記をそのまま実行させて頂きました。ありがとうございます。 実機が認識されている…

アニメーションさせているViewのVisibilityが操作できない

はじめに ImageViewをアニメーションさせておき、イベントで表示非表示を切り替えようと思ったらできなかった。 例 初期設定 // アニメーション設定 TranslateAnimation translate = new TranslateAnimation(0, 5, 0, 0); translate.setDuration(3000); tran…

セクション毎の区切り用ビュー付きListView

参考 Android - (ListView) 区切りフィールド付き+インデクス表示付きのスクロール | Dev. GrAFR インデクス表示付きのサンプル 実装するにあたり iOSのようにデフォルトで区切り用ビューを提供していない 普通のビューを作る感覚で区切り用ビューも作らなけ…

MENU作成方法

基本 新規Android XMLファイル作成 タイプを"メニュー"に設定 作成したXMLにItemを追加してTitleやIconを設定する Activity側 // Menu表示イベント @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); …

明示的Intentまとめ

遷移 // 自身と遷移先のクラスを指定 Intent intent = new Intent(getApplication(), DetailActivity.class); // 遷移 startActivity(intent); getApplication()だと弱参照になるっぽい http://www.textdrop.net/soft/android-avoiding-memory-leaks/ アイテ…

R.javaが作成されない

概要 既存プロジェクトをインポート 大量のエラーが出る Rクラスが参照できていない プロジェクト>クリーンしてビルドしてみるもR.javaが生成されない layoutとvaluesのエラーを直したらいけた 参考 layoutとvaluesのエラーを直した方法(元凶はstrings.xml…