タグ

ブックマーク / yuki312.blogspot.com (7)

  • Android:GradleでBuildConfigに定数追加する際のハック

    Build variant毎に定数の値を変えたい場合, 下記のようにすることで実現できる. productFlavors { development { buildConfigField "boolean", "PRODUCTION_MODE", "false" } production { buildConfigField "boolean", "PRODUCTION_MODE", "true" } } しかし, この例ではプロダクションモードを判定する下記のようなif文を書いた場合にAndroidStudioがwaningをあげてくる. // これだとBuild variantによってPRODUCTION_MODEが常に // true/false固定となり, AndroidStudioがシンプル化をすすめてくる. if (BuildConfig.PRODUCTION_MODE) {

  • Android:manageSpaceActivityによるデータ管理

    アプリ管理画面(右図)には、アプリデータを削除するためのボタン[データを消去]が用意されています。 この機能はデータベースを含むアプリデータ全てを消去するものです。 つまり、消去の対象には"アプリの設定情報"も含まれます。 ユーザはストレージの空き容量を確保する目的でこの機能を使用することがあります。 しかし、アプリデータの全削除が空き容量を確保するためのベストな手段とは限りません。 「アプリの設定情報は残して、不要で無駄にサイズの大きなデータを削除したい」と思うユーザもいるでしょう。 このような場合は、"アプリデータ管理用Activity"の採用を検討します。 ●ManageSpaceActivity 開発者は[データを消去]ボタンが押された場合に、データの消去ではなく 指定のActivityを起動するようカスタマイズすることができます。 指定するにはAndroidManifest.xm

    Android:manageSpaceActivityによるデータ管理
  • 新しいパーミッションモデル - Runtime Permission

    はじめに. caution! 稿はAndroid M Preview向けに限られた内容です. 稿の一部または全てはM Preview以前のAndroid versionやM正式版で有効ではない可能性があります. 稿の一部はPermissionsの内容を参考としています. より正確な情報を得たい場合はこちらもご参考ください. また, 稿の説明で例示しているソースコードの完全版はGitHub上に公開しています. New permission model Android Mでは新しいApp permission modelが提案されている. 従来モデルではアプリケーションが使用するパーミッションのリストをインストール時にユーザへ提示し, これらの使用許可を一度に取得する必要があった. 従来モデルでは一見不要と思えるパーミッションがリストされ, マルウェアと誤解されるケースもあり, アプリ

    新しいパーミッションモデル - Runtime Permission
  • Android : Robolectric 3.0

    Setup Android Studio 1.2 で Robolectric3.0を準備する. build.gradle モジュールのbuild.gradleに下記ライブラリを追加. // UnitTest用. testCompile 'junit:junit:4.12' testCompile "org.mockito:mockito-core:1.9.5" // Robolectric用 testCompile 'org.robolectric:robolectric:3.0-rc2' Android gradle 1.1以降, AndroidStudioからのUnitTest実行がサポートされた. http://tools.android.com/tech-docs/unit-testing-support build.gradleの全容は下記. app/build.gradle B

  • Yukiの枝折

    Group Id まずはここを読んだようがいいです。 https://central.sonatype.org/publish/requirements/coordinates/ Group Idはよくあるimplementation指定で使われるもので, 下記でいうと io.github.yukimatsumura がGroup Idになります。 implementation 'io.github.yukimatsumura:koma:0.2' あなたが今後Maven Central RepositoryにリリースするであろうすべてのプロジェクトがこのGroup Idに紐づきます。 例えば、example.comを管理している場合、com.example.domain、 com.example.testsupportなど、com.exampleで始まるGroup Idを使用することができ

  • Android: UIAutomator 2.0

    はじめに. 2015.03.13, UIAutomator2.0のリリースアナウンスがあった. We’re pleased to announce the release of UIAutomator 2.0! - Google+ UIAutomator2.0はAndroid Instrumentationベースに生まれ変わり, ./gradlew connectedCheckコマンドでテスト実行することができるようになった. UIAutomator2.0はAndroid Testing Support Libraryにパッケージされた. UIAutomator2.0の導入にはSDK ManagerからAndroid Support Repositoryをダウンロードすること. UIAutomatorはAndroid Developersサイトでも記載されている. Testing Supp

  • Android Realm BrowserでRealmDBをのぞく

    Android Realm BrowserでRealmの中身をのぞいてみるサンプル. サンプルプロジェクトはこちら はじめに Realmはモバイル向けに作られた軽量なNoSQL Database. 下記はAndroid向けに作られたrealm-javaについての記載である. パフォーマンスはSQLiteOrmLite, greenDAO等のORMよりもInsert/Count/Queryそれぞれ数倍高速に動作する. 暗号化機能も備えており, パフォーマンスは通常時と比べてもほぼ変わらない. iOS向けにも提供されている(クロスプラットフォーム). ContentProviderの実装と比べて恐ろしく簡単に実装でき, 使い方も容易. 動作要件 realm-javaの動作要件は下記. only Android. AndroidStudio 0.8.6 or later. latest And

  • 1