導航:首頁 > 操作系統 > android修改表結構

android修改表結構

發布時間:2023-02-26 20:17:28

⑴ 請教android中資料庫表結構

SQPte 一個非常流行的嵌入式資料庫,它支持 SQL 語言,並且只利用很少的內存就有很好的性能。此外它還是開源的,任何人都可以使用它。許多開源項目((Mozilla, PHP, Python)都使用了 SQPte. SQPte 由以下幾個組件組成:SQL 編譯器、內核、後端以及附件。SQPte 通過利用虛擬機和虛擬資料庫引擎(VDBE),使調試、修改和擴展 SQPte 的內核變得更加方便。 圖 1. SQPte 內部結構 SQPte 基本上符合 SQL-92 標准,和其他的主要 SQL 資料庫沒什麼區別。它的優點就是高效,Android 運行時環境包含了完整的 SQPte。 SQPte 和其他資料庫最大的不同就是對數據類型的支持,創建一個表時,可以在 CREATE TABLE 語句中指定某列的數據類型,但是你可以把任何數據類型放入任何列中。當某個值插入資料庫時,SQPte 將檢查它的類型。如果該類型與關聯的列不匹配,則 SQPte 會嘗試將該值轉換成該列的類型。如果不能轉換,則該值將作為其本身具有的類型存儲。比如可以把一個字元串(String)放入 INTEGER 列。SQPte 稱這為“弱類型”(manifest typing.)。 此外,SQPte 不支持一些標準的 SQL 功能,特別是外鍵約束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FPL OUTER JOIN, 還有一些 ALTER TABLE 功能。 除了上述功能外,SQPte 是一個完整的 SQL 系統,擁有完整的觸發器,交易等等。 Android 集成了 SQPte 資料庫 Android 在運行時(run-time)集成了 SQPte,所以每個 Android 應用程序都可以使用 SQPte 資料庫。對於熟悉 SQL 的開發人員來時,在 Android 開發中使用 SQPte 相當簡單。但是,由於 JDBC 會消耗太多的系統資源,所以 JDBC 對於手機這種內存受限設備來說並不合適。因此,Android 提供了一些新的 API 來使用 SQPte 資料庫,Android 開發中,程序員需要學使用這些 API。 資料庫存儲在 data/< 項目文件夾 >/databases/ 下。 Android 開發中使用 SQPte 資料庫 Activites 可以通過 Content Provider 或者 Service 訪問一個資料庫。下面會詳細講解如果創建資料庫,添加數據和查詢資料庫。 創建資料庫 Android 不自動提供資料庫。在 Android 應用程序中使用 SQPte,必須自己創建資料庫,然後創建表、索引,填充數據。Android 提供了 SQPteOpenHelper 幫助你創建一個資料庫,你只要繼承 SQPteOpenHelper 類,就可以輕松的創建資料庫。SQPteOpenHelper 類根據開發應用程序的需要,封裝了創建和更新資料庫使用的邏輯。SQPteOpenHelper 的子類,至少需要實現三個方法: 構造函數,調用父類 SQPteOpenHelper 的構造函數。這個方法需要四個參數:上下文環境(例如,一個 Activity),資料庫名字,一個可選的游標工廠(通常是 NPl),一個代表你正在使用的資料庫模型版本的整數。 onCreate()方法,它需要一個 SQPteDatabase 對象作為參數,根據需要對這個對象填充表和初始化數據。 onUpgrage() 方法,它需要三個參數,一個 SQPteDatabase 對象,一個舊的版本號和一個新的版本號,這樣你就可以清楚如何把一個資料庫從舊的模型轉變到新的模型。 下面示例代碼展示了如何繼承 SQPteOpenHelper 創建資料庫: pubPc class DatabaseHelper extends SQPteOpenHelper { DatabaseHelper(Context context, String name, CursorFactory cursorFactory, int version) { super(context, name, cursorFactory, version); } @Override pubPc void onCreate(SQPteDatabase db) { // TODO 創建資料庫後,對資料庫的操作 } @Override pubPc void onUpgrade(SQPteDatabase db, int PdVersion, int newVersion) { // TODO 更改資料庫版本的操作 } @Override pubPc void onOpen(SQPteDatabase db) { super.onOpen(db); // TODO 每次成功打開資料庫後首先被執行 } } 接下來討論具體如何創建表、插入數據、刪除表等等。調用 getReadableDatabase() 或 getWriteableDatabase() 方法,你可以得到 SQPteDatabase 實例,具體調用那個方法,取決於你是否需要改變資料庫的內容: db=(new DatabaseHelper(getContext())).getWritableDatabase(); return (db == nPl) ? false : true; 上面這段代碼會返回一個 SQPteDatabase 類的實例,使用這個對象,你就可以查詢或者修改資料庫。 當你完成了對資料庫的操作(例如你的 Activity 已經關閉),需要調用 SQPteDatabase 的 Close() 方法來釋放掉資料庫連接。 創建表和索引 為了創建表和索引,需要調用 SQPteDatabase 的 execSQL() 方法來執行 DDL 語句。如果沒有異常,這個方法沒有返回值。 例如,你可以執行如下代碼: db.execSQL("CREATE TABLE mytable (_id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, value REAL);"); 這條語句會創建一個名為 mytable 的表,表有一個列名為 _id,並且是主鍵,這列的值是會自動增長的整數(例如,當你插入一行時,SQPte 會給這列自動賦值),另外還有兩列:title( 字元 ) 和 value( 浮點數 )。 SQPte 會自動為主鍵列創建索引。 通常情況下,第一次創建資料庫時創建了表和索引。如果你不需要改變表的 schema,不需要刪除表和索引 . 刪除表和索引,需要使用 execSQL() 方法調用 DROP INDEX 和 DROP TABLE 語句。 給表添加數據 上面的代碼,已經創建了資料庫和表,現在需要給表添加數據。有兩種方法可以給表添加數據。 像上面創建表一樣,你可以使用 execSQL() 方法執行 INSERT, UPDATE, DELETE 等語句來更新表的數據。execSQL() 方法適用於所有不返回結果的 SQL 語句。例如: db.execSQL("INSERT INTO widgets (name, inventory)"+ "VALUES ('Sprocket', 5)"); 另一種方法是使用 SQPteDatabase 對象的 insert(), update(), delete() 方法。這些方法把 SQL 語句的一部分作為參數。示例如下: ContentValues cv=new ContentValues(); cv.put(Constants.TITLE, "example title"); cv.put(Constants.VALUE, SensorManager.GRAVITY_DEATH_STAR_I); db.insert("mytable", getNPlCPumnHack(), cv); update()方法有四個參數,分別是表名,表示列名和值的 ContentValues 對象,可選的 WHERE 條件和可選的填充 WHERE 語句的字元串,這些字元串會替換 WHERE 條件中的“?”標記。update() 根據條件,更新指定列的值,所以用 execSQL() 方法可以達到同樣的目的。 WHERE 條件和其參數和用過的其他 SQL APIs 類似。例如: String[] parms=new String[] {"this is a string"}; db.update("widgets", replacements, "name=?", parms); delete() 方法的使用和 update() 類似,使用表名,可選的 WHERE 條件和相應的填充 WHERE 條件的字元串。 查詢資料庫 類似 INSERT, UPDATE, DELETE,有兩種方法使用 SELECT 從 SQPte 資料庫檢索數據。 1 .使用 rawQuery() 直接調用 SELECT 語句; 使用 query() 方法構建一個查詢。 Raw Queries正如 API 名字,rawQuery() 是最簡單的解決方法。通過這個方法你就可以調用 SQL SELECT 語句。例如: Cursor c=db.rawQuery( "SELECT name FROM sqPte_master WHERE type='table' AND name='mytable'", nPl); 在上面例子中,我們查詢 SQPte 系統表(sqPte_master)檢查 table 表是否存在。返回值是一個 cursor 對象,這個對象的方法可以迭代查詢結果。如果查詢是動態的,使用這個方法就會非常復雜。例如,當你需要查詢的列在程序編譯的時候不能確定,這時候使用 query() 方法會方便很多。 RegPar Queriesquery() 方法用 SELECT 語句段構建查詢。SELECT 語句內容作為 query() 方法的參數,比如:要查詢的表名,要獲取的欄位名,WHERE 條件,包含可選的位置參數,去替代 WHERE 條件中位置參數的值,GROUP BY 條件,HAVING 條件。除了表名,其他參數可以是 nPl。所以,以前的代碼段可以可寫成: String[] cPumns={"ID", "inventory"}; String[] parms={"snicklefritz"}; Cursor resPt=db.query("widgets", cPumns, "name=?",parms, nPl, nPl, nPl); 使用游標不管你如何執行查詢,都會返回一個 Cursor,這是 Android 的 SQPte 資料庫游標,使用游標,你可以:通過使用 getCount() 方法得到結果集中有多少記錄;通過 moveToFirst(), moveToNext(), 和 isAfterLast() 方法遍歷所有記錄;通過 getCPumnNames() 得到欄位名;通過 getCPumnIndex() 轉換成欄位號;通過 getString(),getInt() 等方法得到給定欄位當前記錄的值;通過 requery() 方法重新執行查詢得到游標;通過 close() 方法釋放游標資源;例如,下面代碼遍歷 mytable 表 Cursor resPt=db.rawQuery("SELECT ID, name, inventory FROM mytable"); resPt.moveToFirst(); while (!resPt.isAfterLast()) { int id=resPt.getInt(0); String name=resPt.getString(1); int inventory=resPt.getInt(2); // do something usefP with these resPt.moveToNext(); } resPt.close(); 在 Android 中使用 SQPte 資料庫管理工具 在其他資料庫上作開發,一般都使用工具來檢查和處理資料庫的內容,而不是僅僅使用資料庫的 API。使用 Android 模擬器,有兩種可供選擇的方法來管理資料庫。首先,模擬器綁定了 sqPte3 控制台程序,可以使用 adb shell 命令來調用他。只要你進入了模擬器的 shell,在資料庫的路徑執行 sqPte3 命令就可以了。資料庫文件一般存放 在:/data/data/your.app.package/databases/your-db-name如果你喜歡使用更友好的工具,你 可以把資料庫拷貝到你的開發機上,使用 SQPte-aware 客戶端來操作它。這樣的話,你在一個資料庫的拷貝上操作,如果你想要你的修改能反映到設備上,你需要把資料庫備份回去。把資料庫從設備上考出來,你可以使 用 adb pPl 命令(或者在 IDE 上做相應操作)。存儲一個修改過的資料庫到設備上,使用 adb push 命令。一個最方便的 SQPte 客戶端是 FireFox SQPte Manager 擴展,它可以跨所有平台使用。 圖 2. SQPte Manager 結束語 如果你想要開發 Android 應用程序,一定需要在 Android 上存儲數據,使用 SQPte 資料庫是一種非常好的選擇。本文介紹了如何在 Android 應用程序中使用 SQPte 資料庫 ,主要介紹了在 Android 應用程序中使用 SQPte 創建資料庫和表、添加數據、更新和檢索數據,還介紹了比較常用的 SQPte 管理工具,通過閱讀本文,你可以在 Android 中輕松操作 SQPte 資料庫。

⑵ 在android中對資料庫做增刪改查有兩種方式分別是sqlitedatabase這個類中的哪幾個

一、使用嵌入式關系型SQLite資料庫存儲數據
在Android平台上,集成了一個嵌入式關系型資料庫——SQLite,SQLite3支持NULL、INTEGER、REAL(浮點數字)、 TEXT(字元串文本)和BLOB(二進制對象)數據類型,雖然它支持的類型只有五種,但實際上sqlite3也接受varchar(n)、 char(n)、decimal(p,s) 等數據類型,只不過在運算或保存時會轉成對應的五種數據類型。 SQLite最大的特點是你可以把各種類型的數據保存到任何欄位中,而不用關心欄位聲明的數據類型是什麼。例如:可以在Integer類型的欄位中存放字元串,或者在布爾型欄位中存放浮點數,或者在字元型欄位中存放日期型值。 但有一種情況例外:定義為INTEGER PRIMARY KEY的欄位只能存儲64位整數, 當向這種欄位保存除整數以外的數據時,將會產生錯誤。 另外,在編寫CREATE TABLE 語句時,你可以省略跟在欄位名稱後面的數據類型信息,如下面語句你可以省略name欄位的類型信息:
CREATE TABLE person (personid integer primary key autoincrement, name varchar(20))
SQLite可以解析大部分標准SQL語句,如:
復制代碼 代碼如下:

查詢語句:select * from 表名 where 條件子句 group by 分組字句 having ... order by 排序子句
如: select * from person
select * from person order by id desc
select name from person group by name having count(*)>1
分頁SQL與mysql類似,下面SQL語句獲取5條記錄,跳過前面3條記錄
select * from Account limit 5 offset 3 或者 select * from Account limit 3,5
插入語句:insert into 表名(欄位列表) values(值列表)。如: insert into person(name, age) values(『傳智',3)
更新語句:update 表名 set 欄位名=值 where 條件子句。如:update person set name=『傳智『 where id=10
刪除語句:delete from 表名 where 條件子句。如:delete from person where id=10

二、使用SQLiteOpenHelper對資料庫進行版本管理
我們在編寫資料庫應用軟體時,需要考慮這樣的問題:因為我們開發的軟體可能會安裝在很多用戶的手機上,如果應用使用到了SQLite資料庫,我們必須在用戶初次使用軟體時創建出應用使用到的資料庫表結構及添加一些初始化記錄,另外在軟體升級的時候,也需要對數據表結構進行更新。那麼,我們如何才能實現在用戶初次使用或升級軟體時自動在用戶的手機上創建出應用需要的資料庫表呢?總不能讓我們在每個需要安裝此軟體的手機上通過手工方式創建資料庫表吧?因為這種需求是每個資料庫應用都要面臨的,所以在Android系統,為我們提供了一個名為SQLiteOpenHelper的抽象類,必須繼承它才能使用,它是通過對資料庫版本進行管理來實現前面提出的需求。

為了實現對資料庫版本進行管理,SQLiteOpenHelper類提供了兩個重要的方法,分別是onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion),前者用於初次使用軟體時生成資料庫表,後者用於升級軟體時更新資料庫表結構。當調用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法獲取用於操作資料庫的SQLiteDatabase實例的時候,如果資料庫不存在,Android系統會自動生成一個資料庫,接著調用onCreate()方法,onCreate()方法在初次生成資料庫時才會被調用,在onCreate()方法里可以生成資料庫表結構及添加一些應用使用到的初始化數據。onUpgrade()方法在資料庫的版本發生變化時會被調用,一般在軟體升級時才需改變版本號,而資料庫的版本是由程序員控制的,假設資料庫現在的版本是1,由於業務的變更,修改了資料庫表結構,這時候就需要升級軟體,升級軟體時希望更新用戶手機里的資料庫表結構,為了實現這一目的,可以把原來的資料庫版本設置為2(有同學問設置為3行不行?當然可以,如果你願意,設置為100也行),並且在 onUpgrade()方法裡面實現表結構的更新。當軟體的版本升級次數比較多,這時在onUpgrade()方法裡面可以根據原版號和目標版本號進行判斷,然後作出相應的表結構及數據更新。

getWritableDatabase()和 getReadableDatabase()方法都可以獲取一個用於操作資料庫的SQLiteDatabase實例。但 getWritableDatabase() 方法以讀寫方式打開資料庫,一旦資料庫的磁碟空間滿了,資料庫就只能讀而不能寫,倘若使用getWritableDatabase()打開資料庫就會出錯。getReadableDatabase()方法先以讀寫方式打開資料庫,如果資料庫的磁碟空間滿了,就會打開失敗,當打開失敗後會繼續嘗試以只讀方式打開資料庫。
注意:getWritableDatabase(),getReadableDatabase的區別是當資料庫寫滿時,調用前者會報錯,調用後者不會,所以如果不是更新資料庫的話,最好調用後者來獲得資料庫連接。
代碼:
復制代碼 代碼如下:

public class DatabaseHelper extends SQLiteOpenHelper {
//類沒有實例化,是不能用作父類構造器的參數,必須聲明為靜態
private static final String name = "ljqdb"; //資料庫名稱
private static final int version = 1; //資料庫版本
public DatabaseHelper(Context context) {
//第三個參數CursorFactory指定在執行查詢時獲得一個游標實例的工廠類,設置為null,代表使用系統默認的工廠類
super(context, name, null, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE IF NOT EXISTS person (
personid integer primary key autoincrement, name varchar(20), age INTEGER)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL(" ALTER TABLE person ADD phone VARCHAR(12) NULL "); //往表中增加一列
// DROP TABLE IF EXISTS person 刪除表
}
}

在實際項目開發中,當資料庫表結構發生更新時,應該避免用戶存放於資料庫中的數據丟失。
三、使用SQLiteDatabase操作SQLite資料庫
Android提供了一個名為SQLiteDatabase的類,該類封裝了一些操作資料庫的API,使用該類可以完成對數據進行添加(Create)、查詢(Retrieve)、更新(Update)和刪除(Delete)操作(這些操作簡稱為CRUD)。對SQLiteDatabase的學習,我們應該重點掌握execSQL()和rawQuery()方法。execSQL()方法可以執行insert、delete、update和CREATE TABLE之類有更改行為的SQL語句; rawQuery()方法用於執行select語句。
execSQL()方法的使用例子:
復制代碼 代碼如下:

SQLiteDatabase db = ....;
db.execSQL("insert into person(name, age) values('林計欽', 24)");
db.close();

執行上面SQL語句會往person表中添加進一條記錄,在實際應用中, 語句中的「林計欽」這些參數值會由用戶輸入界面提供,如果把用戶輸入的內容原樣組拼到上面的insert語句, 當用戶輸入的內容含有單引號時,組拼出來的SQL語句就會存在語法錯誤。要解決這個問題需要對單引號進行轉義,也就是把單引號轉換成兩個單引號。有些時候用戶往往還會輸入像「 & 」這些特殊SQL符號,為保證組拼好的SQL語句語法正確,必須對SQL語句中的這些特殊SQL符號都進行轉義,顯然,對每條SQL語句都做這樣的處理工作是比較煩瑣的。 SQLiteDatabase類提供了一個重載後的execSQL(String sql, Object[] bindArgs)方法,使用這個方法可以解決前面提到的問題,因為這個方法支持使用佔位符參數(?)。使用例子如下:
復制代碼 代碼如下:

SQLiteDatabase db = ....;
db.execSQL("insert into person(name, age) values(?,?)", new Object[]{"傳智播客", 4});
db.close();

execSQL(String sql, Object[] bindArgs)方法的第一個參數為SQL語句,第二個參數為SQL語句中佔位符參數的值,參數值在數組中的順序要和佔位符的位置對應。
SQLiteDatabase的rawQuery()用於執行select語句,使用例子如下:
復制代碼 代碼如下:

SQLiteDatabase db = ....;
Cursor cursor = db.rawQuery("select * from person", null);
while (cursor.moveToNext()) {
int personid = cursor.getInt(0); //獲取第一列的值,第一列的索引從0開始
String name = cursor.getString(1);//獲取第二列的值
int age = cursor.getInt(2);//獲取第三列的值
}
cursor.close();
db.close();

rawQuery()方法的第一個參數為select語句;第二個參數為select語句中佔位符參數的值,如果select語句沒有使用佔位符,該參數可以設置為null。帶佔位符參數的select語句使用例子如下:
復制代碼 代碼如下:

Cursor cursor = db.rawQuery("select * from person where name like ? and age=?", new String[]{"%林計欽%", "4"});

Cursor是結果集游標,用於對結果集進行隨機訪問,如果大家熟悉jdbc, 其實Cursor與JDBC中的ResultSet作用很相似。使用moveToNext()方法可以將游標從當前行移動到下一行,如果已經移過了結果集的最後一行,返回結果為false,否則為true。另外Cursor 還有常用的moveToPrevious()方法(用於將游標從當前行移動到上一行,如果已經移過了結果集的第一行,返回值為false,否則為true )、moveToFirst()方法(用於將游標移動到結果集的第一行,如果結果集為空,返回值為false,否則為true )和moveToLast()方法(用於將游標移動到結果集的最後一行,如果結果集為空,返回值為false,否則為true ) 。

除了前面給大家介紹的execSQL()和rawQuery()方法, SQLiteDatabase還專門提供了對應於添加、刪除、更新、查詢的操作方法: insert()、delete()、update()和query() 。這些方法實際上是給那些不太了解SQL語法的菜鳥使用的,對於熟悉SQL語法的程序員而言,直接使用execSQL()和rawQuery()方法執行SQL語句就能完成數據的添加、刪除、更新、查詢操作。

⑶ Android編程入門很簡單的目錄

第1篇入 門 必 備
第1章初識Android(教學視頻:6分鍾)
1.1手機發展簡史
1.1.1手機發展的里程碑
1.1.2Android的各個版本
1.2開放手機聯盟
1.2.1開放手機聯盟的目的
1.2.2分工合作
1.3Android中的個人英雄主義
1.3.1第一屆挑戰賽冠軍介紹
1.3.2第二屆挑戰賽冠軍介紹
1.3.3Android Market
1.4Android平台
1.4.1Android體系結構
1.4.2熟悉的開發工具
1.4.3合理的學習曲線
1.5小結
第2章搭建你的開發環境(教學視頻:21分鍾)
2.1配置前的准備工作
2.1.1Android支持的操作系統
2.1.2准備「四大法寶」
2.2安裝並配置JDK
2.2.1安裝JDK
2.2.2配置JDK
2.3安裝並配置Eclipse
2.3.1運行Eclipse
2.3.2了解Eclipse
2.4安裝並配置Android SDK
2.4.1下載Android SDK
2.4.2配置SDK
2.5下載ADT
2.5.1下載ADT
2.5.2為Eclipse設置SDK路徑
2.6新建模擬器
2.6.1新建AVD
2.6.2運行模擬器
2.7真機測試
2.7.1安裝手機驅動
2.7.2設置手機
2.8小結
第3章創建第一個程序--HelloWorld(教學視頻:21分鍾)
3.1新建第一個程序
3.1.1新建工程
3.1.2運行程序
3.2認識HelloWorld
3.2.1首識Android工程
3.2.2認識布局文件
3.2.3認識值文件
3.2.4認識R文件
3.2.5認識注冊文件
3.3調試程序
3.3.1增加斷點
3.3.2開始調試
3.3.3單步調試
3.4更多示常式序
3.4.1導入Samples
3.4.2經典範例
3.5小結
第4章使用Android工具(教學視頻:15分鍾)
4.1使用DDMS
4.1.1認識DDMS
4.1.2使用進程
4.1.3使用文件瀏覽器
4.1.4使用模擬器控制
4.1.5使用日誌
4.1.6使用Screen Capture捕捉設備屏幕
4.2使用Android調試橋
4.2.1使用ADB
4.2.2顯示連接到計算機的設備
4.2.3針對特定設備操作
4.2.4啟動和停止ADB
4.2.5使用ADB操作文件和apk
4.2.6使用ADB shell
4.3使用AAPT
4.3.1使用ADT導出簽名程序
4.3.2使用命令行生成簽名apk文件
4.4小結
第2篇界 面 開 發
第5章探索界面UI元素(教學視頻:73分鍾)
5.1認識Android視圖、Widget以及布局
5.2必須了解的Widget組件
5.2.1使用可滾動的文本控制項--TextView
5.2.2TextView中的一些功能
5.2.3使用可滾動的視圖--ScrollView
5.2.4文字的編輯
5.2.5使用按鈕--Button
5.2.6實例--計算器
5.2.7使用圖片按鈕--ImageButton
5.2.8使用復選框--CheckBox
5.2.9實例--請同意本協議
5.2.10使用單選框--RadioGroup
5.2.11實例--請選擇性別
5.2.12使用下拉列表框--Spinner
5.2.13實例--請選擇工作年限
5.2.14實例--動態修改Spinner項
5.2.15使用進度條--ProgressBar
5.2.16實例--動態修改進度條
5.2.17使用拖動條--SeekBar
5.2.18實例--簡單使用SeekBar
5.2.19使用圖片視圖--ImageView
5.2.20實例--ImageView的重疊效果
5.2.21使用網格視圖--GridView
5.2.22實例--通過宮格視圖展示相應的應用
5.2.23使用消息提醒--Toast
5.2.24實例--Toast的4種實現
5.3使用列表視圖(ListView&ExpandableListView)
5.3.1使用列表--ListView
5.3.2通過實例學習列表
5.3.3使用可擴展列表--ExpandableListView
5.3.4實例--簡單使用ExpandableListView
5.3.5實例--深入使用可擴展列表
5.4使用菜單--Menu
5.4.1Menu的使用
5.4.2通過實例學習使用Menu
5.5小結
第6章使用程序資源(教學視頻:40分鍾)
6.1資源的意義
6.1.1什麼是資源
6.1.2怎樣存儲資源
6.1.3怎樣添加資源
6.1.4資源的種類
6.1.5怎樣訪問資源
6.2使用資源
6.2.1使用資源管理器
6.2.2使用String資源
6.2.3實例--彩虹和太極
6.2.4使用String數組資源
6.2.5使用Color資源
6.2.6使用Dimension資源
6.2.7使用Drawble資源
6.2.8使用樣式
6.2.9使用主題
6.3小結
第7章設計界面布局(教學視頻:63分鍾)
7.1創建界面
7.1.1使用xml資源創建布局
7.1.2使用代碼創建布局
7.2使用布局類
7.2.1使用絕對布局
7.2.2使用線性布局
7.2.3使用框架布局
7.2.4使用表格布局
7.2.5使用關系布局
7.3使用其他布局容器
7.3.1使用TabActivity
7.3.2自定義TabHost
7.3.3使用對話框
7.3.4使用滑動抽屜
7.4小結
第3篇功 能 實 現
第8章Android應用程序組成(教學視頻:43分鍾)
8.1深入理解Activity
8.1.1使用Intent連接Activity
8.1.2Activity的生命周期
8.2使用廣播接收器
8.2.1發送廣播
8.2.2接收廣播
8.2.3廣播實例
8.3使用服務
8.3.1新建服務
8.3.2使用Service
8.3.3Service的生命周期
8.4使用ContentProvider
8.5小結
第9章Android中的數據存儲(教學視頻:58分鍾)
9.1使用SharedPreferences
9.1.1什麼是SharedPreferences
9.1.2使用SharedPreferences保存數據
9.1.3使用SharedPreferences讀取數據
9.1.4通過實例學習SharedPreferences
9.2使用文件存儲
9.2.1文件保存概述
9.2.2在程序默認位置創建和寫入文件
9.2.3在默認位置讀取文件
9.2.4通過實例學習文件存儲
9.3使用SQLite資料庫
9.3.1創建和刪除資料庫
9.3.2創建和刪除表
9.3.3操作記錄
9.3.4查詢記錄
9.3.5使用資料庫幫助類
9.4實例--通過資料庫驗證登錄
9.4.1整體設計
9.4.2資料庫設計
9.4.3登錄界面設計
9.4.4注冊界面設計
9.4.5登錄成功界面設計
9.5使用ContentProvider共享數據
9.5.1了解ContentProvider
9.5.2使用ContentProvider
9.5.3使用ContentResolver
9.6自定義ContentProvider
9.6.1ContentProvider需要實現的介面
9.6.2實現ContentProvider
9.6.3更新AndroidManifest文件
9.7小結
第10章絢麗的多媒體技術(教學視頻:55分鍾)
10.1簡單處理音頻
10.1.1使用MediaRecoder錄制音頻
10.1.2通過實例學習使用MediaRecoder錄制音頻
10.1.3使用MediaPlayer播放音頻
10.1.4通過實例學習MediaPlayer
10.2深度處理音頻
10.2.1使用AudioRecod錄制音頻
10.2.2通過實例學習使用AudioRecod錄制音頻
10.2.3使用AudioTrack播放音頻
10.2.4通過實例學習使用AudioTrack錄制音頻
10.3學會拍照
10.3.1通過Camera類完成拍照
10.3.2實例--簡易攝像機
10.4學習視頻處理
10.4.1學習錄制視頻
10.4.2實例--錄制視頻
10.4.3學習播放視頻
10.4.4實例--自製視頻播放器
10.5小結
第11章Android網上沖浪(教學視頻:30分鍾)
11.1使用HttpUrlConnection
11.1.1使用GET方法
11.1.2使用POST方法
11.1.3通過實例學習HttpUrlConnection
11.2使用HttpClient
11.2.1使用HttpClient進行GET連接
11.2.2使用HttpClient進行POST連接
11.2.3通過實例學習HttpClient
11.3自製Web瀏覽器
11.3.1使用WebView
11.3.2通過實例學習WebView
11.4小結
第12章Android地圖服務(教學視頻:31分鍾)
12.1Google地圖顯示
12.1.1申請Google Maps API金鑰
12.1.2使用MapView顯示地圖
12.1.3通過實例使用MapView
12.2使用GPS
12.2.1獲得我的位置
12.2.2通過實例完成GPS的使用
12.3使用地理位置編碼
12.3.1轉換地址信息
12.3.2通過實例使用地理位置編碼
12.4使用Overlay
12.4.1實現Overlay類
12.4.2通過實例學習Overlay
12.5小結
第4篇項目案例開發
第13章聯系人助手(教學視頻:45分鍾)
13.1Jxl簡介
13.1.1使用導入jxl.jar
13.1.2使用jxl讀取Excel文件
13.1.3使用jxl創建Excel文件
13.2界面規劃
13.2.1主界面實現
13.2.2導出文件、導入文件界面的實現
13.3功能實現
13.3.1實現導出聯系人
13.3.2實現導入聯系人功能
13.3.3實現文件瀏覽功能
13.3.4實現主界面跳轉功能
13.3.5修改注冊表
13.5小結
第14章個人軌跡跟蹤器(教學視頻:21分鍾)
14.1界面UI實現
14.1.1界面規劃
14.1.2實現新建跟蹤界面
14.1.3實現已有跟蹤界面
14.1.4實現地圖顯示界面
14.2資料庫實現
14.2.1設計表結構
14.2.2實現DatabaseHelper
14.3功能實現
14.3.1實現TrackService
14.3.2實現OldTrackActivity
14.3.3實現TrackerActivity
14.3.4實現Overlay
14.3.5修改注冊文件
14.4小結

⑷ android怎麼實現sqlite的增刪改查

SQL語句大全

--語 句 功 能
--數據操作
SELECT --從資料庫表中檢索數據行和列
INSERT --向資料庫表添加新數據行
DELETE --從資料庫表中刪除數據行
UPDATE --更新資料庫表中的數據
--數據定義
CREATE TABLE --創建一個資料庫表
DROP TABLE --從資料庫中刪除表
ALTER TABLE --修改資料庫表結構
CREATE VIEW --創建一個視圖
DROP VIEW --從資料庫中刪除視圖
CREATE INDEX --為資料庫表創建一個索引
DROP INDEX --從資料庫中刪除索引
CREATE PROCEDURE --創建一個存儲過程
DROP PROCEDURE --從資料庫中刪除存儲過程
CREATE TRIGGER --創建一個觸發器
DROP TRIGGER --從資料庫中刪除觸發器
CREATE SCHEMA --向資料庫添加一個新模式
DROP SCHEMA --從資料庫中刪除一個模式
CREATE DOMAIN --創建一個數據值域
ALTER DOMAIN --改變域定義
DROP DOMAIN --從資料庫中刪除一個域
--數據控制
GRANT --授予用戶訪問許可權
DENY --拒絕用戶訪問
REVOKE --解除用戶訪問許可權
--事務控制
COMMIT --結束當前事務
ROLLBACK --中止當前事務
SET TRANSACTION --定義當前事務數據訪問特徵
--程序化SQL
DECLARE --為查詢設定游標
EXPLAN --為查詢描述數據訪問計劃
OPEN --檢索查詢結果打開一個游標
FETCH --檢索一行查詢結果
CLOSE --關閉游標
PREPARE --為動態執行准備SQL 語句
EXECUTE --動態地執行SQL 語句
DESCRIBE --描述准備好的查詢
---局部變數
declare @id char(10)
--set @id = '10010001'
select @id = '10010001'

---全局變數
---必須以@@開頭

--IF ELSE

閱讀全文

與android修改表結構相關的資料

熱點內容
fw壓縮圖片 瀏覽:254
淘寶申請源碼靠譜嗎 瀏覽:870
androidupdater 瀏覽:635
c2d游戲源碼大全可復製版 瀏覽:771
電腦怎樣重置網關命令 瀏覽:411
winftplinux 瀏覽:335
推特app界面如何設置成中文 瀏覽:452
太空工程師轉子編程屬性 瀏覽:32
windowscmd關機命令 瀏覽:342
雲桌面只要伺服器裝一套軟體 瀏覽:247
電腦右鍵按到什麼導致文件夾全屏 瀏覽:454
我的世界如何製造伺服器主城 瀏覽:365
linuxssh連不上 瀏覽:297
永宏plc用什麼編程電纜 瀏覽:371
win激活命令行 瀏覽:886
新手學電腦編程語言 瀏覽:893
雲空間在哪個文件夾 瀏覽:926
編程游戲小貓抓小魚 瀏覽:790
安卓dosbox怎麼打開 瀏覽:774
伺服器無影響是怎麼回事 瀏覽:958