成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Android SQLite3基礎入門教程:建立數據庫

移動開發 Android
本文將介紹Android SQLite3基礎入門教程——建立數據庫。Android 中, SQLite 是被集成于 Android runtime ,每個 Android 應用程序都可以歡快的使用 SQLite 數據庫,如果你熟悉 JDBC ,那么這個過程就更安逸了。

背景

SQLite 是一個非常流行的嵌入式數據庫,它提供了一個清爽的 SQL 接口,相當小的內存占用和高速的響應,更 Happy 的是他還是免費的,大家都可以盡情的使用,很多牛叉的公司(諸如 Adobe,Apple,Google,Sun,Symbian ),開源項目( Mozilla,PHP,Python )都在產品中裝配 SQLite.

SQLite3 特征

和傳統關系數據庫比較

有的:

Sql 語句: SELECT INSERT UPDATE

CREATE DROP

數據類型:

不區分大小寫

TEXT 文本

NUMERIC 數值

INTEGER 整型

REAL 小數

NONE 無類型

沒有的:

FOREIGN KEY 外鍵約束

RIGHT OUTER JOIN 和 FULL OUTER JOIN

ALTER TABLE

開始動手

動手之前,確認你的機器中已經配置好如下環境:

Android 開發環境(怎么配置問 Google ,有很多)

本文檔適用環境 Android 1.0

1, 建庫

方式一:命令行方式(適合調試用)

可以使用 adb shell 進入設備后臺,命令行方式手動創建,步驟如下:

Eclipse 中啟動模擬器之后, cmd 下輸入進入設備 Linux 控制臺

D:\>adb shell

之后進入應用 data 目錄

# cd /data/data

ls 列表目錄,查看文件,找到你的項目目錄并進入

查看有無 databases 目錄,如果沒有,則創建一個

# mkdir databases

cd databases 進入并創建數據庫

# sqlite3 friends.db

sqlite3 friends.db

SQLite version 3.5.9

Enter ".help" for instructions

sqlite>

ctrl+d 退出 sqlite 提示符 ls 列表目錄會看到有一個文件被創建 friends.db

他就是 SQLite 的庫文件

# ls

ls

friends.db

方式二:編碼方式(使用更多)

android.content.Context 中提供了函數 , 注: Activity 是 Context 的子類

openOrCreateDatabase () 來創建我們的數據庫

db = context .openOrCreateDatabase(

String DATABASE_NAME , int Context. MODE_PRIVATE , null );

String DATABASE_NAME 數據庫的名字

Int MODE 操作模式 Context.MODE_PRIVATE 等

CursorFactory 指針工廠 ,本例中傳入 null ,暫不用

2, 建表

命令行方式

# sqlite3

sqlite> create table widgets (id integer primary key autoincrement,name text);

3, 插入數據

命令行 增加,查詢數據

sqlite> insert into widgets values(null,'tom');

insert into widgets values(null,'tom');

sqlite> select * from widgets;

select * from widgets;

1|tom

sqlite>

API 方式

  1. package org.imti;   
  2.    
  3. import android.app.Activity;   
  4. import android.database.Cursor;   
  5. import android.os.Bundle;   
  6. import android.view.View;   
  7. import android.view.View.OnClickListener;   
  8. import android.widget.Button;   
  9. import android.widget.EditText;   
  10. import android.widget.TextView;   
  11.    
  12. /**  
  13.  * SQLite Demo  
  14.  *   
  15.  * 供Activity私有訪問的數據庫 沒有使用ContentProvider 方式 增加 查詢數據  
  16.  *   
  17.  * @author daguangspecial@gmail.com  
  18.  *   
  19.  */   
  20. public class DbDemo extends Activity {   
  21.     EditText inputTxt;   
  22.     Button btnAdd;   
  23.     Button btnViewAll;   
  24.     TextView viewAll;   
  25.    
  26.     DBHelper db;   
  27.    
  28.     @Override   
  29.     protected void onCreate(Bundle savedInstanceState) {   
  30.         // TODO Auto-generated method stub   
  31.         super.onCreate(savedInstanceState);   
  32.         this.setContentView(R.layout.dbdemo);   
  33.         // 初始化UI   
  34.         btnAdd = (Button) findViewById(R.id.btnAdd);   
  35.         btnViewAll = (Button) findViewById(R.id.btnViewAll);   
  36.         viewAll = (TextView) findViewById(R.id.viewAll);   
  37.         inputTxt = (EditText) findViewById(R.id.txtInput);   
  38.         // 初始化DB   
  39.         db = new DBHelper(this);   
  40.         // 初始化監聽   
  41.         OnClickListener listener = new OnClickListener() {   
  42.    
  43.             public void onClick(View v) {   
  44.                 if (v.getId() == R.id.btnAdd) {   
  45.                     // 增加   
  46.                     db.save(inputTxt.getText().toString());   
  47.                                        db.close();   
  48.                 } else if (v.getId() == R.id.btnViewAll) {   
  49.                     // 瀏覽所有數據   
  50.                     Cursor cur = db.loadAll();   
  51.                     StringBuffer sf = new StringBuffer();   
  52.                     cur.moveToFirst();   
  53.                     while (!cur.isAfterLast()) {   
  54.                         sf.append(cur.getInt(0)).append(" : ").append(   
  55.                                 cur.getString(1)).append("\n");   
  56.                         cur.moveToNext();   
  57.                     }   
  58.                                       db.close();   
  59.                     viewAll.setText(sf.toString());   
  60.                 }   
  61.             }   
  62.         };   
  63.         btnAdd.setOnClickListener(listener);   
  64.         btnViewAll.setOnClickListener(listener);   
  65.     }   
  66.    
  67. }   

Java代碼

  1. package org.imti;   
  2.    
  3. import android.content.Context;   
  4. import android.database.Cursor;   
  5. import android.database.sqlite.SQLiteDatabase;   
  6. import android.util.Log;   
  7.    
  8. /**  
  9.  * 數據庫操作工具類  
  10.  *   
  11.  * @author daguangspecial@gmail.com  
  12.  *   
  13.  */   
  14. public class DBHelper {   
  15.     private static final String TAG = "DBDemo_DBHelper";// 調試標簽   
  16.    
  17.     private static final String DATABASE_NAME = "dbdemo.db";// 數據庫名   
  18.     SQLiteDatabase db;   
  19.     Context context;//應用環境上下文   Activity 是其子類   
  20.    
  21.     DBHelper(Context _context) {   
  22.         context = _context;   
  23.         //開啟數據庫   
  24.             
  25.         db = context.openOrCreateDatabase(DATABASE_NAME, Context.MODE_PRIVATE,null);   
  26.         CreateTable();   
  27.         Log.v(TAG, "db path=" + db.getPath());   
  28.     }   
  29.    
  30.     /**  
  31.      * 建表  
  32.      * 列名 區分大小寫?  
  33.      * 都有什么數據類型?  
  34.      * SQLite 3   
  35.      *  TEXT    文本  
  36.         NUMERIC 數值  
  37.         INTEGER 整型  
  38.         REAL    小數  
  39.         NONE    無類型  
  40.      * 查詢可否發送select ?  
  41.      */   
  42.     public void CreateTable() {   
  43.         try {   
  44.             db.execSQL("CREATE TABLE t_user (" +   
  45.                     "_ID INTEGER PRIMARY KEY autoincrement,"   
  46.                     + "NAME TEXT"    
  47.                     + ");");   
  48.             Log.v(TAG, "Create Table t_user ok");   
  49.         } catch (Exception e) {   
  50.             Log.v(TAG, "Create Table t_user err,table exists.");   
  51.         }   
  52.     }   
  53.     /**  
  54.      * 增加數據  
  55.      * @param id  
  56.      * @param uname  
  57.      * @return  
  58.      */   
  59.     public boolean save(String uname){   
  60.         String sql="";   
  61.         try{   
  62.             sql="insert into t_user values(null,'"+uname+"')";   
  63.             db.execSQL(sql);   
  64.             Log.v(TAG,"insert Table t_user ok");   
  65.             return true;   
  66.                
  67.         }catch(Exception e){   
  68.             Log.v(TAG,"insert Table t_user err ,sql: "+sql);   
  69.             return false;   
  70.         }   
  71.     }   
  72.     /**  
  73.      * 查詢所有記錄  
  74.      *   
  75.      * @return Cursor 指向結果記錄的指針,類似于JDBC 的 ResultSet  
  76.      */   
  77.     public Cursor loadAll(){   
  78.            
  79.         Cursor cur=db.query("t_user"new String[]{"_ID","NAME"}, null,nullnullnullnull);   
  80.            
  81.         return cur;   
  82.     }   
  83.       public void close(){   
  84.         db.close();   
  85.     }   
  86. }   

截圖:

截圖

責任編輯:佚名 來源: tuesdayhoho博客
相關推薦

2013-04-10 14:21:35

2021-02-15 15:40:28

SQLite3數據庫

2012-02-29 10:18:31

SQLite3Android

2011-07-04 17:26:00

Qt SQLite

2023-10-17 08:31:03

SQLite數據庫

2011-07-07 16:42:38

iPhone Sqlite3 數據庫

2018-07-05 11:30:56

數據庫瀏覽器IndexedDB

2013-04-09 16:47:19

iOS嵌入式數據庫SQLit

2011-07-04 11:38:06

MySQL

2024-02-19 00:00:00

SQLite3數據庫代碼

2013-06-14 09:54:04

Unity3D

2009-06-15 13:59:00

netbeans6.1入門教程

2012-03-06 12:59:11

iOS SQLite3iOSSQLite3

2020-09-17 09:40:20

數據庫Sqlite3命令

2020-07-31 08:07:54

Python開發數據庫

2011-06-16 09:53:25

Qt QML 教程

2019-08-12 11:40:48

數據庫SQLite3數據類型

2020-09-18 09:15:22

數據庫Sqlite3進階

2013-05-03 13:42:20

iOS開發SQLite3存儲讀取

2010-01-27 18:33:16

Android SQL
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 中文字幕日韩在线观看 | 国产在线精品一区二区三区 | 麻豆av免费观看 | 欧美黄色片在线观看 | 日本一区二区在线视频 | 亚洲精品视频久久 | 久久青视频 | 中文字幕免费视频 | 欧美性生活网 | 国产日产欧产精品精品推荐蛮挑 | 色站综合| 亚洲欧美日韩电影 | 国产高清av免费观看 | 一区二区三区四区视频 | 午夜精品视频一区 | 国产精品久久久久久婷婷天堂 | 国产精品永久免费视频 | 免费同性女女aaa免费网站 | 国产精品99久久免费观看 | 玖玖在线免费视频 | 免费一看一级毛片 | 久久国产精品99久久久久久丝袜 | 超碰日韩 | 三级视频在线观看 | 精品国产99 | 亚洲aⅴ一区二区 | 亚洲三级在线 | 国产福利小视频 | 97国产精品视频人人做人人爱 | 国产精品免费av | 欧美一区二区综合 | 日韩成人高清在线 | 国产午夜精品理论片a大结局 | 久久综合久色欧美综合狠狠 | 毛片免费在线 | 亚洲精品乱码久久久久久久久 | 国产成人精品一区二区三区 | 伊人狼人影院 | 在线亚洲人成电影网站色www | 国产精品特级毛片一区二区三区 | 欧美亚洲国语精品一区二区 |