Learn to Live and Live to Learn

IT(たまにビジネス)に関する記事を読んで、考えて、使ってみたことをまとめる場。

Android

Android M パーミッション対応

Android 6 Marshmallowからパーミッションの取得タイミングが変わった これまでGoogle Playでのインストール時に全てのパーミッションを要求されていました。 皆さんの中にも「このパーミッションは何に使われてるの?」と疑問に思われたことのある方や、「…

データベースの中身を見る(Android)

データベースの中身を誰でも見られる場所に移動する run-asをつけるとアプリユーザ(アプリ自身)としてコマンドを実行できます。 しかし、データベースの中身を見たいのは一般ユーザなので、run-asした状態で一般ユーザの見られるSDCardにデータベースをコ…

APK署名スキームv2を使い、インストール速度を向上させる(Android N対応)

Android Nから導入された署名スキームv2ではAPKの検証速度が大幅に向上している Android 7.0 では、APK 署名スキーム v2 というアプリのインストール時間を高速化したり、APK ファイルに無許可の変更が行われないようにしたりする新しいアプリ署名スキームが…

アプリのOpenSSLバージョンを確認する

OpenSSLのバージョン確認は必要 脆弱性があるとお客様を危険に晒すことになるので大事なことです。 もちろんGoogle PlayのリリースではセキュリティスキャンとしてOpenSSLのバージョン確認も行われています。 アプリの OpenSSL の脆弱性への対処方法 - Googl…

aarをローカルから読み込む

概要 aarをローカルから読み込む方法を知った(教えていただいた)ので、メモしときます。 ちなみにaarとは Android ARchiveの略です。 Androidリソースやマニフェストファイルを含めることのできるAndroidライブラリです。 作り方としては、[File] > [New] …

Material Design 1.マテリアルデザインとは何か

同期のデザイナーの子にマテリアルデザインのことを聞かれた時、答えられなくて悔しかったのでw 公式ドキュメントを読みつつ、マテリアルデザインについてまとめていきたいと思います。(全10回くらいの予定) デザインの歴史 スキューモーフィズムからマテ…

Android オプションを付けてコンパイルする

概要 ビルド時にオプションを付けてコンパイルしてね,というエラーが出ました. 注意:一部の入力ファイルは非推奨のAPIを使用またはオーバーライドしています。 注意:詳細は、-Xlint:deprecationオプションを指定して再コンパイルしてください。 解決方法 b…

ビルド時にDuplicate files copied

概要 以下のエラーでビルドが失敗しました. Duplicate files copied in APK META-INF/LICENSE.txt 原因 依存ライブラリに指定した外部jarファイルを内部で展開した時に複数のjarファイルでリソースファイルなどのパスが競合してエラーになっているようです…

Android N データセーバ対応

データセーバとは Android Nで導入された機能です. ユーザーが [Settings] でデータセーバーを有効にし、端末が従量制課金ネットワークに接続されている場合、システムはバックグラウンドでのデータ使用をブロックし、フォアグラウンドでのデータ使用をなる…

Sources for 'Android API xx Platform' not found.

概要 Build.javaを開くとSources for 'Android API 22(1) Platform' not found.というエラーが出てきました. インストールしても直らない (インストールされているかは,Tools > Android > SDK Manager > Show Pachage Details > Sources for Android xxが…

Android Web to Appする(アプリ編)

App Indexing AndroidにはApp Indexingという仕組みがあります. AppIndexingとは、ウェブページURLやキーワードとアプリの特定画面へのディープリンクを紐付け、Google検索結果から直接アプリの特定画面を起動させるための仕組みです。 by Qiita ウェブもア…

Android Homeキーのタップを検知する

dispatchKeyEventでいけるかなと思っていましが,これはハードキー時代の栄光のようです. Homeキーのタップを検知する方法には 1). onUserLeaveHint 2). BroadcastReceiver の2つあります. 1). はIntentで他アプリに遷移するときも呼ばれるので注意が必要…

EventBusを使って簡単にCallbackを実現する

EventBusとは あるClassでのイベントを検知して,別のClassで何かしたい時ありませんか? Androidには簡単にそんなCallbackを実現する仕組みがあります.それがEventBusです. 例えば,ショッピングアプリの商品ページでお気に入りボタンが押された時,未ロ…

いきなりRxAndroid

RxAndroidを使う機会があったので,調べたことをまとめました. ※理解が浅いので間違っている箇所はご指摘いただけると嬉しいです>< RxAndroidとは Reactive Extentions Androidの略で,RxJavaを内包しAndroidで利用するための機能を追加してあります.ソ…

[Android] 画像・動画ファイルをアルバムから削除する

サンプルコード import java.io.File; import android.content.Context; String outputPath = <ファイルのパス>; Context context = this; File file = new File(outputPath); if (file.exists()) { file.delete(); // ファイル自体の削除 context.getConten…

スマホが振られたのを検知してみる。

一ヶ月振りの更新。 加速度センサーを利用して、スマホを振ったのを検知してみました! ネットで拝借したソースコードにコメントアウトで解釈(間違いがありましたらご指摘ください)を加えたものを以下に記述させていただきます。 ざっくり言うと、ある程度…

スプラッシュ画像の表示方法

アプリを立ち上げたときに出てくるスプラッシュ画像。 設定してみました。① 最初に表示したい面を用意します。 splash.xml

Unable to execute dex…

Androidプロジェクトを起動しようとするとこんなエラーが出ました。 [2014-02-10 00:58:34 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServic…

途中でAPIレベルを変更する方法

androidアプリを作っていて、途中で使いたいと思ったデザインが あるAPIレベル以上じゃないと利用できない、でも最初に設定した ミニマムSDKバージョンはそれに達していない…!ということ、ありませんか。そんなときはManifestファイルです。use-sdkタグの変…

Androidのモック作成

今までEclipseで直接xmlを書いたりGraphical Layoutを使ったりしていました。 もっと簡単に(開発!と意気込まずに、アイデア練るくらいで利用可能) デザイナーさんっぽく(テンション上げたい) モック作りがしたいと思いました。そこで無料のUI設計ツール…