Ⅰ android 除了sqlite還能使用什麼資料庫
android除了sqlite資料庫,還是可以使用mysql資料庫,使用步驟如下:
1. 關閉mysql伺服器的防火牆。
2. 加入MySQL的jdbc包,添加到libs文件夾內。
3.ADT和SDK為16及16以下,17以上的不能訪問。
4.手機和mysq伺服器l互相ping通。
5.添加網路許可權 :<uses-permissionAndroid:name="android.permission.INTERNET" />
6.在Thread中連接訪問mysql,防止ANR。
7.設置mysql允許遠程連接。
代碼如下:
java">packagecom.mayi.mysql_test;
importjava.sql.DriverManager;
importjava.sql.ResultSet;
importcom.mysql.jdbc.Connection;
importcom.mysql.jdbc.Statement;
importandroid.os.Bundle;
importandroid.app.Activity;
importandroid.util.Log;
importandroid.view.View;
importandroid.view.View.OnClickListener;
{
privatestaticfinalStringTAG="MainActivity";
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.select).setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
select();
}
});
}
publicvoidselect(){
try{
//調用Class.forName()方法載入驅動程序
Class.forName("org.gjt.mm.mysql.Driver");
System.out.println("成功載入MySQL驅動!");
Stringurl="jdbc:mysql://192.168.1.113:3306/test";//JDBC的URL
Connectionconn;
conn=(Connection)DriverManager.getConnection(url,"mayi","123456");
Statementstmt=(Statement)conn.createStatement();//創建Statement對象
System.out.println("成功連接到資料庫!");
Stringsql="select*fromperson";//要執行的SQL
ResultSetrs=stmt.executeQuery(sql);//創建數據對象
System.out.println("編號"+" "+"姓名"+" "+"年齡");
while(rs.next()){
System.out.print(rs.getInt(1)+" ");
System.out.print(rs.getString(2)+" ");
System.out.print(rs.getString(3)+" ");
System.out.print(rs.getString(4)+" ");
System.out.println();
}
rs.close();
stmt.close();
conn.close();
}catch(Exceptione)
{
Log.e(TAG,e.getMessage());
e.printStackTrace();
}
}
}
Ⅱ android開發 資料庫的使用
SQLite是輕量級嵌入式資料庫引擎,它支持 SQL 語言,並且只利用很少的內存就有很好的性能。此外它還是開源的,任何人都可以使用它。許多開源項目((Mozilla, PHP, Python)都使用了 SQLite,SQLite 由以下幾個組件組成:SQL 編譯器、內核、後端以及附件。SQLite 通過利用虛擬機和虛擬資料庫引擎(VDBE),使調試、修改和擴展 SQLite 的內核變得更加方便。
特點:
面向資源有限的設備, 沒有伺服器進程, 所有數據存放在同一文件中跨平台,可自由復制。
SQLite 基本上符合 SQL-92 標准,和其他的主要 SQL 資料庫沒什麼區別。它的優點就是高效,Android 運行時環境包含了完整的 SQLite。
SQLite 和其他資料庫最大的不同就是對數據類型的支持,創建一個表時,可以在 CREATE TABLE 語句中指定某列的數據類型,但是你可以把任何數據類型放入任何列中。當某個值插入資料庫時,SQLite 將檢查它的類型。如果該類型與關聯的列不匹配,則 SQLite 會嘗試將該值轉換成該列的類型。如果不能轉換,則該值將作為其本身具有的類型存儲。比如可以把一個字元串(String)放入 INTEGER 列。SQLite 稱這為「弱類型」(manifest typing.)。 此外,SQLite 不支持一些標準的 SQL 功能,特別是外鍵約束(FOREIGN KEY constrains),嵌套 transcaction 和 RIGHT OUTER JOIN 和 FULL OUTER JOIN, 還有一些 ALTER TABLE 功能。 除了上述功能外,SQLite 是一個完整的 SQL 系統,擁有完整的觸發器,交易等等。
Android 集成了 SQLite 資料庫 Android 在運行時(run-time)集成了 SQLite,所以每個 Android 應用程序都可以使用 SQLite 資料庫。
對於熟悉 SQL 的開發人員來時,在 Android 開發中使用 SQLite 相當簡單。但是,由於 JDBC 會消耗太多的系統資源,所以 JDBC 對於手機這種內存受限設備來說並不合適。因此,Android 提供了一些新的 API 來使用 SQLite 資料庫,Android 開發中,程序員需要學使用這些 API。
資料庫存儲在 data/< 項目文件夾 >/databases/ 下。 Android 開發中使用 SQLite 資料庫 Activites 可以通過 Content Provider 或者 Service 訪問一個資料庫。
下面會詳細講解如果創建資料庫,添加數據和查詢資料庫。 創建資料庫 Android 不自動提供資料庫。在 Android 應用程序中使用 SQLite,必須自己創建資料庫,然後創建表、索引,填充數據。
Android 提供了 SQLiteOpenHelper 幫助你創建一個資料庫,你只要繼承 SQLiteOpenHelper 類,就可以輕松的創建資料庫。SQLiteOpenHelper 類根據開發應用程序的需要,封裝了創建和更新資料庫使用的邏輯。
SQLiteOpenHelper 的子類,至少需要實現三個方法:
1 構造函數,調用父類 SQLiteOpenHelper 的構造函數。這個方法需要四個參數:上下文環境(例如,一個 Activity),資料庫名字,一個可選的游標工廠(通常是 Null),一個代表你正在使用的資料庫模型版本的整數。
2 onCreate()方法,它需要一個 SQLiteDatabase 對象作為參數,根據需要對這個對象填充表和初始化數據。
3 onUpgrage() 方法,它需要三個參數,一個 SQLiteDatabase 對象,一個舊的版本號和一個新的版本號,這樣你就可以清楚如何把一個資料庫從舊的模型轉變到新的模型。
Ⅲ 目前安卓APP開發用本地資料庫都是SQLite資料庫嗎
是的,sqlite比較小。
SQLite,是一款輕型的資料庫,是遵守ACID的關系型資料庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域項目。它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統,同時能夠跟很多程序語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC介面,同樣比起Mysql、PostgreSQL這兩款開源的世界著名資料庫管理系統來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生於2000年5月。 至2015年已經有15個年頭,SQLite也迎來了一個版本 SQLite 3已經發布。
Ⅳ 安卓數據會存本地嗎
安卓開發之數據存儲在本地的四種方式
本地數據存儲,在安卓開發過程中是不可避免的一個話題。這些本地的數據可能是用戶的設置,程序的設置,用戶的數據圖片, 也可能是網路傳輸的一些緩沖數據。
基本上我們有4種方法可以存儲安卓程序的數據。
第1種是Shared Preference(共享選項)。
這種方法適合於存儲一些基本數據類型的數據。他提供的是key-value(鍵值)的方式。鍵必須是字元串類型的,值可以是布爾型的,浮點型的,整型的,長整型的,或者字元串類型的。
這種方式是用一個xml文件在私有的目錄裡面存放這些數據的。一個程序可以有多個這樣的文件。
下面一段代碼用來描述寫入數據。
第2種是Internal Storage(內部存儲)。
這種方式用來存儲一些復雜的數據結構。因為是內部存儲方式,所以其他程序無法訪問。這樣可以保證數據的安全性。當你的程序卸載以後,這些內部存儲數據也會被清除掉。
這類數據一般包括像一些對象,或者本地需要一些類似文件系統訪問模式的數據。
下面一段代碼用來寫入數據。
第3種是External Storage(外部存儲)。
這種存儲方式用來存儲一些文件對象。這些文件可以被其他程序來訪問。要使用外部存儲,需要申請特別的寫許可權WRITE_EXTERNAL_STORAGE。如果其他程序需要訪問這些外部存儲數據的話,也需要申請讀許可權READ_EXTERNAL_STORAGE 。
從安卓4.4開始,用戶可以把自己的數據寫入一個私有的外部存儲文件夾中,如果這樣的話,用戶就不需要申請寫許可權WRITE_EXTERNAL_STORAGE。當用戶卸載程序的時候,這個文件夾也會被清除。
從安卓7.0開始, 安卓程序可以申請訪問特定的文件目錄,而不是申請訪問整個外部存儲空間。這樣可以保證數據的安全性,防止誤操作。用戶只可以訪問圖片目錄,或者文檔目錄。
第4種是SQLite database(資料庫)。
這種方式需要了解一些資料庫方面的知識。適合存儲相對結構化的數據。尤其是表結構。資料庫是跟當前程序綁定的其他程序無法訪問。
下面一段代碼用來展示寫入數據。
這里是丁哥開講,歡迎留言進行進一步的討論,謝謝。
與此同時請關注一下我們的合作夥伴。