2017-04-01から1ヶ月間の記事一覧
データベースの中身を誰でも見られる場所に移動する run-asをつけるとアプリユーザ(アプリ自身)としてコマンドを実行できます。 しかし、データベースの中身を見たいのは一般ユーザなので、run-asした状態で一般ユーザの見られるSDCardにデータベースをコ…
Android Nから導入された署名スキームv2ではAPKの検証速度が大幅に向上している Android 7.0 では、APK 署名スキーム v2 というアプリのインストール時間を高速化したり、APK ファイルに無許可の変更が行われないようにしたりする新しいアプリ署名スキームが…
影響力の武器 1. 返報性 - Learn to Live and Live to Learnの続きです。 一度コミットした立場を取り続けようとする一貫性の原理 私たちは言動を一貫したものにしたい心理を持っています。 なぜなら 一度コミットしたことで、自分はコミットしたような人間…
ManifestMergerとは Android Gradle Pluginが提供するビルド時に自身のマニフェストファイルやライブラリプロジェクトのマニフェストファイルをマージしてくれる機能です。 だから、私たちはbuild.gradleに数行追加するだけで、ライブラリのダウンロードから…
ロバート・B・チャルディーニ博士の『影響力の武器』を読んでいるのですが、良書だと思うので内容をまとめたいと思います 人間は固定的動作パターンをとることが多々ある 固定的動作パターンとは、信号刺激に対してとる決まった行動パターンです。 例えば、…
OpenSSLのバージョン確認は必要 脆弱性があるとお客様を危険に晒すことになるので大事なことです。 もちろんGoogle PlayのリリースではセキュリティスキャンとしてOpenSSLのバージョン確認も行われています。 アプリの OpenSSL の脆弱性への対処方法 - Googl…
概要 aarをローカルから読み込む方法を知った(教えていただいた)ので、メモしときます。 ちなみにaarとは Android ARchiveの略です。 Androidリソースやマニフェストファイルを含めることのできるAndroidライブラリです。 作り方としては、[File] > [New] …
同期のデザイナーの子にマテリアルデザインのことを聞かれた時、答えられなくて悔しかったのでw 公式ドキュメントを読みつつ、マテリアルデザインについてまとめていきたいと思います。(全10回くらいの予定) デザインの歴史 スキューモーフィズムからマテ…
概要 最近メモとしてAtomを使っています。 Control + Shift + Mを押すと、左カラムに入力しつつ右カラムでリアルタイムプレビューできてとても便利です。 しかし半角スペース2つ打たないと改行できないのは不便。。他に改行を使う予定もないし、普通に改行さ…
git revert <コミットID>ができない こんなエラーが出ました。 $ git revert f780e4d fatal: Commit f780e4d is a merge but no -m option was given. # コミット「f780e4d」はマージされてるけど、`-m`オプションが付与されてないよ。 マージコミットをリバ…
概要 ビルド時にオプションを付けてコンパイルしてね,というエラーが出ました. 注意:一部の入力ファイルは非推奨のAPIを使用またはオーバーライドしています。 注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください。 解決方法 b…
概要 以下のエラーでビルドが失敗しました. Duplicate files copied in APK META-INF/LICENSE.txt 原因 依存ライブラリに指定した外部jarファイルを内部で展開した時に複数のjarファイルでリソースファイルなどのパスが競合してエラーになっているようです…
データセーバとは Android Nで導入された機能です. ユーザーが [Settings] でデータセーバーを有効にし、端末が従量制課金ネットワークに接続されている場合、システムはバックグラウンドでのデータ使用をブロックし、フォアグラウンドでのデータ使用をなる…
概要 Build.javaを開くとSources for 'Android API 22(1) Platform' not found.というエラーが出てきました. インストールしても直らない (インストールされているかは,Tools > Android > SDK Manager > Show Pachage Details > Sources for Android xxが…
Spinner#onItemSelected 初回起動時もSelectされたとして反応してしまいます. 初回は処理を避けたい時の対応方法を紹介します. 実装 よくある方法にSpinnerがフォーカス可能かをフラグとして使うものがあります. falseが初回起動,trueがそれ以降です. …
App Indexing AndroidにはApp Indexingという仕組みがあります. AppIndexingとは、ウェブページURLやキーワードとアプリの特定画面へのディープリンクを紐付け、Google検索結果から直接アプリの特定画面を起動させるための仕組みです。 by Qiita ウェブもア…
dispatchKeyEventでいけるかなと思っていましが,これはハードキー時代の栄光のようです. Homeキーのタップを検知する方法には 1). onUserLeaveHint 2). BroadcastReceiver の2つあります. 1). はIntentで他アプリに遷移するときも呼ばれるので注意が必要…
エラー内容 git cloneしてきたアプリをrunしようとしたら,こんなメッセージが出てヒーってなったんですが,あっさり解決できたんで方法を記したいと思います. this version of Android Studio is incompatible with the Gradle Plugin used. Try disabling…
App Shortcutsとは Android 7.1(SDK 25)で追加されたショートカットを作成する機能です. アプリを長押しすると,ショートカットの機能が出てきます. 吹き出しをタップすることで指定したintentを起動できます. 図1: ショートカット(左上) ショートカ…