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

プログラミングやどうでもいい話

Android

2015/7 eclipseからAndroid Studioへの移行と古いgitリポジトリの移行

最近のメモです。 Android Studio1.2.2 eclipseプロジェクトをAndroid Studioにimportする 以前はeclipseでgradleのファイルをexportしていたと思いますが、今はその必要はなく Android Studio起動 File > New > Import Project. 又はwelcom画面のImport pro…

ImageViewを丸く表示するViewを作ってみた

マテリアルデザインで人物のアイコンを円形で表示するのを見かけますが、ImageViewを拡張して画像を丸く表示するViewを作りました。 既にネット上に優れたコードがあると思いますが、私のはシンプルなやつです。・楕円や角丸ではなく正円に画像をくり抜くイ…

特定の端末でhttpResponseをEntityUtils.toStringしようとするとSocketExceptionが発生した

先日発生した事象です。出先で端末をお借りしてデバッグしたのであまり追求できなかったのですが、何だこれよくわからんと思ったので、メモしておきます。現象 特定の端末(305SH)でHttp通信を行った際、レスポンスをStringにする箇所でSocketExceptionが発生…

Androidの4.3未満でCMYK形式の画像が表示できない件

先日お問い合わせがあって、ある画像だけがアプリで表示できないという現象が発生しました。 その時のメモです。表示できていない箇所はネットワーク上にある画像ファイルをImageViewで表示する箇所でした。 (正確にはNetworkImageViewというImageViewを継承…

Android Studioでimport projectしようとしたがGradle homeがセットされていなくて、”Gradle location is not specified"と怒られたときの対処法

※Android Studio 1.2 Betaでの情報です。Android Studioでimport projectしようとしてGradle homeがセットされていなくて、”Gradle location is not specified"と怒られたときにやったことのメモです。とあるライブラリをimportしようとした時に発生したので…

Androidアプリ 「インコ発信確認」をリリースしました

発信確認アプリは世の中にたくさんあるのですが、あえて!満を持して! リリースしました! https://play.google.com/store/apps/details?id=com.sakurafish.parrot.callconfirmというわけではありません(;^ω^) メンゴメンゴちょっと空き時間に作ったも…

AndroidのWebViewでiFrame内のリンクをクリック時に外部ブラウザに飛ばす方法

WebViewにてURLで処理を制御する時にお馴染みですが、 WebViewClientのオブジェクトをWebViewにセットして、shouldOverrideUrlLoadingメソッドをoverrideする方法を取ります。 ですが、iFrame内のリンクをクリックした時はshouldOverrideUrlLoadingが呼ばれ…

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を通してアクセスするということらしいです。 そこでかなり乗り遅れて…