Androidはワンツーパンチ 三歩進んで二歩下がる

Android卵プログラマーの記録ブログ

Android

AndroidでEventBusライブラリを使用してコンポーネント間のイベント通知をスッキリ行う

※2017/01/28追記 EventBusはバージョン3にアップデート時に大きな変更がありました。詳しくは公式サイトにて。当エントリは2.x系の記事となります。 EventBus 3 released, now based on @Annotations - Open Source by greenrobotこちらのエントリのコードを…

Androidアプリ 「インコアンインストーラー」をリリースしました

個人でAndroidアプリをリリースするのはすごく久しぶりです。 先日Androidアプリ 「インコアンインストーラー」をリリースしました。 インコアンインストーラー - Google Play の Android アプリただのアンインストーラーアプリじゃありませんYO! インコなん…

Bitmapをバイト配列としてserializeする方法

例えばBitmapのデータをSQLiteのデータベースに保存したい場合、BLOB型としてバイトデータをそのまま保存することが考えられます。cursorとやり取りするときのフィールド定義は↓こんな感じのバイト型の配列になると思います。 private byte[] icon_bitmap; …

xoomがオーバークロックで蘇った!.....かもしれなかった日記その2【復活の巻】

前回のxoomがオーバークロックで蘇った!.....かもしれなかった日記 http://d.hatena.ne.jp/sakura_bird1/20131123/1385226220 では、xoomが起動しなくなるところまでいきました。ブログを投稿し諦めモードでしたが、まだ希望はあるのかもしれないと思った夜…

xoomがオーバークロックで蘇った!.....かもしれなかった日記

オーバークロックというものに最近興味があります。 「87CLOCKERS」というマンガがあってですね。 登場人物達がPCのオーバークロックをやっているんです。 その手の話はちっともわからないのですが、ジュリアというギークな女性の 自作空冷マシンがすごくカ…

zxing 2.2にcore/core.jarと javase/javase.jarが無くてお困りの方

AndroidアプリでQRコードを使用するために、ZXing ライブラリを使いたくてZXingのダウンロードサイトからZXing-2.2.zipを落としてきて解凍したものの、 core/core.jar javase/javase.jar が入っていなくてアレレ?となりました。解決策はここに色々かいてあ…

Androidでアプリケーションの起動時に一度だけ確実に行いたい&何度も行なっては困る処理はApplicationの継承クラスで行うといい

無知でハマったので記録しておきます。 今まであまり考えもせず初期起動のActivityで一度行えば何度も行う必要のない処理を行なっていました。私がハマった実例はあるライブラリーの有効化処理でした。 この処理をランチャーから起動するActivityのonCreate(…

今度からSQLiteOpenHelperのDatabaseHelperのインスタンス取得はSingletonパターンにするよ・・・

SQLiteDatabaseLockedExceptionなるエラーが出たんですけど、 android.database.sqlite.SQLiteDatabaseLockedException java.lang.RuntimeException: An error occured while executing doInBackground() at android.support.v4.content.ModernAsyncTask$3.d…

WebViewでGeolocationを有効にする

AndroidのWebView中で位置情報を使ったコードを実行できるようにする方法のメモです。 最低限動く最小構成と思ってくださいませ。AndroidManifest.xmlに以下のパーミッションを追加する <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> WebViewの設定をする。 (略) WebSettings settings = mWebView.get</uses-permission></uses-permission>…

アプリケーションのキャッシュを削除すると、WebViewで表示した時にCSSが効かなくなるという現象について

あまりちゃんとわかっていないのだけど忘れないようにメモをしておきます。WebViewを使ったアプリを作成しているのですが、そのアプリのキャッシュを 消去すると、WebのCSSを読み込まなくなってデザインの無いWebページが表示されてしまう という現象があり…

CursorLoaderを使ってデータを読み込み、CursorAdapterをカスタマイズしたアダプターを使いListViewに表示する

以前のエントリで「ContentProvierとCursorLoaderとFragmentを使ったサンプルを作ってみた」 というものを書きました。 その時にListViewにセットしたアダプターは「SimpleCursorAdapter」という便利なクラスを利用したのですが、 リストを色々とカスタマイ…

メール送信でIntent.ACTION_SENDTOを使う際にメールアドレスがlogcatに表示されないようにする『Android アプリのセキュア設計・セキュアコーディングガイド』メモ

今JSSECさまの『Android アプリのセキュア設計・セキュアコーディングガイド』を読ませていただいているので忘れないようにメモです。 内容はリンク先を是非ともご覧くださいませ。メール送信でIntent.ACTION_SENDTOを使う際にメールアドレスがlogcatに表示…

タブのクリックイベントと変更イベント両方を取得するサンプル

自分用覚書です。 タブにTabHost.OnTabChangeListenerを実装しておいてタブをクリックすると onTabChanged(java.lang.String)メソッドが呼ばれます。 このメソッドはタブが変更された時に呼ばれるものなので同じタブを複数回クリックしても反応しません。で…

TextViewの一部にHTMLを使用する

自分用メモです。参考サイトさま :Tips TextView を使いこなそう 〜 表示編 〜 その2これでできる。 CharSequence source = Html.fromHtml(builder.toString());ソース抜粋(自分用なので見難いです) getListView().removeHeaderView(mHeaderView); Strin…

PDFを閲覧できるアプリが1つもなかった時Web上のPDFをブラウザでGoogleDocsとして開く

自分用メモです // ローカルのPDFをintentを使って開く File pathExternalDir = getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS); String filepath = pathExternalDir + "/handbook.pdf"; File file = new File(filepath); if (!file.exists()) { sho…

xmlに複数の画像を配列で定義してランダムに表示させる

自分用メモです。 <resources> <array name="train_images"> <item>@drawable/train01</item> <item>@drawable/train02</item> <item>@drawable/train03</item> <item>@drawable/train04</item> <item>@drawable/train05</item> <item>@drawable/train06</item> </array> </resources> // 6…

ListViewのアダプターにデータが変更されたことを通知する

自分用メモです。更新ボタンが押されるなどしてArrayAdapter継承クラスにリストにセットする 内容が変更されたことを通知して表示を最新にする。 // 画面セットしなおし mAdapter.clear(); // データセットしなおし makeListItems(); // アダプターに通知す…

正規表現メモ2つ。テキスト中のhtmlタグを取り除く。カッコ()で囲まれた部分を取り除く。

自分用メモです。テキスト中のhtmlタグを取り除く // <br>などと入っていることがあるので半角スペースに置き換え text = text.replaceAll("<.+?>", " "); カッコ()で囲まれた部分を取り除く titleString = titleString.replaceAll("\\(.+?\\)", "");

DialogFragmentでシンプルで汎用的なダイアログ

自分用のメモです。AlertDialogをダイアログ表示処理に使っていましたが非推奨になったので DialogFragmentを使うことにしました。参考にさせていただいたサイトさま 何故DialogFragmentか Why DialogFragment can't be an inner class?DialogFragmentを継承…

よちよちAndroidの会の「炎のAndroid開発道場」本が数ヶ月前に出版されていただと・・?!

2012年9月13日に(8/20だったような気がするが本の出版日はこうなっている) よちよちAndroidの会の「炎のAndroid開発道場」が発売されました(∩´∀`)∩ワーイ炎のAndroid開発道場作者: よちよちAndroidサンデープログラミングの会初心者教育委員会出版社/メーカ…

TextViewを押した時にselectorを使って色を変える

自分用メモ。よくButtonなどで使われていますが、状態によって色調の違う画像を表示したりして、リアルにクリックした感じを演出したりしますよね。 xmlでselectorというタグを使用して、ボタンが押された時、フォーカスされた時などの 状態毎にリソースを定…

『10日でおぼえるAndroidアプリ開発入門教室 第2版 』寺園 聖文さんのご著書を読ませていただきました。

寺園 聖文さんこと @yokmama さんが上梓された 『10日でおぼえるAndroidアプリ開発入門教室 第2版 』AndroidSDK 4/3/2対応(翔泳社)をご献本いただき、読ませていただきました。10日でおぼえるAndroidアプリ開発入門教室 第2版 AndroidSDK 4/3/2対応 (10日で…

ContentProvierとCursorLoaderとFragmentを使ったサンプルを作ってみた

最近のAndroidは ・Activity→Fragmentへ ・DB処理は非同期に→非同期でクエリを発行するのに最適なCursorLoaderがナウい。 ・SQLiteOpenHelperのサブクラスで直にDBを触る→ContentProviderを通してアクセスするということらしいです。 そこでかなり乗り遅れて…

emailのリンクからandroidアプリを起動する

自分用のメモです。何か変だったら教えてくれたらすごく嬉しいです。HTMLリンクからアプリを起動するという参考サイト様に あるように、ブラウザからアプリを起動するやり方はとてもうまく行くのですが、 メールのリンクから上記と全く同じようにしようとし…

Androidテスト勉強会 9月8日(土) #atest_hack@ドリコム <リンクまとめ>

Androidテスト勉強会 9月8日(土) #atest_hack を開催いたしました。 このエントリでは、発表に関するリンクのまとめをしたいとおもいます。 感想や反省は別のエントリにしたいと思います。いつも感想を書こうとすると遅くなりますしwTogetterはこちらにまと…

AndroidのWebViewでローカルPCのサーバーにアクセスする

メモです。開発用の自分のPCに立てたサーバーにAndroidのWebViewでアクセスする方法。Mac環境が前提です。 (関連:http://d.hatena.ne.jp/sakura_bird1/20120804/1344055999)◯IP Addressを調べる $ ifconfig inet 192.168.X.X と表示されている(※Xにはそれ…

Manifestにandroid:launchMode="singleTask"を指定するとIntentで起動した時onCreate()を通らないんですね

基本なんだろうけど知らなかったので。ろくにドキュメントを読んでいないのがバレる(;´д`)トホホ… http://developer.android.com/intl/ja/guide/topics/manifest/activity-element.htmlAndroidManifest.xmlのactivityの属性にandroid:launchMode="singleTask"…

Android4.0でUI(webview)を操作するためにHandler.post()を使うとログに警告が出る

このURLの人と同じような感じでandroid - Unknown Issue with WebView on ICS - Stack OverflowWarning: A WebView method was called on thread 'WebViewCoreThread'. All WebView methods must be called on the UI thread. Future versions of WebView ma…

Androidのブラウザのリンクをクリックするとアプリを起動できるようにする

自分用のメモです。このようなHTMLをAndroidのブラウザで表示するとします。 call from browserのリンクを踏むとAndroid.Manifestにintent受信の設定をしているアプリを起動できます。 <html> <body> <head><title>test</title></head> <center><a href="launchfrombrowzercall:/kokohananndemoii/">call from browser</a></center> </body> </html> 上記HTML中で定義されている「launchfrombr…

Android3.x以降はStrictMode がデフォルトで有効になっているため、UIスレッドで通信を行うとNetworkOnMainThreadExceptionが発生する

メモです。自分用の忘備録なのでわかりやすく書いてないです。ごめんなさい。Android3.x以降はStrictMode がデフォルトで有効になっているため、UIスレッドで通信を行うとNetworkOnMainThreadExceptionが発生する という件について。AsyncTaskのonPostExecut…