くらげになりたい。

くらげのようにふわふわ生きたい日曜プログラマなブログ。趣味の備忘録です。

Android

都会の路駐に困ったので、アプリ「路駐密告」をつくってみた

ひさびさのAndroidアプリネタ。 路駐密告 - 迷惑駐車をこっそり共有 - - Google Play の Android アプリ 違法駐車、困ってます 東海の田舎から、都会に引っ越してきて早数年。文化の違いって、なかなか慣れないですよね。。。 いまだに感じるのは路上駐車の…

Androidで通知音やアラーム音を再生する(MediaPlayerとかRingtoneManagerとか)

シンプルでかわいい「ふわぷかタイマー」というタイマーアプリを作ったときの備忘録。 play.google.com アラーム音・着信音の一覧をとってきたり、アラーム音を再生したいなと。 機種に入っている着信音(Ringtone)は、RingtoneManagerを 再生するにはMediaPl…

AndroidのCustomTabsでMaterialDesignなWebViewを開く

AndroidアプリからWebサイトに移動すると、ブラウザが開いてしまって、なんかかっこわるい。。。 Custom Tabs Support Libraryというのを使うとよいらしい。 その際の備忘録。 まずは、dependencyの追加 dependencies { compile 'com.android.support:custom…

Gradleでapkファイル名にGitのリビジョンとかをつけてみる

以前、Gradleでbuild.gradleを修正して、Androidのapkファイルにアプリの名前が入るように変更したけど、Gitのリビジョン ハッシュとかも付けたくなった。 wannabe-jellyfish.hatenablog.com あとコミットされてないコードがあるかないかも知りたかったので…

AndroidでMaterial DesignとDesign Support Libraryを試してみた

Shytterv1.6をリリースしました! 本業が落ち着き、日曜プログラマ、ひさびさに再開です バタバタしている間に、Material DesignがGoogle I/O 2014で発表されてから1年、Design Support LibraryがGoogle I/O 2015で発表されてから2ヶ月すぎてしまいました(;…

AndroidのToolBarとYoutubePlayerをいっしょにつかう

昔こんな記事を書いていて、AndroidでYoutube動画を再生していましたが、 ToolBarやDesignSupportLibを使おうと思ってはまった。。。ので、そのときの備忘録 wannabe-jellyfish.hatenablog.com [PR] BabyTuba v1.3をリリースしました! wannabe-jellyfish.ha…

ListViewで行選択を無効にする

ListViewを使っていると、ListのItemの中にボタンとかを配置したくなる デフォルトの設定だと行の選択が優先されてしまって、いい感じにならないので、 行選択を無効化にしたいと思った時の備忘録 isEnabledをオーバライドして常にfalseを返すだけ public cl…

Java側で動的にPreferenceを作成

Androidを開発しているとどうやって楽にデバッグするか悩んでいたときに、メルカリさんのデバッグ機能の記事をみつけた tech.mercari.com いいな!!おもしろいな!!やりたいな!!と思い、 PreferenceActivityとかに動的に差し込めたらいいなと思ったとき…

ADBとDB Browser for SQLiteでAndroid実機のDBを確認する on Ubuntu 15.04

Androidアプリを開発していると、DBの中身をみて確認したくなるけど、adb shellでsqlite3コマンドを叩くのはめんどくさい。。。 DB Browser for SQLite(旧 SQLite Database Browser)なんていう GUIベースのすてきなツールもあるようなので、導入してみた際の…

AndroidのGradleでSNAPSHOTを強制的に更新する

Androidの開発を楽にするためにSonatype Nexusを導入して、Androidライブラリを管理するようにしてみた。 Ubuntu14.04でCI環境(Tomcat7+Jenkins+Nexus)を作る その1 - くらげになりたい。wannabe-jellyfish.hatenablog.com 楽にはなったのだけれども、SNAPSH…

jdeferred+RetrolambdaでAndroidの非同期処理をシンプルに!

非同期処理はAsyncTaskLoaderを使ってたけど、だんだんめんどくさくなってきた。。。 非同期処理をいい感じに扱ってくれるライブラリjdeferredと AndroidでもJava8のラムダ式を使えるようにするライブラリRetrolambda を使うとシンプルにかけるらしいので、…

Androidで端末起動時にあれこれする方法

アラームとか常駐アプリとか端末起動時にあれこれしたかった 素敵な記事があったので、自己理解のための備忘録 Android - システムの起動時にアプリを起動する - Qiitaqiita.com 基本的に ブロードキャストされるandroid.intent.action.BOOT_COMPLETEDを処理…

Android Best Practiceに学ぶ - Test frameworks編のユニットテスト

前回の記事の第二弾。Test frameworks編。 Android Best Practiceを学ぶ - ディレクトリ構成編 - くらげになりたい。wannabe-jellyfish.hatenablog.com というか、Android StudioでRobolectricを使えるようにする編。の備忘録。 | AndroidStudio | 1.3 | | R…

Android Best Practiceを学ぶ - ディレクトリ構成編

今更ながらGitHubにあるAndroid Best Practiceに、いろいろ学んで見る。 - futurice/android-best-practices · GitHub 手がつけやすいとこからやっているので、順序はてきとー。 その備忘録 参考にした偉大なるサイト様 Android Best Practices のディレクト…

Ubuntu14.04でCI環境(Tomcat7+Jenkins+Nexus)を作る その2 JenkinsとAndroidのGradleの設定

前回の記事の続き Ubuntu14.04でCI環境(Tomcat7+Jenkins+Nexus)を作る その1 - くらげになりたい。wannabe-jellyfish.hatenablog.com 前回までで、Tomcatを立てて、JenkinsとSonatype Nexusをインストールできた CIするためには、JenkinsのJobを作ったりする…

SmoothProgressBarを使って処理中を表現する

ActionBarの下に細いProgressBarを表示して、読み込み中や処理中を表現しているアプリがある。 Material Design前のGmailとか、PullToRefreshとかであるような感じ 実はいい感じのプログレスバーを表示するライブラリ「SmoothProgressBar」を使っているらし…

ViewPagerで表示されているFragmentを取得する

ViewPagerを使うといい感じにFragmentを切り替えられていいけど、Activityから今表示されているFragmentを取得することができなくて、もやもやしてたけど、いい方法がQiitaに掲載されてたので、その備忘録。 以下、詳細。 PagerAdapterからFragmentを取得す…

FragmentとDialogFragmentの素敵な関係

なにかを入力してもらうためにDialogFragmentを使うのはよいけれども、 値の受け渡しのCallback関数を使ったりするのはイケてない感がただよってた。。。 Qiitaにすてきな記事があったので、そちらを参考に進めていきたいと思う!ので、その備忘録。 以下、…

はずかしがり屋のためのTwitterクライアント「Shy*'-'*tter」というのを作ってました

昔作ったアプリについてちゃんと記事にしたいなーと思い、今更ながら、まとめてみました! 2つ目に作ったアプリで、外部サービスを利用したアプリを作りたいな〜という欲求から作ったアプリ! 以下概要! はずかしがり屋のためのTwitterクライアント はずか…

AndroidのViewInjectionライブラリ「Butter Knife」を使って楽をする

Androidの開発をしていて、いちいちfindViewIdやsetOnClickListenerをするのがめんどくさくなってくる。。。 Butter Knifeはそれのめんどくささを楽にするライブラリらしい。その導入時の備忘録。 サンプルのXMLはこんな感じ layout/sample.xmlとしてこんな…

いい感じのAndroid 画像ライブラリ(Picasso)を使う

AndroidでWeb上にある画像を表示したりするときのライブラリにAndroid Smart Image Viewを使っていたが、ちょっともっさりしている感じがあった。 いまどきは、Picassoというライブラリがイケてるらしいのでそちらに移行。その備忘録。 build.gradleに依存関…

Androidのソフトウェアキーボードをあれこれする

Androidアプリを開発していて、ソフトウェアキーボード関連についてあれこれ調べたので、その備忘録。 動作確認は、Android.4.4でやりましたー 起動時にキーボードを表示しないようにする AndroidManifest.xmlのみで指定できるらしい。 <activity>の属性にandroid:wind</activity>…

AndroidのORM「ormlite」を使う(JOIN編)

AndroidのORMとしてormliteを利用してるが、JOINを使おうとしてハマったので、その備忘録。 現象としては、JOINしたテーブルの情報がIDのみしか取得できず、他のカラムはnullのままになってしまう。。。 解決策としては、JOINしたいフィールドのアノテーショ…

MultiDexを利用して、正しくUNEXPECTED TOP-LEVEL EXCEPTIONに対処する

前の記事で、本当の原因がわからず解決していた(UNEXPECTED TOP-LEVEL EXCEPTION)について、正しい解決策が紹介されていた。 その備忘録。というか引用。 本当の原因 本当の原因は、apkに含まれるメソッドの数が多すぎることらしい。 apkに含められるメソ…

android.app.FragmentでFragmentStatePagerAdapterを使う

AndroidのSupport Library v4にあるFragmentStatePagerAdapterがいい感じなので使ってたけど、android.support.v4.app.Fragmentからandroid.app.Fragmentに変えたところ、型が一致しなくなって困ったときの備忘録。 環境は、AndroidStudio1.0.2とcom.android…

Actionbarの「<」と戻るボタンの挙動を合わせる

Androidのナビゲーションを考えているときに、ActionBarの「<」(HomeAsUp)とハードウェアの戻るボタンを一緒の挙動にしたいなぁと思ったので、その時の備忘録。 各イベントで呼び出されるメソッドをOverrideして、共通メソッドを呼び出すだけですが。。。 以…

AndroidStudioで謎のエラー(UNEXPECTED TOP-LEVEL EXCEPTION)を対処した話

Android SDKをバージョンアップした際に、不思議なエラーが出たので、その備忘録。 解決はできたけど、なぜ発生したかの原因がはっきりわかってないのでもやもや。 誰か教えてすごいひとm(__)m 追記 今のところ正しいと思う対処法を別の記事で書きました。 …

Gradleでapkファイル名を指定する part2(com.android.tools.build:gradle:1.0.0)

12月9日にAndroidStudioの1.0.0がリリースされ、プレビュー版から安定版に移行しました!! めでたい!! Download Android Studio and SDK Tools | Android Developers が、しかし。安定版になったのはいいのですが、それに伴い、Gradleのcom.android.tools…

2歳児でも簡単に操作できるYouTubePlayer「BabyTuba」を作ってました

YouTube APIとかを使ったAndroidアプリを作りたいな〜と思って、こんなアプリを作ってみました! BabyTuba - Google Play の Android アプリ タイトル通り、うちの2歳児のためにつくったアプリですw すぐにタッチ操作を覚えちゃって、タブレットが大のお気に…

AndroidStudioでRelease用とDebug用のresを使い分ける

外部APIを使うAndroidの開発しているデバッグ用のAPIキーとリリース用のAPIキーを分けてたい時がある。 いちいち手で変えてたけど、Build Variantによって使うリソースファイルを変更できるらしい! そのの備忘録。 環境はいつもどおり、Ubuntu14.04 64bitの…