liguofeng29’s blog

個人勉強用ブログだっす。

2015-12-01から1ヶ月間の記事一覧

AndroidのIO - GestureLibrary

GestureLibraryを使い新しいジェスチャーを保存し、次回検知することができる。 GestureLibraryのロードメソッド static GestureLibrary fromFile(String path) static GestureLibrary fromFile(File path) static GestureLibrary fromPrivateFile(Context c…

AndroidのIO - GestureDetector

Androidは、 1. GestureDetectorを提供し、ジェスチャーを検知する 2. GestureLibraryを提供し、開発者がジェスチャーを追加し、対応するAPIを使い検知する GestureDetector.onGestureListnerの一部イベント boolean onDown(MotionEvent e) boolean onFling(…

AndroidのIO - SQLiteOpenHelperクラス

実際にSQLiteDatabaseのメソッドを使ってSQLiteDatabaseオブジェクト取得は煩雑のためお勧めしない。 通常はAndroidが提供するSQLiteOpenHelperクラスを使う。 SQLiteOpenHelperのメソッド synchronized SQLiteDatabse getReadableDatabase() synchronized S…

AndroidのIO - SQLiteDatabseのサンプルコード

① activity_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:weightSum="1"> </linearlayout>

AndroidのIO - SQLiteDatabse概要

SQLiteDatabaseは軽量RDBMSであり、データベースは一つのファイルである。 SQLiteDatabaseオブジェクト取得(一部) static SQLiteDatabse openDatabase(String path, SQLiteDatabse.CursorFactory factory, int flags) static SQLiteDatabse openOrCreateData…

AndroidのIO - openFileInputとopenFileOutput

Androidはjava標準IO以外に専用のIO APIを提供している。 Contextが提供するIOストリーム FileInputStream openFileInput(String name) FileOutputStream openFileInput(String name, int mode) MODE_PRIVATE MODE_APPEND MODE_WORLD_READABLE MODE_WORLD_WR…

AndroidのIO - SharedPreferenceとEditor

SharedPreferences 主に少量データのやり取りに使用する。 設定のON、OFFとか。 Editor SharedPreferencesは書き込み機能はないので、edit()と通して対応するEditorオブジェクトを 取得して書き込みを行う。 SharedPreferencesの一部メソッド boolean consta…

AndroidのBroadcastReceiver - システムBroadcast

例: ACTION_TIME_CHANGED - 時刻変更~ ACTION_BATTERY_CHANGED - バッテリ容量変更 ACTION_BOOT_COMPLETED - システム起動完了 など 詳細: 【Standard Broadcast Actions】 http://developer.android.com/intl/ja/reference/android/content/Intent.html …

AndroidのBroadcastReceiver - Ordered Broadcast

Ordered Broadcastは 指定した順位で受信する(setPriority() Or android:priotiry) 次の受信者にデータ送信できる Broadcast Intent終了できる(abortBroadcast()) サンプルコード ① MainActivity.javaのボタンでOrdered Broadcastを行う package com.example…

AndroidのBroadcastReceiver - Normal Broadcast

Normal Broadcastは非同期であり、同時にすべての受信者が受信する。 サンプルコード ① MainActivity.javaのボタンでBroadcastを行う package com.example.liguofeng.mynormalbroadcastreceiver; import android.content.Intent; import android.support.v7.…

AndroidのBroadcastReceiver - 概要

BroadcastReceiverはプログラム(ユーザ開発、システム内部プログラム)が発信するBroadcast Intentを受信する。 BroadcastReceiverの本質はグローバル(システムレベル)リスナーである。 BoradcastReceiverの実装 BoradcastReceiverのonReceiver(Context conte…

AndroidのService- Vibrator

振動を制御するシステムサービスのサンプルコード ① 権限追加(AndroidManifest.xml) <uses-permission android:name="android.permission.VIBRATE"/> ② メインActivity (layoutは省略) package com.example.liguofeng.mytelephonymanager; import android.app.Service; import android.os.Vibrator; import android.suppor</uses-permission>…

AndroidのService- 着信を監視する

TelephonyMangerを利用して着信状態を監視するServiceのサンプルコード。 概要: 着信イベントを取得し、ファイルに書き出す。 ※権限追加とService起動などは必要。 package com.example.liguofeng.mytelephonymanager; import android.app.Service; import …

AndroidのService- TelephonyManager

TelephonyManagerは携帯の状態を管理するためのシステムサービスである。 大量のgetXXX()を提供してあるので、携帯関連の情報を色々取得できる。 詳細は http://developer.android.com/intl/ja/reference/android/telephony/TelephonyManager.html オブジェ…

AndroidのService- IntentService概要

IntentServiceもServiceの一種だが、特殊な機能を提供してくれる。 まず、なぜIntentServiceが必要なのか。 通常Seriviceの問題点 Serivceは独自のスレッドではなく、アプリと同じスレッド内である 新スレッドではないので、時間がかかる処理を書くのはよく…

AndroidのService- Serviceと通信する

Serviceと通信するためには、 bindService()とunBindService()を利用してServiceの起動と終了を行う。 Serviceを実装する際に、 IBinder onBind(Intent intent)でService通信するためのオブジェクトを返す必要がある。 bindService(Intent service, ServiceC…

AndroidのService- Serviceの概要

Androidにおいて、Serviceコンポーネントは実行可能プログラムである。 Activityとの比較 Activityと同じく、lifecycleがあり、生成、配置する必要がある Activityと同じく、Contenxtの派生クラスであるので、ContextクラスのgetResource(), getContentResol…

AndroidのContentProvider - SMS発送を監視する

AndroidはContentObserverを提供し、ContentProviderのデータ変更を監視する。 SMS発送を監視するサンプル (サンプルではActivityですが、Activityを起動しないと監視できないので、現実的ではない。 Serviceで実装すべきである) <uses-permission android:name="android.permission.READ_SMS"/> package com.example.lig</uses-permission>…

AndroidのContentProvider - システムのContentProviderを使って連絡先を登録する

Android自身は大量のContentProviderを提供してあり、それぞれquery(),insert(),delete(),update()などを実装してある。 Android連絡先のUri ContactsContract.Contacts.CONTENT_URI : 連絡先管理Uri ContactsContract.CommonDataKinds.Phone.CONTENT_URI : …

AndroidのContentProvider - ContentProviderサンプル

実装の流れ ContentProviderサブクラス実装 AndroidManifest.xml登録 ContentResolverサブクラス実装 実行 package com.example.liguofeng.contentprovidersample; import android.content.ContentProvider; import android.content.ContentValues; import a…

AndroidのContentProvider - ContentProviderの概要

ContentProviderはAndroidアプリの間でデータやり取りを行うために用意されてある標準APIである。 データ取得と提供 Androidアプリのデータ提供は、ContentProviderを利用し、Uri指定で提供する。 Androidアプリのデータ取得は、ContentResolverを利用し、Ur…

AndroidのIntent - Intentを使用してTabページを作成する

Tabページを追加する際のTabHost.TabSpectのメソッドは setContect(int viewId) - id指定のViewをTabページにする setContent(Intent intent) - Intentに対応するActivityをTabページにする サンプルコード TabActivity1,TabActivity2,TabActivity3と対応す…

AndroidのIntent - Flag属性

FlagはIntentに対して制御を追加する。 addFlags()で追加する。 常用Flag FLAG_ACTIVITY_BROUGHT_TO_FRONT このFlagで起動したActivityが既に存在する場合、Activityキューから前面に出す。 FLAG_ACTIVITY_CLEAR_TOP このFlagはsingleTaskモードで起動したAc…

AndroidのIntent - Extra属性

IntentのExtraはAction間のデータやり取りで利用される。 Extra属性値はBundleオブジェクトである。 サンプルコード

AndroidのIntent - Data属性とType属性

Data属性はAction属性にデータを提供する。 特性: Data属性値はUriオブジェクトである Uriの形式 scheme://host:port/path 例:content://com.android.contacts/contacts/1 Type属性はData属性が指定したUriのMINEタイプを指定する。 abc/xyzのフォーマット…

AndroidのIntent - Action,Categoryを指定してホームに戻る

package com.example.liguofeng.intentsample; import android.app.Activity; import android.content.ComponentName; import android.content.CursorLoader; import android.content.Intent; import android.database.Cursor; import android.net.Uri; impo…

AndroidのIntent - Actionを指定して連絡先を取得する

Intentを通して自分アプリ以外、システムActivityを起動することも可能です。 適切な権限を設定し、Adnroid内部で提供している大量のAction、Categoryの定数を利用すればできる。 Intentの定数 http://developer.android.com/intl/ja/reference/android/cont…

AndroidのIntent - Component属性

IntentのComponent属性はComponentNameオブジェクトを設定し、 どのコンポーネントを起動するかを指定する Componentのコンストラクタ ・Component(String pkg, String cls) ・Component(Context pkg, String cls) ・Component(Context pkg, Class cls) Inte…

AndroidのIntent - ActionとCategory

Action属性は抽象的な振る舞いである。 これは、Struts2のAction処理後、SUCCESSを返すと似ている。 使用流れ ① AndroidManifest.xmlのAcvivityのAction属性、Category属性を設定する ② ActivityでIntentにActionとCategoryを設定する ③ IntentでActivityを…

AndroidのIntent - 概要

Intentは日本語で「意図」という意味である。 ActivityからActivity(Service, BroadcastService)を起動する時に直接起動するのではなく、Intentで意図(どのActivityを起動)を表して起動する。 Androidの重要なコンポーネントであるActivity、Service、Broadc…