android
久しぶりの更新です。 コードレビューや動作確認などでスマホ画面のキャプチャを貼り付けたくなることがあります。 そういう時に、シュッとキャプチャをとってClipboardに貼り付けられるツールを作りました。 github.com インストールはHomebrew経由で行えま…
Pluginのマイグレーション作業をしてたら気になって調べたのでまとめます。 情報はFlutter v1.17.5のものです。 Splash Androidのときにまとめましたが、Flutterでも同じです。 sakebook.hatenablog.com Flutterの場合、公式にドキュメントが用意されており…
ちょいちょいターミナルからビルドしてアプリを立ち上げたりとかしたくなるときがあり、都度一発でできてなくて面倒なところがありました。 そうすればいいのかーって思ったのでメモと、ちょっと汎用的にしたものを共有。 こちら見かけたやつです app/build.…
今までと同じく、TRUNKから講師の依頼があったので講師をしてきました。 過去の話はこちらです sakebook.hatenablog.com sakebook.hatenablog.com 進め方 週一で、一回あたり2~3時間の全8回のコースで、全体を通すとおよそ2ヶ月のコースとなり、今までで最長…
先日勤務先で開発合宿に行きました。プロダクトのKotlin化が途中だったので、仕上げてきました。 スライドでは省略した、ハマった点の詳細を共有します。 確認できるサンプルを用意してあります。サンプルの環境は次の通りです。 Android Studio: 2.3.3 Supp…
自分のDockerイメージを作成したので、CIサービスでも利用して、環境を持ち運べるようにしたいなと思いました。 sakebook.hatenablog.com BITRISEがモバイルアプリのCIサービスとして良いという話を見かけたので、BITRISE上で自分のDockerイメージを利用して…
なるべく小さく、sdkmanagerにも対応させた、CI用のDockerイメージを作成しました。 Emulatorなどを利用したAndroid Testにはまだ未対応ですが、Unit Testは実行できます。 PublicなDockerHubに上げたかったのですが、ライセンス違反という話があるのでPriva…
以前の記事で、RecyclerViewで複数のDivider実装する方法をまとめたのですが、これを使うには ItemDecoration を実装したクラスを作る必要がありました。 そのあたりをよしなにして導入できるライブラリを公開しました。 github.com 使い方 DividerItemDecor…
RecyclerViewでは、Divider(区切り)は自分で実装しなければなりません。 標準の線を引く方法はよく見つかるのですが、複数の線を引いたり、逆に線を引かなかったりするというのがあまり見つからないのでまとめました。 Support Libraryに追加されたDividerIt…
スライドとサンプルアプリと、そのコードです。 speakerdeck.com play.google.com github.com スピーカーから見たDroidKaigiと、それにまつわる個人的なメモです。 スピーカーから見たDroidKaigi DroidKaigiスケジュール 日程 出来事 行動 2016.10.01 CFP募…
Bottom Navigationはサポートライブラリが提供されています。 しかし、単純に使うだけではガイドラインぽくなりません。 ガイドラインぽく実装してみました。 ガイドラインぽさ Navigation Barを含んでBottom Navigationにする 下にスクロールすると隠れる …
リンクをちょっとだけ後で読むアプリ、Link Stackをメジャーアップデートしました。 play.google.com このアプリを作った経緯はこちらです。 sakebook.hatenablog.com メジャーアップデートの機能紹介と、なぜその機能を付けたかについて書きます。 2つの新…
スマホに表示されているバーコードを読み取るアプリを作りました。画像を渡して読み取ることもできます。カメラで読み取る機能は現状つけていません。 play.google.com 動機(1年半前) 今から1年半ほど前の話です。 スマホのサイト上に表示されたQRコードを読…
以前もGenymotionでGooglePlayを動かせるようにする記事を書いたのですが、それよりも簡単な方法が、公式のQAで紹介されていました。 sakebook.hatenablog.com 次のサイトから、zipファイルを落として起動しているGenymotionのEmulatorに入れるだけです。フ…
Shinjuku.aarとは Shinjuku.aarは、新宿界隈のAndroid技術者たちが 技術ネタで気軽にワイガヤできる コミュニティです。 発表ごとにディスカッションタイムを設けており、発表中の質問やツッコミも随時ウェルカム! さらに、ディスカッションが盛り上がるよ…
Chrome Custom Tabsを使っていて、公式のサンプルにあるCustomTabsHelperを流用していたのですが、Mashwmallowでうまく動かないことがありました。 CustomTabsHelper内で、PackageManager#queryIntentActivitiesを使っているのですが、その挙動がMashwmallow…
スプラッシュ iOSだとLaunchScreenとか言われる、起動時に出てくる画面です。 Androidだと、ユーザに無駄な待ち時間を与えるということで不要だと言われてたのですが、最近はGoogle製のアプリが、軒並みスプラッシュを入れてきています。 Bottom Navigation…
Genymotionについては以前触れたのでこちらで。 sakebook.hatenablog.com An error occured while deploying the file. GooglePlayを入れるための準備をしていると次のエラーが発生しました。 Genymotionのバージョンは2.6.0でした。 エミュレータを作り直し…
2016/4/30~2016/5/15、2週間と1日、「CreativeAdventure」という、企画展がARTnSHELTERで開催されました。 そこで「Indoor Street」という作品を展示しました。企画展に作品を出すという経験での学びや感想をつらつらと書きます。 きっかけ 大学時代にU-moa…
Kuromoji KuromojiはJavaで書かれているオープンソースの日本語形態素解析エンジンです。 Androidでオフラインでも即座に形態素解析ができるように組み込んでみました。 LuceneのJapaneseTokenizerではなく、AtilikaのKuromojiを組み込みました。 はじめに言…
Androidのアプリの署名に使う情報を忘れてしまうことが、稀にあります。 やってはいけないことですが、稀にあります。 別PCで作業してていつもMaster Passwordに任せっきりだったりとか、久しぶりに更新をかけようとしたアプリで起きたりします。 同じ署名の…
jsoup JavaでHTMLをいい感じにParseできる便利なライブラリです。 WebページにアクセスしてHTMLを取得し、それを加工することでWebページ内のコンテンツを簡単に取得することができます。 スクレイピング先が、User-Agent(UA)によって表示を変えている場合、…
普段アプリで表示しているであろうページに、ブラウザで表示する場合があります。 ブラウザアプリを作っていて、何もしないままだとWebページが表示してしまうので、普段表示している方であるアプリへ遷移させます。 Instagram ユーザページと詳細ページを表…
再び 以前と同じく、TrunkでAndroid開発のトレーニングを請け負いました。 sakebook.hatenablog.com 今回は、1ヶ月でカメラアプリを作成してストアへ申請するというものでした。 1ヶ月と言っても、1回3時間の講義を4回行うという形式です。 前回の反省を踏ま…
都道府県コードと都道府県名を変換するようなことをJavaで書いたのが非常に辛かった。 もう同じことをしないでいいように、使いまわせる形にした。 Javaでリスト操作ができなかったのでKotlinでさっと操作したいと思ったのがモチベーションです。 実際Kotlin…
Chrome Custom Tabs Webページを自分のアプリ内ブラウザで開くかのごとく、Chromeを使って開くことができる機能です。 利用するにはChromeのバージョンが45以上であることが必要です。 Chrome Custom Tabs自体は23.1.0から提供されていた機能ですが、新たにB…
potatotipsとは potatotipsはiOS/Android開発のTipsを出し合う勉強会です。 参加者はTips持参必須です! なお、ポテトチップスは必要に応じて各自で持参しなければなりません。 今回は株式会社Supershipで行われました。オフィスに行ってみたかったので、久…
スキーマに変更があったので、マイグレーションを行ったら上記のエラーが発生した。 先に言っておくとマイグレーション自体は本質的な問題ではなかった。Realmのインスタンスの生成方法に問題があった。 Realmのバージョンは 0.87.4を使用。 マイグレーショ…
時々見かける、手が込んでる感じがするチュートリアルを作成するためのチュートリアルです。 6つのパターンを紹介します。GitHubに上がっているコードを元に説明します。 github.com 背景をグラデーションさせる インジケーターを表示する インジケーターを…
2色間の色の変化を、時間指定ではなく値の変化で動的に行います。 ArgbEvaluator アニメーションで使いますが、単独でも利用できます。 どこかでインスタンスを生成します。 private ArgbEvaluator mArgbEvaluator = new ArgbEvaluator(); 次のメソッドを呼…