Crazy Android Note Chapter-8
12807 ワード
第八章AndroidデータをIOに保存する
SharedPreferenceの概念と役割
SharedPreferenceを使用してプログラムのパラメータ、オプションを保存
他のアプリケーションを読み書きするSharedPreference
AndroidのファイルIO
SDカードのファイルを読み書きする
SQLiteデータベースについて
AndroidのAPIを使用してSQLiteデータベースを操作する
SQLiteデータベースをsqlite 3ツールで管理する
SQLiteOpenHelperクラスの機能と使い方
Androidジェスチャーサポート
ジェスチャーモニタリング
ジェスチャーライブラリへのジェスチャーの追加
ユーザジェスチャーの認識
1、SharedPreferenceの使用
SharedPreferenceデータは常に/data/data//shared_に保存されます.prefsディレクトリの下に、XML形式で保存します.
2、Fileストレージ
アプリケーションデータフォルダのファイルの読み書き
アプリケーションのデータファイルはデフォルトで/data/data//filesディレクトリに保存されます
SDカードのファイルを読み書きする
3、SQLiteデータベース
SQLiteDatabase
データベースとテーブルの作成
SQL文を使用したSQLiteデータベースの操作
SQLiteDatabaseを使用してデータベース操作を行うには、次の手順に従います.
sqlite 3ツールの使用
取引
SQLiteOpenHelper
4、ジェスチャー(Gesture)
ジェスチャーモニタリング
Androidのジェスチャーモニタリングを使用するには、2つのステップしか必要ありません.
ジェスチャーを追加
認識ジェスチャー
自動朗読(TTS)
Androidは自動朗読機能を提供し、自動朗読サポートは指定されたテキストの内容を朗読し、音を出すことができる.それだけでなく、Androidの自動朗読サポートでは、テキスト対応のオーディオをオーディオファイルに録画することができ、後で再生するのに便利です.この自動朗読サポートの英語名はTextToSpeech、略称TTSである.TTSのサポートにより、アプリケーション内でオーディオ出力を動的に増加させ、ユーザー体験を向上させることができます.Androidの自動朗読サポートは主にTextToSpeechによって行われます.
SharedPreferenceの概念と役割
SharedPreferenceを使用してプログラムのパラメータ、オプションを保存
他のアプリケーションを読み書きするSharedPreference
AndroidのファイルIO
SDカードのファイルを読み書きする
SQLiteデータベースについて
AndroidのAPIを使用してSQLiteデータベースを操作する
SQLiteデータベースをsqlite 3ツールで管理する
SQLiteOpenHelperクラスの機能と使い方
Androidジェスチャーサポート
ジェスチャーモニタリング
ジェスチャーライブラリへのジェスチャーの追加
ユーザジェスチャーの認識
1、SharedPreferenceの使用
SharedPreference , key-value 。
SharedPreference , Preference :
boolean contains(String key): SharedPreference key
abstract Map getAll(): SharedPreference key-value 。
boolean getXxx(String key,XXX defValue):
SharedPreference , SharedPreference , edit() Editor 。Editor SharedPreference :
SharedPreference.Editor clear(): SharedPreference 。
SharedPreference.Editor putXxx(String key,XXX value): SharedPreference key ,value boolean float int long String
SharedPreference.Editor remove(String key): key 。
boolean commit(): Editor ,
,SharedPreference SharedPreference.Editor Map, SharedPreference key ,SharedPreference.Editor
SharedPreference , , Context getSharedPreference(String name,int mode) , :
Context.MODE_PRIVATE: SharedPreference
Context.MODE_WORLD_READABLE: SharedPreference ,
Context.MODE_WORLD_WRITEABLE_READABLE: SharedPreference 。
Note: Android4.2 ,Android Context.MODE_WORLD_READABLE、Context.MODE_WORLD_WRITEABLE_READABLE , 。 , ContentProvide。
SharedPreferenceデータは常に/data/data//shared_に保存されます.prefsディレクトリの下に、XML形式で保存します.
2、Fileストレージ
アプリケーションデータフォルダのファイルの読み書き
Context IO :
FileInputStream openFileInput(String name): 。
FileOutputStream openFileOutput(String name,int mode): name 。。
mode :
MODE_PROVATE:
MODE_APPEND: ,
MODE_WORLD_READABLE:
MODE_WORLD_WRITEABLE:
4.2
,Context :
getDir(String name,int mode): name
File getFilesDir():
String[] fileList():
deleteFile(String name):
アプリケーションのデータファイルはデフォルトで/data/data//filesディレクトリに保存されます
SDカードのファイルを読み書きする
SD :
:
Environment getExternalStorageState() SD ,
Environment getExternalStorageDirectory() , SD
FileInputStream、FileOutputStream、FileReader FileWriter SD 。
3、SQLiteデータベース
SQLite Android , SQL 92 , SQL , SQLite Oracle、MySQL 、 ,SQLite 。
SQLiteDatabase
Android SQLiteDatabase ( ), SQLiteDatabase , SQLiteDatabase 、 。
SQLiteDatabase :
static SQLiteDatabase openDatabase(String path, SQLiteDatabase.CursorFactory factory, int flags): path SQLite
static SQLiteDatabase openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory factory): ( )path SQLite
static SQLiteDatabase openOrCreateDatabase(File file, SQLiteDatabase.CursorFactory factory) ( )file SQLite
SQLiteDatabase , SQLiteDatabase :
、
データベースとテーブルの作成
SQLiteDatabase.openOrCreateDatabase("/mnt/db/temp.db3",null);
SQLite , /mnt/db/ temp.db3 ( ) , ; , temp.db3 ( )。
SQLiteDatabase.CursorFactory , Cursor , null, 。
SQLiteDatabase ,
SQL文を使用したSQLiteデータベースの操作
SQLiteDatabase execSQL() SQL , SQL 。 , DDL DML ; , SQLiteDatabase rawQuary(String sql,String[] selectionArgs) 。
db.execSQL("insert into news_inf values(null,?,?)",new String[]{title,content});
SQLiteDatabaseを使用してデータベース操作を行うには、次の手順に従います.
SQLiteDatabase , 。
SQLiteDatabase SQL
SQL
SQLiteDatabase,
sqlite 3ツールの使用
Android SDK platform-tools sqlite3.exe , Sqlite , MySQL 。
sqlite3 :
.database:
.tables:
.help: sqlite3
取引
beginTransaction():
endTransaction():
inTransaction(): ; true false
endTransaction() —— , ? SQLiteDatabase setTransationSuccessful() , ; 。
SQLiteOpenHelper
SQLiteDatabase , SQLiteOpenHelper , getReadableDatabase()、getWritableDatabase() 。
SQLiteOpenHelper Android , 。 SQLiteOpenHelper , onCreate(SQLiteDatabase db) onUpdgrade(SQLiteDatabase db,int oldVersion,int newVersion) 。
SQLiteOpenHelper :
SQLiteDatabase getReadableDatabase(): SQLiteDatabase
SQLiteDatabase getWritableDatabase(): SQLiteDatabase
abstract void onCreate(SQLiteDatabase db): , ,
abstract void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion): ;
synchronized void close(): SQLiteDatabase
getReadableDatabase() getWritableDatabase() :
getWritableDatabase() , , , ;getReadableDatabase() , , , 。
4、ジェスチャー(Gesture)
ジェスチャーモニタリング
Android GestureDetector ,GestureDetector , GestureDetector GestureDetector.OnGestureListener ,GestureDetector.OnGestureListener ,
GestureDetector.OnGestureListener:
boolean onDown(MotionEvent e):
boolean onFling(MotionEvent e1,Motion Event e2,float velocityX,float velocityY): " " , velocityX、velocityY “ ” 、 。
abstract void onLongPress(MotionEvent e):
boolean onScroll(MotionEvent e1,MotionEvent e2,float distanceX,float distanceY): " "
void onShowPress(MotionEvent e): ,
boolean onSingleTapUp(MotionEvent e):
Androidのジェスチャーモニタリングを使用するには、2つのステップしか必要ありません.
GestureDetector 。 GestureDetector.OnGestureListener
Activity( ) TouchEvent , Activity( ) TouchEvent GestureDetector
public class GestureActivity extends AppCompatActivity{
private GestureDetector gestureDetector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gesture);
gestureDetector = new GestureDetector(this,new GestureDetector.OnGestureListener() {
@Override
public boolean onDown(MotionEvent e) {
return false;
}
@Override
public void onShowPress(MotionEvent e) {
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
return false;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
return false;
}
@Override
public void onLongPress(MotionEvent e) {
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
return false;
}
});
}
@Override
public boolean onTouchEvent(MotionEvent event) {
return gestureDetector.onTouchEvent(event);
}
}
ジェスチャーを追加
Android , ( ) , —— , , :
Android GestureLibrary , GestureLibraries
GestureLibraries 4 :
static GestureLibrary fromFile(String path): path
static GestureLibrary fromFile(File path): path
static GestureLibrary fromPrivateFile(Context context,String name): name
static GestureLibrary fromRawResource(Context context,int resourceId): resourceId
GestureLibrary , 、 、
Android GestureLibrary、GestureLibraries , :GestureOverlayView, " ", ,
GestureOverlayView ,Android OnGestureListener、onGesturePerformedListener、onGesturingListener , 、 、 、 , —— ,onGesturePerformedListener ,
.gesture.GestureOverlayView
android:id="@+id/gesture"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gestureStrokeType="multiple"
/>
android:gestureStrokeType="" ,single ,multiple 。
認識ジェスチャー
GestureLibrary recognize(Gesture ges) , ges —— , 。
recognize(Gesture ges) ArrayList, Prediction ,Prediction name ,score 。
自動朗読(TTS)
Androidは自動朗読機能を提供し、自動朗読サポートは指定されたテキストの内容を朗読し、音を出すことができる.それだけでなく、Androidの自動朗読サポートでは、テキスト対応のオーディオをオーディオファイルに録画することができ、後で再生するのに便利です.この自動朗読サポートの英語名はTextToSpeech、略称TTSである.TTSのサポートにより、アプリケーション内でオーディオ出力を動的に増加させ、ユーザー体験を向上させることができます.Androidの自動朗読サポートは主にTextToSpeechによって行われます.
TextToSpeech(Context context,TextToSpeech.OnInitListener listener)
Android TTS 。