音声エディタを通知領域(ステータスバー)に常駐させるようにしたので、そのやり方などを書いておこうかと。 通知はNotificationクラスを使います。 アプリの常駐は、このNotificationのインスタンスのflagsにFLAG_ONGOING_EVENTを設定するというだけです。これだけで常駐アプリになります(実行中になる)。 // 通知領域に常駐させる private void setNotification() { NotificationManager notificationManager = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); Notification notification = new Notification(R.drawable.icon, getString(R.string.
Butter Knife、今までありがとう あるアプリのmaster branchに,Butter Knifeへの依存をなくすPull Requestをmergeした. いままでButter Knifeが担っていた仕事はすべてData Bindingが受け持つことになる.Data Bindingは公式はbeta releaseと言っているものの,限りなく1.0に近いRCなんじゃないかという感じがしたため実戦に投入している. 実行時に全力でReflectionするButter Knifeと違い,Data BindingはAnnotation Processingで事前に色々やってくれる方式というのも嬉しい(c.f. Butter KnifeもAnnotation Processingする方式に切り替えるっぽい? => Split the compiler and runtime into s

2016年12月8日更新 大それたタイトルをつけてしまいましたが、本日ご紹介するおすすめアプリは、最新のアプリというよりも、スマホを買ったら絶対に入れておいた方がいい、インストール必須の神アプリたちをご紹介します。各ジャンルから一番のおすすめアプリを厳選しますので期待してくださいね。それでは、さっそく行ってみましょう。 ※ 2017年版のAndroidアプリまとめもアップしました。この記事を読んだ後に、ぜひのぞいてみてくださいね↓ wepli-dot2.hatenablog.comChromeブラウザ ブラウザと言えば、誰もが知ってる『Chromeブラウザ』ですね。実は、通常の安定版の『Chromeブラウザ』の他に、ベータ版とDev版もリリースされています。簡単に言いますとDev版は最先端の機能が追加されていですが、その代わりに試験的な『Chromeブラウザ』で不安定な部分もあります。ベ

結構命名など様々な種類があり方針を決めるのは悩みますし時間がかかります。 考えることも重要ですが、標準的なものを真似しておくと素早く開発していくことができます。 出来れば既存のプロジェクトの方針をつまみ食いして開発したいです。 また、自分は毎回Google I/Oアプリはどうやっていたっけ?って確認しにいってしまっていて面倒でした。 なので、Google I/Oアプリがどんな感じでやっているのかをまとめてみました。プロジェクト基本構成 minSdkVersion 14 targetSdkVersion 22Android 4.0から対応で targetSdkは5.1と普通な感じですね targetSdkが23未満なのでランタイムパーミッションは対応してないようです。 大きな方針 AppCompatActivityを継承したActivityを使う AppCompatActivityを利用
![[Android] Google I/Oアプリの実装方針を参考にして爆速開発したい - Qiita](/image.pl?url=https%3a%2f%2fcdn-ak-scissors.b.st-hatena.com%2fimage%2fsquare%2f28daebef1e79c28d37108c4b374577721faa077b%2fheight%3d288%3bversion%3d1%3bwidth%3d512%2fhttps%253A%252F%252Fqiita-user-contents.imgix.net%252Fhttps%25253A%25252F%25252Fqiita-user-contents.imgix.net%25252Fhttps%2525253A%2525252F%2525252Fcdn.qiita.com%2525252Fassets%2525252Fpublic%2525252Farticle-ogp-background-afbab5eb44e0b055cce1258705637a91.png%25253Fixlib%25253Drb-4.0.0%252526w%25253D1200%252526blend64%25253DaHR0cHM6Ly9xaWl0YS11c2VyLXByb2ZpbGUtaW1hZ2VzLmltZ2l4Lm5ldC9odHRwcyUzQSUyRiUyRnFpaXRhLWltYWdlLXN0b3JlLnMzLmFtYXpvbmF3cy5jb20lMkYwJTJGMjczODglMkZwcm9maWxlLWltYWdlcyUyRjE0OTc4ODM0NTc_aXhsaWI9cmItNC4wLjAmYXI9MSUzQTEmZml0PWNyb3AmbWFzaz1lbGxpcHNlJmZtPXBuZzMyJnM9NjBjYWU4ZmI1NTIxMjIzNTAwZDMzMzA3NDVmMzM2NGQ%252526blend-x%25253D120%252526blend-y%25253D467%252526blend-w%25253D82%252526blend-h%25253D82%252526blend-mode%25253Dnormal%252526s%25253Defac6ece5295e15d597870680060944d%253Fixlib%253Drb-4.0.0%2526w%253D1200%2526fm%253Djpg%2526mark64%253DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk2MCZoPTMyNCZ0eHQ9JTVCQW5kcm9pZCU1RCUyMEdvb2dsZSUyMEklMkZPJUUzJTgyJUEyJUUzJTgzJTk3JUUzJTgzJUFBJUUzJTgxJUFFJUU1JUFFJTlGJUU4JUEzJTg1JUU2JTk2JUI5JUU5JTg3JTlEJUUzJTgyJTkyJUU1JThGJTgyJUU4JTgwJTgzJUUzJTgxJUFCJUUzJTgxJTk3JUUzJTgxJUE2JUU3JTg4JTg2JUU5JTgwJTlGJUU5JTk2JThCJUU3JTk5JUJBJUUzJTgxJTk3JUUzJTgxJTlGJUUzJTgxJTg0JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMxRTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LXBhZD0wJnM9ZTg4NjU1M2VmYTBiZWI4ZDFiODBlNmJmMjk0MzVmNDI%2526mark-x%253D120%2526mark-y%253D112%2526blend64%253DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTgzOCZoPTU4JnR4dD0lNDB0YWthaGlyb20mdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtcGFkPTAmcz1iNzE0MDMyYzgzMGVkMTBhNmEwNjEwZTQ3NWRlMmM0Mw%2526blend-x%253D242%2526blend-y%253D454%2526blend-w%253D838%2526blend-h%253D46%2526blend-fit%253Dcrop%2526blend-crop%253Dleft%25252Cbottom%2526blend-mode%253Dnormal%2526txt64%253DaW4g5qCq5byP5Lya56S-44K144Kk44OQ44O844Ko44O844K444Kn44Oz44OI%2526txt-x%253D242%2526txt-y%253D539%2526txt-width%253D838%2526txt-clip%253Dend%25252Cellipsis%2526txt-color%253D%2525231E2121%2526txt-font%253DHiragino%252520Sans%252520W6%2526txt-size%253D28%2526s%253D73d1db817475cc4fdeb3e8b9abb1b73b&f=jpg&w=240)
先日、 JXUGC #9Xamarin.Forms Mvvm 実装方法 Teachathon を開催しました -Xamarin 日本語情報 というイベントがありまして、エクセルソフトの田淵さんが作成したストップウォッチのアプリケーション(注:田淵さんはプログラマではないw)を、MVVM識者の方々が「MVVMとしてはこうあるべきだ」と叩きまくる、という恐ろしい?ものでした。 私はこの勉強会には参加できなかったのですが、ストリーミングとか見て、 僕もストップウォッチ作ってみるかー — ジェットあめいカスタム (@amay077) 2015, 12月 17 などとつぶやいたらご指名されてしまいました(^^) このイベントはXamarin を使ったアプリ製作でしたが、せっかくなので RxJava + MVVM で作ってみました。 (ご指名に応えないといけないのでその後Xamarin版も製作

androidで厄介なレイアウト回り、onMeasureとonLayoutを理解し、オーバーライドするとより理想のレイアウトに近づけます。 結構挙動が難しいので、長くなってしまいますがこれらの概要です。 (※おおざっぱな流れで細かい部分は違いますが、イメージはつかめると思います) そもそもこの2つは?AndroidではView生成時や、Viewの内容が更新される(TextView#setText()等)で、 View自体の再レイアウトが必要なときに2つが呼び出されます。 以下のようなイメージです。 親ViewのonMeasureが呼び出される 親Viewが子Viewのmeasureを呼び、幅高さを計測させる (2)の情報をもとに、親Viewが自分自身の幅高さを設定する 親ViewのonLayoutが呼び出される 親Viewが子Viewのlayoutを呼び、子Viewの場所を確定させる こ

Android LollipopでToolbarが導入されていますが、 Toolbarはビューの操作と連動した動きをさせたいケースが出てくると思います。 実際、Material Designになった新しいPlayストアアプリなどでは、以下のような挙動になっています。 スクロールに連動してバーの表示が切り替わる スクロールによってバーは消えるがタブは常に残る バーの表示/非表示が完全に切り替わらない位置で手を離すと、アニメーションで完全に切り替わる これをAppCompat-v7とAndroid-ObservableScrollViewで実装する方法の説明です。 ライブラリの導入 スクロールと連動させたいときに困るのが、ListView/ScrollView/WebViewといったスクロール可能な部品は、いずれもスクロール位置を外部から取得できないことです。 romannurik-codeの

Android Studioを日本語で使いたいAndroid StudioはGoogleが開発しています。そして、メニューから何から全て英語です。そんなもんだと言われればそこまでですが、少しでも使いやすいように日本語で使いたいものです。 調べてみたらそれほど手間をかけずに日本語化する方法があったので、以下に残しておきます。 1.日本語化リソースをダウンロードする yuuna/IDEA_resources_jp ·GitHub にアクセスし、ZIPファイルをダウンロードします。 2.日本語化リソースファイルを lib フォルダにコピーする ダウンロードしたZIPファイルを解凍すると [resources_jp.jar] というファイルができます。このファイルを [Android Studio.app/lib] フォルダにコピーします。 Finderを開いて [アプリケーション] をクリッ

以前、自作Viewを作っている時にコンパイル時や実機などでの確認時は特に問題なかったのに、Layoutファイルに自作Viewを乗っけてBuildするとExceptionがはかれて描画されない(Previewに表示されない)なんてことがありました。 これはちゃんと回避方法があるので、その方法のご紹介です。 例としてWebViewを継承してLayoutファイルだけで設定できるようにした自作クラスを紹介します。 ソースコード 今回のサンプルはこんなクラスです。 CustomWebView1234567891011121314151617181920212223242526272829importandroid.content.Context;importandroid.content.res.TypedArray;importandroid.util.AttributeSet;import

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く