ぶんぶん さん プロフィール

  •  
ぶんぶんさん: ぶんぶんアプリ
ハンドル名ぶんぶん さん
ブログタイトルぶんぶんアプリ
ブログURLhttp://www.bnbnapp.com/
サイト紹介文androidのアプリを開発しています。android studioやJavaの情報を載せています。
参加カテゴリー
更新頻度(1年)情報提供51回 / 363日(平均1.0回/週) - 参加 2017/02/14 19:23

ぶんぶん さんのブログ記事

  • メモリリーク その4 EditText
  • こんにちは。現在までに発見したメモリリークの最終記事です。compileSdkVersionを26に上げたところ、LeakCanaryでメモリリークを検出しました。検出端末は、Xperia performanceです。そのときのLeakCanaryのスクリーンショットが以下です。LeakCanaryInputConnectionWrapperのmTargetが解放されないようです。よって、上記が解放されるように対応しました。まず、EditTextの代わりに自作のMyEditTextを用意しました。 次に、Inpu [続きを読む]
  • 何度目かの禁煙
  • おはようございます。久しぶりの更新です。今日はまだ5日目ですが、禁煙についてです。大人になってから、ずっとタバコを吸ってきました。しかし、今、以下の理由から禁煙を決意しました。禁煙する理由①:えずく最近、喫煙が体調不良をもたらすようになっているような気がしてきました。毎日、何回もえずくのです。実際に吐いてしまう事もありました。他の疾患で病院にかかるときに、えずく事も相談するのですが、特に取り上げて [続きを読む]
  • Wi-Fiのセキュリティについて
  • こんにちは。知り合いでクレジットカードを不正利用されるということが起きました。少し、聞き取りをしましたが、漏洩の原因が不明です。ただし、Wi-Fiについて、意識が低いことが分かったので、できるだけ多くの方に知っていただきたく、記事に残すこととしました。Wi-Fiは、LANケーブルを繋げず、電波で通信を行います。電波なので、誰でも傍受できてしまいます。そこで、データを暗号化し解読を難しくすることにより、セキュリ [続きを読む]
  • DVDラックのヘルプ
  • 公開中のDVDラックのヘルプを記載します。0.目次DVDラック画面バーコード読み込み検索画面入力画面Web検索画面検索結果 新作検索バックアップ1.DVDラック画面①メニュー・「表示切替」 DVDの一覧(④)表示方法を変更します。  するたびに、1列→2列→3列→1列・・・と変化します。 画面を開き直したとき、前回選択した列数で表示されます。・「検索」 登録済みのDVDの検索画面を表示します。・「 [続きを読む]
  • logcatが表示されない!?デバッグでEditTextのあるActivity表示で落ちる!?
  • 思いがけず、タブレットも開発に使用できるようになりました。d tab(HUAWEIのd-01J)。しばらくは、今まで通り、スマホで開発し、Releaseビルド後にタブレットで動作確認をしていました。問題なく使えていたのですが、厄介なカメラ機能を修正したので、タブレットでデバッグを行ったところ、あるActivityに遷移すると落ちました。logcatを見てみたら、エラーもデバッグログも出力されていません。ここから、結構、はまりました。と [続きを読む]
  • メモリリーク その3 AdMob広告の表示で
  • こんにちは。AdMobの広告を表示させるために、AdMobの以下のガイドに沿ってソースを修正しました。https://developers.google.com/admob/android/quick-start?hl=jaガイドより↓ しかし、これだとメモリリークを起こします。以前にも書きましたが、ActivityのContextを渡し、そのContextを保持されてしまうとActivityを解放できません。ApplicationContextを渡せば、Activityはメモリリークを起こしません。また、MobileAds.initia [続きを読む]
  • 画面タップが効かなくなったスマホ
  • こんばんは。以前使っていたスマホの画面をタップしても何も反応しなくなってしまい、もうだめかと放置していました。しかし、公開しているアプリは、古いAndroidも対応しているため、どうしても動作確認がしたくなり、どうにか動かせないか調べました。まず分かったのが、パソコンとUSB接続して、パソコン上であるアプリを動かすと、スマホの画面がパソコンの画面に表示され、操作できるというものがあるということです。ただし、 [続きを読む]
  • メモリリーク その2 AlertDialog
  • こんばんは。今回もメモリリークについてです。AlertDialogで、メモリリークが発生していました。そもそも、使い方を誤っていました。以下のようにすれば、簡単にメッセージダイアログが表示できますが、これではいけません。 画面を回転した場合などに、メモリリークが発生します。Androidデベロッパーのページにも書かれていました。https://developer.android.com/guide/topics/ui/dialogs.html?hl=jaDialogFragmentを使ってダ [続きを読む]
  • メモリリーク その1
  • こんばんは。忙しくて、なかなか更新できませんでした。前回メモリリークを調査した結果、検出した内容です。今回は、単純なコーディングミスです。Staticな変数に、Contextを渡したクラスのインスタンスを保持しているのですが、ContextにActivityをキャストしたContextを渡していました。ソースで説明します。ToastクラスのインスタンスをContextを渡して作成し、Staticな変数で保持しています。上記のshowToastを以下のように呼 [続きを読む]
  • メモリリーク調査
  • こんばんは。お久しぶりです。ブログは更新していませんでしたが、開発は行っています。ふと、メモリリークはしていないのか気になって、調査してみることにしました。確保された領域は、どこからも参照されなくなれば、GC(ガベージコレクション)でシステムが勝手に解放してくれます。参照をなくした後にGCを強制的に行い、解放が行われているかチェックすれば、メモリリークを見つけられます。Android Studioでデバッグ中に、An [続きを読む]
  • Google Play Developer Consoleでタブレット未対応となってしまう
  • こんにちは。本棚、CDラック、DVDラックを公開してきましたが、DVDラックだけ違反となり、一時アプリが非公開になってしまいました。なりすましと知的財産権の侵害にひっかってしまったようです。Google Playに記載したスクリーンショットに、適当なDVD情報を取り込んだ画面が写っているのがまずかったようです。急遽、実在するDVD情報は削除したスクリーンショットを取り、公開しました。違反はなくなったのですが、今度は、タブ [続きを読む]
  • CDラックのヘルプ
  • 公開中のCDラックのヘルプを記載します。0.目次CDラック画面バーコード読み込み検索画面入力画面Web検索画面検索結果 新譜検索バックアップ1.CDラック画面 ①メニュー・「表示切替」 CDの一覧(④)表示方法を変更します。・「検索」 登録済みのCDの検索画面を表示します。・「変更」 選択したCDを一括変更します。・「削除」 選択したCDを削除します。・「Web検索」 Web検索画面を表示します。・「新譜検 [続きを読む]
  • Unitテスト 変数の値検証
  • こんにちは。今日は、Unitテストで、内部変数の値の検証の仕方を書きます。まず、対象のActivityをモックとして定義します。 例えば、MainActivityのprivateなローカル変数「mPositionAll」に初期値を設定したい場合は、以下のようにします。 そして、変数の値を検証したい場合は、以下のようにします。 以上です。 [続きを読む]
  • 「DVDラック」公開
  • こんにちは。新しく「DVDラック」を公開しました。「本棚」や「CDラック」と似た操作で、DVDやブルーレイを管理できます。出演者と監督は、必ず複数になると思うので、ちょっと工夫しました。また、DVD Boxなどで、どこまで観たか記録できるようにしました。レンタルして観た場合にも、記録できますので、一度観たものを間違って借りることもなくなります。是非、使ってみてください。 [続きを読む]
  • ぶんぶんの花粉症対策
  • こんばんは。前回、腹痛改善について書きましたが、今回は、花粉症対策に役立っているものを紹介します。外出するときは、マスクをするのは当然ですが、それでも、鼻水は出ます。一番、良いなと思うものは、点鼻薬です。私は去年買った「グローα AG 点鼻薬」を今年も使っています。鼻が出てきたら、これを両方の鼻の穴に突っ込んで、シュッシュッとします。ほんのちょっとだけ、薬剤の液体も加わって、じゅるじゅるしますが、次 [続きを読む]
  • 最近、腹痛しなくなりました!LG21の効果!?
  • こんばんは。タイトルにあるように、最近、腹痛しなくなりました。同じような悩みの人はたくさんいると思いますので、紹介したいと思います。私は、子供のころから、よく腹痛になり、トイレに駆け込むことが多かったのですが、大人になってからも、変わりませんでした。朝、電車に乗っているときに、腹痛になるのが怖くて、朝ご飯は食べずに、出勤していました。仕事中も何回もトイレに行ってました。そしたら、個室が開いてないこ [続きを読む]
  • 難読化について
  • こんばんは。JAVAの実行ファイルは、解読が容易です。難読化することによって、解読が難しくなります。変数名や関数名が、「a」とか「b」という簡単な名前に変わります。難しくなるだけであって、解読できないわけではありません。しかし、バレバレの状態よりも読みにくい状態にしておいて、損はないと思います。また、変数名が短縮されるわけですから、容量が節約できます。詳しくは、こちらを参照ください。難読化の手順を簡単に [続きを読む]
  • プレビューで色が取れない
  • こんばんは。前回、「色も取れないらしく、colors.xmlに設定してある色ではなく、デフォルトの色で表示されてしまいます。」と書きましたが、再現してしまいました。上記以外に、colors.xmlに設定してあるcolorを使用しているlayoutファイルを開くと、プレビューに以下のエラーが表示されます。「Couldn't resolve resource @color/colorAnything」実行すると、ちゃんと設定した色で表示されます。色々調べた結果、以下で解決しま [続きを読む]
  • layoutファイル名に大文字はダメ
  • こんにちは。しょうもないエラーに引っかかってしまいました。恥ずかしい内容ですが、同じ過ちをしないようにするためにも、残しておきます。ガリガリ、コーディングしていて、ふと、気づいたら、layoutファイルのプレビューで、エラーになってしまっていました。styleが定義されていないというエラーだったと思います。色も取れないらしく、colors.xmlに設定してある色ではなく、デフォルトの色で表示されてしまいます。全然、原 [続きを読む]
  • こんなの欲しかった!スマホスタンド
  • こんにちは。便利グッズを紹介したいと思います。androidのアプリ開発を行っているのですが、デバッグで、スマホとパソコンを繋いで、スマホで動作確認をします。パソコンでコードを書くときは、繋いだまま、座っているところの横に置いたり、パソコンデスクの上に置いてました。動作確認するときに、いちいちスマホを手に取っていました。どうもやりにくく、スマホをパソコンの画面の前に立てられたらなぁと思っていました。ただ [続きを読む]
  • Unitテストについて Mockito
  • こんばんは。今日は、Unitテストについてです。Unitテストは、JUnitとMockitoを使用しました。Gradleのdependenciesに以下を設定します。 まずは、import部分です。今回説明しないクラスも含まれています。 テストクラスにアノテーション「@RunWith(PowerMockRunner.class)」を付けます。また、TestCaseクラスをextendsします。setUpで、実行前の準備をします。tearDownで終了後の解放などをします。例として、getIdsというテスト [続きを読む]
  • Androidアプリ開発の学習について
  • こんにちは。私がAndroidアプリ開発を始めるにあたって、読んだ本を紹介したいと思います。私は、20年近くプログラミング経験がありますが、Javaの経験は1年未満です。最初に勉強したのは、C言語で、一番経験が長いのは、Visual Basic6.0(VB6.0)です。VB6.0は既にサポートが終了しているにも関わらず、ずっと使っていました。他には、Visual Studio C、C++、C# です。Javaの経験が少ないですが、その他の言語、特にC#の経験が [続きを読む]
  • ドコモあんしんスキャンについて<続報>
  • こんばんは。以前、「ドコモあんしんスキャンについて」という記事を書きました。gradleの2.2.3を使うと、スマホにインストール時に、PUPとして検出されてしまうという件です。昨日、Android Studioを開いたところ、Gradleのアップデートがあると表示されました。PUPが検出されるという件は、解消されるのか!?と思い、アップデートして、スマホにインストールしてみました。結果は、PUP検出されない!Android Studioを立ち上げる [続きを読む]
  • Activity間のデータ受け渡しについて
  • こんにちは。Activityを起動するには、以下のようにします。引数を渡したい場合は、以下のようにします。起動したActivity側で、引数を取り出します。戻り値を受け取りたい場合は、起動を以下のようにします。REQUEST_CODEは、適当なint型の値です。そして、起動されたActivityで戻り値を設定します。呼び出し側の受け取りです。この記事を書きながら気づいたのですが、setResultには、Intentを引数に持つものもあるようです。色々 [続きを読む]