前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

2013-01-01から1年間の記事一覧

SharedPreferenceでMODE_MULTI_PROCESSに関連するコード

getSharedPreferences()する際にMODE_MULTI_PROCESSをつけていると何をしてくれるのか。 Android 4.4のコードで確認。 1. android.app.ContextImpl.getSharedPreferencesでMODE_MULTI_PROCESSをチェック @Override public SharedPreferences getSharedPrefer…

PDFを画像に変換する

Pdf-rendererを使用。 日本語フォントはPDFに埋め込まれていないとエラーになります。 package org.codelibs.pdf2image; import java.awt.Image; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOE…

:play concepts コンセプトについて学ぶ

:play conceptsというコマンドを叩いた際に出力されるドキュメントの翻訳です。 GraphDB 101 グラフデータベースはいくつかのシンプルなコンセプトを使って どんな種類のデータも格納できます。 Nodes(ノード) グラフデータのレコード Relationships(関係) …

コマンドあれこれ

コマンド 内容 :help ヘルプ :play intro Neo4j Browserの紹介 :play concepts Neo4jのコンセプトの説明

Neo4j2.0に触れる。ダウンロードから起動まで

気になっていたグラフデータベースのNeo4jの2.0がリリースされたとのことなので軽く触れてみることに。 テスト環境はMac OS X 10.9.1。 参考 http://www.neo4j.org/learn 事前準備 JDKの7以上が必要です。 ダウンロード こちらからバイナリをダウンロード。…

ショートカットキー一覧

OS Mac http://support.apple.com/kb/ht1343?viewlocale=ja_JP&locale=ja_JP Windows7 http://windows.microsoft.com/ja-jp/windows/keyboard-shortcuts#keyboard-shortcuts=windows-7 ブラウザ Google Chrome https://support.google.com/chrome/answer/157…

開発中のアプリのDBの確認

課題 端末を使って開発していてDBが正しく更新されているかを参照したいケース 手順 デバッグモードでアプリを端末にインストール adb shellで端末にアクセス 目的のパッケージ名を知る run-as でそのユーザーになる chmodでdatabasesへのアクセスを許可 adb…

Loaderの挙動 onSop編

ActivityのonStopが実行されてから LoaderのonStopLoadingが呼ばれるまでのStackTrace ソースコードを読む際の参考に at demo.sample.SampleTaskLoader.onStopLoading(SampleTaskLoader.java:338) at android.support.v4.content.Loader.stopLoading(Loader.…

Loaderの挙動 onLoadFinished編

onCreateLoaderでLoaderを返却してから LoaderのonLoadFinishedが呼ばれるまでのStackTrace ソースコードを読む際の参考に at android.support.v4.app.LoaderManagerImpl$LoaderInfo.callOnLoadFinished(LoaderManager.java:427) at android.support.v4.app.…

Loaderの挙動 onStart編

ActivityのonStartが実行されてから LoaderのonStartLoadingが呼ばれるまでのStackTrace ソースコードを読む際の参考に at demo.sample.SampleTaskLoader.onStartLoading(SampleTaskLoader.java:241) at android.support.v4.content.Loader.startLoading(Loa…

Loaderの挙動 loadInBackground編

LoaderCallbacksのloadInBackgroundが呼ばれるまでのStackTrace ソースコードを読む際の参考に at demo.sample.SampleTaskLoader.loadInBackground(SampleTaskLoader.java:1) at android.support.v4.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLo…

Loaderの挙動 onCreateLoader編

LoaderManger.initLoader()をコールしてから LoaderCallbacksのonCreateLoaderが呼ばれるまでのStackTrace ソースコードを読む際の参考に at demo.sample.SampleActivity.onCreateLoader(SampleActivity.java:1) at android.support.v4.app.LoaderManagerImp…

for文

サイズ格納用の変数を必要としないループ。 あまり使った事ないけど高速かつ省メモリ for (int i = mLoaders.size()-1; i >= 0; i--) { mLoaders.valueAt(i).start(); }

Espresso Getting Start

準備 テストプロジェクトの準備 Eclipse ADTまはたAndroid Studio テスト環境の準備 混乱を避けるために、端末のアニメーションをOFFにすることを強く推奨。 以下の画像の箇所をOFFに http://wiki.android-test-kit.googlecode.com/git/developer_settings.p…

Espresso 概要

Espressoとは EspressoはGoogleからオープンソースで公開されたAndroidのためのテスト用ツール。 https://code.google.com/p/android-test-kit/wiki/Espresso メリット 簡潔で美しく信頼性の高いテストコードを書くことができる。 public void testSayHello(…

スクエア開発関連資料

「プロジェクトマネジメント講座」にはてブがついてたので備忘としてメモ。 http://www.jp.square-enix.com/info/library/ http://www.jp.square-enix.com/info/library/2011/dldata/

起動アプリ選択時に複数のIntentを渡す

職場の同僚が購入した「50 Android Hacks」を無断で読んでいたら発見。音楽選択などの操作で端末内からアプリ選択させたいんだけどぴったりくるIntentが無い、 そんな場合に複数のIntentを渡す手段があるらしい。マジか。 chooserIntent.putExtra(EXTRA_INIT…

KitKat4.4 adb shellコマンド

画面録画 最大3分操作情報を録画できる。 adb shell screenrecord [options] <filename>”--help”オプションでヘルプ表示 $adb shell screenrecord --help sage: screenrecord [options] <filename> ecords the device's display to a .mp4 file. ptions: -size WIDTHxHEIGHT Set</filename></filename>…

KitKat4.4 API概要

API概要の一部を拙訳したものです。http://developer.android.com/intl/ja/about/versions/android-4.4.html 重要な振る舞いの変更 外部ストレージ利用時 4.4から外部ストレージの共有ファイルを読むにはREAD_EXTERNAL_STRAGEが必要になります。getExternalS…

KitKat 4.4 targetSDKVersionを19にした場合の既存アプリの影響について

http://developer.android.com/intl/ja/reference/android/os/Build.VERSION_CODES.html#KITKAT の拙訳。 4.4以降対応の端末では以下のような影響がある。 デフォルトの{android.preference.PreferenceActivity#isValidFragment PreferenceActivity.isValueF…

Google Play Services rev.13が利用できない件

KitKatがリリースされたのに伴い最新のGoogle Play Servicesに変更して アプリをインストールしたところ、実行時に以下のようなエラーに遭遇した。 11-01 22:30:56.987: E/AndroidRuntime(29979): Caused by: java.lang.IllegalStateException: The meta-dat…

Google Maps Android API v2 東京駅でStackOverflowError

Google Maps Android API v2でMapを表示させながら東京駅全体が見えた状態で 地図を傾けるとStackOverflowErrorが発生してアプリが終了してしまう。 10-25 18:17:12.235: E/AndroidRuntime(6720): java.lang.StackOverflowError 10-25 18:17:12.235: E/Andro…

Genymotionが起動しないときはIMEを疑え

GenymotionというPC上でAndroidを起動してくれるエミュレータがある。Macでは動作したものの、Windowsでは起動時に 「player.exeが動作を終了しました」というダイアログが出て 起動できないという問題に遭遇し半ばあきらめていたが、原因が分かった。どうや…

Android 4.3 Hardware Credential Storage

Android4.3でサポートされたHardware Credential Storageの機能。 http://developer.android.com/intl/ja/about/versions/android-4.3.html#Security ハードウェア側で保証された安全な領域にキーなどを保存してくれるようだが どう使えばいいのか。 ドキュ…

Localeについて

Locale.JAPANは日本(国) Locale.JAPANESEは日本語(言語) Localeを引数に取るメソッドには言語を渡す(目安程度)

MacにインストールしたJDK1.7をEclipseで認識させる

OracleのサイトからJDK1.7をダウンロードしてインストールすると以下のPATHに インストールされるのでそのPATHのHomeディレクトリを環境設定で指定する。 /Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/

Google Maps Android API v2を使う

備忘的リンク集と地雷回避 ■セットアップ https://developers.google.com/maps/documentation/android/start[ここでやること] Google API Consoleでキーを発行 AndroidManifest編集 [はまりどころ] 旧API LevelをサポートするならMapFragmentではなくSupport…

Menuを使い回す

画面によって表示するメニューが異なるものの、大体同じだったり 常に登場するメニューがあるとする。その場合は項目のグループごとにファイルを分割する。res/menu/detail.xml (詳細画面でのみ表示) <menu xmlns:android="http://schemas.android.com/apk/res/android" > </menu>

Android4.3のforeground serviceを使うとNotificationの非表示設定が効かなくなる

メモ http://commonsware.com/blog/2013/07/30/notifications-foreground-services-android-4p3.html

Eclipseでgoogle-play-services_libを使いつつEclipseとMaven双方からapkビルドを可能にする

GoogleからGoogle Play Servicesが提供され、Eclipseからインポートしてapklibとして使えば 簡単にGoogleMapなどの機能が利用できるようになった。がしかし、Mavenでビルドする際には別途依存関係を記述する必要があり、 maven-android-sdk-deployerのサイト…