Table of Contents 1 Android-x86とは 2 Android-x86の入手 3 VirtualBoxの入手とインストール 4 仮想マシンの作成 5 仮想マシンの設定 6 Android-x86のインストール 7 Android-x86の起動   1 Android-x86とは core-i7やATOM等のIntel CPUで動くAndroidです。Androidは通常スマートフォンで使われるARMという省電力CPUで動作するのですが、Android-x86を用いればパソコンや仮想マシン上でAndroidを動かすことができます。   ARM向けAndroidはAndroid SDKが提供する仮想マシン実行環境のemulator上でも動作させることができますが、CPU命令セットをエミュレートさせる分、処理が重くなりがちです。   Android-x86を利用すれば、仮想マシン実行環境でCPU命令セットをエミュレートさせる必要がなく、加えてIntel CPUの仮想化支援機能も使うことが可能なので、ARM向けAndroidを使う場合に比べて格段の速度を得ることができます。…

Android | Linux | SDL - Narrow Escape

Table of Contents 1. 内部ストレージ 1.1. 永続的なディレクトリfilesと一時的なディレクトリcache 1.2. サンプルコード 2. 外部ストレージ 2.1. パーミッション 2.2. 外部ストレージのマウント確認 2.3. 外部ストレージのディレクトリ 2.4. サンプルコード 1 内部ストレージ Androidがインストールされているストレージです。 ファイルサイズがそれほど大きくない場合はこちらを用いれば良いでしょう。 1.1 永続的なディレクトリfilesと一時的なディレクトリcache Androidアプリケーションのファイル操作で使用する内部ストレージのディレクトリは以下のとおりです。   /data/data/[PackageName]/files…

Android | Linux | SDL - Narrow Escape

Table of Contents 1. Serviceとは 2. startServiceメソッドとbindServiceメソッド 2.1. ライフサイクルが異なる 2.2. bindServiceはBinderクラスとIBinderインターフェースを利用できる 2.3. ActivityとServiceが同一のアプリケーションでstartServiceするとServiceが破棄/再生成される 3. Serviceを動かすコード 3.1. AndroidManifest.xml 3.2. startServiceメソッドを使ったコード 3.3. bindServiceメソッドを使ったコード 3.4. startForegroundを使ったコード 1 Serviceとは ServiceはLinux/Unixの子プロセスやdaemonに近い概念で特定のジョブを実行するコンポーネントです。 Androidではファイルのダウンロードや音楽の再生などはUI操作を阻害しないように、Activityとは別のServiceで動作させます。 2…

Android | Linux | SDL - Narrow Escape

Table of Contents 1. Android Studio 1.3のNDKサポート状況 2. 作成するアプリケーションの内容 3. Android Studioでプロジェクトを作成 4. gradle-experimentalプラグインを使う 4.1. build.gradle 4.2. gradle/wrapper/gradle-wrapper.properties 4.3. app/build.gradle 4.4. Java 1.7互換 5. NDK 5.1. JNI Folderの追加…

Android | Linux | SDL - Narrow Escape

Table of Contents 1. keymap emacsへの変更方法 2. keymap emacsのキーバインディング 2.1. カーソル移動 2.2. スクロール 2.3. 削除 2.4. 文字列検索 2.5. リージョン 2.6. コピーアンドペースト 2.7. Undo/Redo 2.8. ファイルのセーブ、開く 2.9. キャンセル 2.10….

Android | Linux | SDL - Narrow Escape

1 Makefileの関数 1.1 wildcard 1.2 patsubst 1.3 info / warning / error 1.4 使用例 2 Android.mkでMakefileの関数を使う 1 Makefileの関数 私がよく使う関数を挙げてみます。 1.1 wildcard Makefile中でもシェルスクリプトのように*がワイルドカードとして用いる ことができます。以下ではカレントディレクトリの*.oに該当するファイル が削除されます。 clean: rm -f *.o…

Android | Linux | SDL - Narrow Escape

Table of Contents 1. AppWidgetProvider 1.1. Android StudioでAppWidgetProviderを追加する 1.2. AndroidManifest.xml 1.3. AppWidgetProviderのメソッド 1.4. android:updatePeriodMillisの最小値は30分 1.5. updateAppWidgetメソッド 1.6. ウィジェットのIDについて 2. ServiceでupdateAppWidgetを実行するコード 1 AppWidgetProvider ウィジェットを実装するためのクラスです。 AppWidgetProviderを拡張して独自のウィジェットを実装します。 1.1 Android StudioでAppWidgetProviderを追加する Android…

Android | Linux | SDL - Narrow Escape

Table of Contents 1. Android StudioのSampleとSample for SDKの違い 2. NDKサンプルコードのインポート 3. Android NDKの設定 4. buildToolsVersionの修正 5. NDKサンプルコードの実行 1 Android StudioのSampleとSample for SDKの違い Android SDKとAndroid NDKに含まれるsampleとコードはほぼ同じですが、Android Projectのプロジェクトに対応したソース構成になっている点が異なります。 また、インポートする時に各sampleのリポジトリからダウンロードしてくるので、Android SDK…

Android | Linux | SDL - Narrow Escape

Table of Contents 1. SensorListenerを利用する 1.1. TYPE_STEP_DETECTORセンサーでonSensorChangedの回数を表示するコード 1.2. TYPE_STEP_COUNTERセンサーの値を表示するコード 2. 留意点 2.1. TYPE_STEP_COUNTERの値は起動時に0クリアされる 2.2. TYPE_STEP_COUNTERの値はregisterListener後に更新されるようになる 2.3. onSensorChangedメソッドは起動時間がある 1 SensorListenerを利用する SensorManagerでSensorの取得し、SensorListenerを登録します。 センサーの値が変化すると、登録したSensorListenerのonSensorChangedメソッドが呼ばれます。 onSensorChangedメソッドの引数eventのvaluesにセンサの値が、timestampにタイムスタンプが格納されています。 1.1 TYPE_STEP_DETECTORセンサーでonSensorChangedの回数を表示するコード 以下ではTYPE_STEP_DETECTORセンサーが実行された回数を端末振動時に表示します。 @Overrideprotected void onCreate(Bundle…

Android | Linux | SDL - Narrow Escape

Table of Contents 1. Android StudioのHeap Viewer 2. DDMSでhprofファイルの取得 3. Android Studioでhprofファイルを開く 1 Android StudioのHeap Viewer hprofファイルをAndroid Studio上で開き、Androidアプリケーションのメモリダンプを閲覧することができます。 Android Studio 1.5から利用できます。 MainActivityのonCreateでchar型の配列を65536個ヒープに確保するコードを使います。 private char [] mArray;@Overrideprotected void onCreate(Bundle…

Android | Linux | SDL - Narrow Escape