亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

directory search
android Manifest Manifest.permission Manifest.permission_group android.accessibilityservice AccessibilityService android.accounts Account android.app NotificationManager android.bluetooth BluetoothAdapter BluetoothClass BluetoothClass.Device BluetoothClass.Device.Major BluetoothClass.Service BluetoothDevice BluetoothServerSocket BluetoothSocket android.content SharedPreferences android.database.sqlite SQLiteCursorDriver SQLiteOpenHelper android.graphics Bitmap android.location LocationListener Geocoder GpsStatus GpsStatus.Listener GpsStatus.NmeaListener GpsSatellite android.media AudioFormat AsyncPlayer AudioRecord AudioRecord.OnRecordPositionUpdateListener ThumbnailUtils AudioManager android.net TrafficStats MailTo LocalSocket android.os AsyncTask AsyncTask.Status CountDownTimer Message MessageQueue HandlerThread android.text Html android.util JsonWriter android.view ContextMenu ContextMenu.ContextMenuInfo Display ViewManager View ViewStub ViewTreeObserver ViewParent WindowManager GestureDetector Gravity MenuInflater ScaleGestureDetector SoundEffectConstants android.view.inputmethod InputConnection InputMethod InputMethodSession BaseInputConnection InputMethodManager android.widget AbsListView AbsListView.LayoutParams AbsListView.OnScrollListener AbsListView.RecyclerListener AbsoluteLayout AbsoluteLayout.LayoutParams AbsSeekBar AbsSpinner AdapterView AdapterView.AdapterContextMenuInfo AdapterView.OnItemLongClickListener AdapterView.OnItemSelectedListener AdapterView.OnItemClickListener AnalogClock BaseAdapter BaseExpandableListAdapter Button CheckBox CheckedTextView Checkable Chronometer Chronometer.OnChronometerTickListener CompoundButton CompoundButton.OnCheckedChangeListener CursorAdapter CursorTreeAdapter DatePicker DatePicker.OnDateChangedListener DialerFilter DigitalClock EditText Filter Filter.FilterListener Filter.FilterResults ExpandableListAdapter ExpandableListView.OnChildClickListener ExpandableListView.OnGroupClickListener ExpandableListView.OnGroupCollapseListener ExpandableListView.OnGroupExpandListener Filterable Gallery Gallery.LayoutParams GridView GridLayout GridLayout.Alignment RadioGroup ImageView ImageView.ScaleType HorizontalScrollView ImageButton ImageSwitcher FilterQueryProvider ListAdapter ListView MediaController MultiAutoCompleteTextView MultiAutoCompleteTextView.CommaTokenizer MultiAutoCompleteTextView.Tokenizer QuickContactBadge RadioButton RatingBar RatingBar.OnRatingBarChangeListener RelativeLayout RemoteViews ResourceCursorAdapter ResourceCursorTreeAdapter Scroller ScrollView SearchView SearchView.OnCloseListener SearchView.OnQueryTextListener SearchView.OnSuggestionListener SeekBar SeekBar.OnSeekBarChangeListener SimpleAdapter SimpleAdapter.ViewBinder SimpleCursorAdapter SimpleCursorAdapter.CursorToStringConverter SimpleCursorAdapter.ViewBinder SimpleCursorTreeAdapter SimpleCursorTreeAdapter.ViewBinder SimpleExpandableListAdapter SlidingDrawer SlidingDrawer.OnDrawerCloseListener SlidingDrawer.OnDrawerOpenListener SlidingDrawer.OnDrawerScrollListener Spinner SpinnerAdapter WrapperListAdapter TabHost TabHost.TabSpec TextView TimePicker TimePicker.OnTimeChangedListener Toast TableLayout TableLayout.LayoutParams TableRow TableRow.LayoutParams TabWidget TextSwitcher ToggleButton TwoLineListItem VideoView ViewAnimator ViewFlipper ViewSwitcher ViewSwitcher.ViewFactory ZoomButtonsController ZoomButtonsController.OnZoomListener ZoomButton ZoomControls dalvik.system DexFile
characters


SQLiteOpenHelper

版本:Android 4.0 r1

結(jié)構(gòu)

繼承關(guān)系

public abstract class SQLiteOpenHelper extends Object

java.lang.Object

android.database.sqlite.SQLiteOpenHelper

類(lèi)概述

一個(gè)幫助類(lèi),幫助創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)版本管理。

使用必須創(chuàng)建一個(gè)子類(lèi)來(lái)實(shí)現(xiàn)其onCreate(SQLiteDatabase), onUpgrade(SQLiteDatabase, int, int)方法,同時(shí)任意實(shí)現(xiàn)onOpen(SQLiteDatabase)方法,同時(shí)打開(kāi)數(shù)據(jù)庫(kù)操作必須保證數(shù)據(jù)庫(kù)存在,如果不存在則創(chuàng)建它,并且對(duì)其必要的升級(jí),維護(hù)其保持一個(gè)最佳的狀態(tài)。

使用本類(lèi)提供內(nèi)容開(kāi)始創(chuàng)建數(shù)據(jù)庫(kù)是非常容易的,首先必須對(duì)數(shù)據(jù)庫(kù)進(jìn)行升級(jí),以避免在數(shù)據(jù)庫(kù)啟動(dòng)后長(zhǎng)期使用而阻塞數(shù)據(jù)。

舉個(gè)例子,在NotePad的例子程序中參看類(lèi)NotePadProvider,在SDK的目錄samples/下面。

注意這個(gè)類(lèi)假定升級(jí)的版本號(hào)是單調(diào)遞增的。

構(gòu)造函數(shù)

public SQLiteOpenHelper (Context context, String name, SQLiteDatabase.CursorFactory factory, int version)

創(chuàng)建一個(gè)幫助對(duì)象,打開(kāi)或者管理數(shù)據(jù)庫(kù)。該方法通??焖俜祷亍?shù)據(jù)庫(kù)并沒(méi)有實(shí)際創(chuàng)建或打開(kāi),直到getWritableDatabase() getReadableDatabase()其中一個(gè)被調(diào)用。

參數(shù)

context 用來(lái)打開(kāi)或創(chuàng)建數(shù)據(jù)庫(kù)

name 數(shù)據(jù)庫(kù)文件名,對(duì)一個(gè)在內(nèi)存中的數(shù)據(jù)庫(kù)而言是null

factory 用來(lái)創(chuàng)建對(duì)象游標(biāo),或者默認(rèn)為null

version 數(shù)據(jù)庫(kù)的序號(hào)(1開(kāi)始);如果數(shù)據(jù)庫(kù)是舊的,onUpgrade(SQLiteDataBase,intint)會(huì)被調(diào)用去升級(jí)數(shù)據(jù)庫(kù);如果數(shù)據(jù)庫(kù)是新的,onDowngrade(SQLiteDatabase,int,int)會(huì)被調(diào)用去降級(jí)數(shù)據(jù)庫(kù)。

public SQLiteOpenHelper (Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler)

創(chuàng)建一個(gè)幫助對(duì)象,打開(kāi)或者管理數(shù)據(jù)庫(kù)。該方法通??焖俜祷亍?shù)據(jù)庫(kù)并沒(méi)有實(shí)際創(chuàng)建或打開(kāi),直到getWritableDatabase() getReadableDatabase()其中一個(gè)被調(diào)用。

參數(shù)

context 用來(lái)打開(kāi)或創(chuàng)建數(shù)據(jù)庫(kù)

name 數(shù)據(jù)庫(kù)文件名,對(duì)一個(gè)在內(nèi)存中的數(shù)據(jù)庫(kù)而言是null

factory 用來(lái)創(chuàng)建對(duì)象游標(biāo),或者默認(rèn)為null

version 數(shù)據(jù)庫(kù)的序號(hào)(1開(kāi)始);如果數(shù)據(jù)庫(kù)是舊的,onUpgrade(SQLiteDataBase,intint)會(huì)被調(diào)用去升級(jí)數(shù)據(jù)庫(kù);如果數(shù)據(jù)庫(kù)是新的,onDowngrade(SQLiteDatabase,intint)會(huì)被調(diào)用去降級(jí)數(shù)據(jù)庫(kù)。

errorHandler 當(dāng)sqlite報(bào)告一個(gè)數(shù)據(jù)庫(kù)毀壞錯(cuò)誤時(shí),DatabaseErrorHandler會(huì)被使用。

公共方法

public synchronized void close ()

關(guān)閉任何打開(kāi)的數(shù)據(jù)庫(kù)對(duì)象。

public String getDatabaseName ()

返回正被打開(kāi)的通過(guò)構(gòu)造函數(shù)傳遞進(jìn)來(lái)的SQLite數(shù)據(jù)庫(kù)的名字。

public synchronized SQLiteDatabase getReadableDatabase ()

創(chuàng)建或打開(kāi)一個(gè)數(shù)據(jù)庫(kù)。這和getWritableDatabase()返回的對(duì)象是同一個(gè),除非一些因素要求數(shù)據(jù)庫(kù)只能以read-only的方式被打開(kāi),比如磁盤(pán)滿(mǎn)了。在這種情況下,一個(gè)只讀的數(shù)據(jù)庫(kù)對(duì)象將被返回。如果這個(gè)問(wèn)題被修改掉,將來(lái)調(diào)用getWritableDatabase()就可能成功,而這時(shí)read-only數(shù)據(jù)庫(kù)對(duì)象將被關(guān)閉,并且讀寫(xiě)對(duì)象將被返回。

getWritableDatabase(),這個(gè)方法需要很長(zhǎng)時(shí)間才返回,所以你不該在應(yīng)用程序的主線程中調(diào)用它,包括方法ContentProvider.onCreate()。

返回值

一個(gè)有效的數(shù)據(jù)庫(kù)對(duì)象,直到getWritableDatabase() or close() 被調(diào)用

異常

SQLiteException 如果數(shù)據(jù)庫(kù)不能被打開(kāi)

public synchronized SQLiteDatabase getWritableDatabase ()

創(chuàng)建或打開(kāi)一個(gè)數(shù)據(jù)庫(kù),用于讀寫(xiě)。該方法第一次被調(diào)用的時(shí)候,數(shù)據(jù)庫(kù)被打開(kāi),并且onCreate(SQLiteDatabase),onUpgrade(SQLiteDatabase,intint) onOpen(SQLiteDatabase)將被調(diào)用。

一旦成功打開(kāi),數(shù)據(jù)庫(kù)將被緩存,所以需要寫(xiě)入數(shù)據(jù)的時(shí)候你可以調(diào)用這個(gè)方法。(當(dāng)你不再需要這個(gè)數(shù)據(jù)庫(kù)的時(shí)候,確保調(diào)用close())。像不健康的許可或磁盤(pán)已滿(mǎn)等錯(cuò)誤都可能導(dǎo)致該方法是不,但是如果該問(wèn)題被解決,將來(lái)的嘗試可能會(huì)成功。

數(shù)據(jù)庫(kù)升級(jí)可能會(huì)話費(fèi)很長(zhǎng)的時(shí)間,所以你不該在應(yīng)用程序的主線程中調(diào)用它,包括方法ContentProvider.onCreate()

返回值

一個(gè)有效的讀寫(xiě)數(shù)據(jù)庫(kù)對(duì)象直到close()被調(diào)用。

異常

SQLiteException 如果數(shù)據(jù)庫(kù)不能被打開(kāi)用于寫(xiě)入

public abstract void onCreate (SQLiteDatabase db)

當(dāng)?shù)谝淮蝿?chuàng)建數(shù)據(jù)庫(kù)時(shí)調(diào)用。表格的創(chuàng)建和初始化表格的個(gè)數(shù)在這里完成。

參數(shù)

db 數(shù)據(jù)庫(kù)

public void onDowngrade (SQLiteDatabase db, int oldVersion, int newVersion)

當(dāng)數(shù)據(jù)庫(kù)需要降低版本時(shí)候調(diào)用。這個(gè)方法跟onUpgrade()很相似,但是只要當(dāng)然版本比被請(qǐng)求的更新,它就會(huì)被調(diào)用。盡管如此,這個(gè)方法不是抽象的,所以它并不強(qiáng)制用戶(hù)去實(shí)現(xiàn)它。如果不被重寫(xiě),默認(rèn)的實(shí)現(xiàn)將會(huì)拒絕降級(jí)并且拋出一個(gè)SQLiteException。

參數(shù)

db 數(shù)據(jù)庫(kù)

oldVersionThe 舊版本數(shù)據(jù)庫(kù)

newVersionThe 新版本數(shù)據(jù)庫(kù)

public void onOpen (SQLiteDatabase db)

當(dāng)數(shù)據(jù)庫(kù)打開(kāi)時(shí)調(diào)用。這個(gè)實(shí)現(xiàn)會(huì)在升級(jí)數(shù)據(jù)庫(kù)之前會(huì)檢查isReadOnly()

參數(shù)

db 數(shù)據(jù)庫(kù)

public abstract void onUpgrade (SQLiteDatabase db, int oldVersion, int newVersion)

當(dāng)數(shù)據(jù)庫(kù)升級(jí)時(shí)調(diào)用。這個(gè)實(shí)現(xiàn)需要使用該方法去丟棄表格,增加表格,或者做一些其它事情,它需要升級(jí)到新的計(jì)劃中的版本。

SQLite ALTER TABLE文檔可以在這找到。如果你添加新的列,你可以使用ALTER TABLE 去把它們插入到活著的表格中。如果你重命名或移動(dòng)列,你可以使用ALTER TABLE去重命名這些舊的表格,然后創(chuàng)建新的表格,之后把舊表格的數(shù)據(jù)放到新的表格上。

參數(shù)

db 數(shù)據(jù)庫(kù)

oldVersionThe 舊版本數(shù)據(jù)庫(kù)

newVersionThe 新版本數(shù)據(jù)庫(kù)

補(bǔ)充

文章精選

android SQLiteOpenHelper使用示例


Previous article: Next article: