国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Android SQLite3基礎(chǔ)入門教程:建立數(shù)據(jù)庫

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

背景

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

SQLite3 特征

和傳統(tǒng)關(guān)系數(shù)據(jù)庫比較

有的:

Sql 語句: SELECT INSERT UPDATE

CREATE DROP

數(shù)據(jù)類型:

不區(qū)分大小寫

TEXT 文本

NUMERIC 數(shù)值

INTEGER 整型

REAL 小數(shù)

NONE 無類型

沒有的:

FOREIGN KEY 外鍵約束

RIGHT OUTER JOIN 和 FULL OUTER JOIN

ALTER TABLE

開始動手

動手之前,確認(rèn)你的機器中已經(jīng)配置好如下環(huán)境:

Android 開發(fā)環(huán)境(怎么配置問 Google ,有很多)

本文檔適用環(huán)境 Android 1.0

1, 建庫

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

可以使用 adb shell 進入設(shè)備后臺,命令行方式手動創(chuàng)建,步驟如下:

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

D:\>adb shell

之后進入應(yīng)用 data 目錄

# cd /data/data

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

查看有無 databases 目錄,如果沒有,則創(chuàng)建一個

# mkdir databases

cd databases 進入并創(chuàng)建數(shù)據(jù)庫

# sqlite3 friends.db

sqlite3 friends.db

SQLite version 3.5.9

Enter ".help" for instructions

sqlite>

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

他就是 SQLite 的庫文件

# ls

ls

friends.db

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

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

openOrCreateDatabase () 來創(chuàng)建我們的數(shù)據(jù)庫

db = context .openOrCreateDatabase(

String DATABASE_NAME , int Context. MODE_PRIVATE , null );

String DATABASE_NAME 數(shù)據(jù)庫的名字

Int MODE 操作模式 Context.MODE_PRIVATE 等

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

2, 建表

命令行方式

# sqlite3

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

3, 插入數(shù)據(jù)

命令行 增加,查詢數(shù)據(jù)

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私有訪問的數(shù)據(jù)庫 沒有使用ContentProvider 方式 增加 查詢數(shù)據(jù)  
  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.         // 初始化監(jiān)聽   
  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.                     // 瀏覽所有數(shù)據(jù)   
  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.  * 數(shù)據(jù)庫操作工具類  
  10.  *   
  11.  * @author daguangspecial@gmail.com  
  12.  *   
  13.  */   
  14. public class DBHelper {   
  15.     private static final String TAG = "DBDemo_DBHelper";// 調(diào)試標(biāo)簽   
  16.    
  17.     private static final String DATABASE_NAME = "dbdemo.db";// 數(shù)據(jù)庫名   
  18.     SQLiteDatabase db;   
  19.     Context context;//應(yīng)用環(huán)境上下文   Activity 是其子類   
  20.    
  21.     DBHelper(Context _context) {   
  22.         context = _context;   
  23.         //開啟數(shù)據(jù)庫   
  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.      * 列名 區(qū)分大小寫?  
  33.      * 都有什么數(shù)據(jù)類型?  
  34.      * SQLite 3   
  35.      *  TEXT    文本  
  36.         NUMERIC 數(shù)值  
  37.         INTEGER 整型  
  38.         REAL    小數(shù)  
  39.         NONE    無類型  
  40.      * 查詢可否發(fā)送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.      * 增加數(shù)據(jù)  
  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 指向結(jié)果記錄的指針,類似于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. }   

截圖:

截圖

責(zé)任編輯:佚名 來源: tuesdayhoho博客
相關(guān)推薦

2013-04-10 14:21:35

2012-02-29 10:18:31

SQLite3Android

2021-02-15 15:40:28

SQLite3數(shù)據(jù)庫

2011-07-04 17:26:00

Qt SQLite

2023-10-17 08:31:03

SQLite數(shù)據(jù)庫

2011-07-07 16:42:38

iPhone Sqlite3 數(shù)據(jù)庫

2013-04-09 16:47:19

iOS嵌入式數(shù)據(jù)庫SQLit

2018-07-05 11:30:56

數(shù)據(jù)庫瀏覽器IndexedDB

2024-02-19 00:00:00

SQLite3數(shù)據(jù)庫代碼

2013-06-14 09:54:04

Unity3D

2009-06-15 13:59:00

netbeans6.1入門教程

2011-07-04 11:38:06

MySQL

2012-03-06 12:59:11

iOS SQLite3iOSSQLite3

2020-07-31 08:07:54

Python開發(fā)數(shù)據(jù)庫

2011-06-16 09:53:25

Qt QML 教程

2020-09-17 09:40:20

數(shù)據(jù)庫Sqlite3命令

2020-09-18 09:15:22

數(shù)據(jù)庫Sqlite3進階

2019-08-12 11:40:48

數(shù)據(jù)庫SQLite3數(shù)據(jù)類型

2013-05-03 13:42:20

iOS開發(fā)SQLite3存儲讀取

2010-01-27 18:33:16

Android SQL
點贊
收藏

51CTO技術(shù)棧公眾號

免费在线看v| 国产精品久久久久白浆| 97超碰成人| 狠狠色伊人亚洲综合成人| 欧美黑人xxx| 黄色片在线播放| 国产精品久久久久久亚洲毛片| 久久av秘一区二区三区| 亚洲综合激情| y111111国产精品久久婷婷| 人成免费电影一二三区在线观看| 91精品国产乱码久久久久久| 欧美亚洲国产日韩2020| 亚洲欧美专区| www.久久久久久.com| 日韩手机在线观看视频| 精品无人码麻豆乱码1区2区| 精品亚洲欧美日韩| 在线观看爽视频| 精品国产乱码久久久久久免费| 秋霞在线一区二区| 日韩1区2区3区| 日本最新一区二区三区视频观看| 麻豆国产在线| 精品国产免费一区二区三区四区| 精品国产丝袜高跟鞋| 中文字幕av亚洲精品一部二部| 92国产精品久久久久首页| 天堂а√在线官网| 欧美一区二区观看视频| 日韩av毛片| 国产亚洲综合久久| 91麻豆精品| 538国产精品视频一区二区| 蜜桃成人av| 国产精品成人观看视频免费| 日韩精品高清不卡| 性欧美在线看片a免费观看| 超碰成人免费| 国产精品大片wwwwww| 97精品国产| 亚洲第五色综合网| 亚洲校园激情春色| 欧美成aaa人片免费看| 牛牛影视久久网| 亚洲毛片免费看| 久久久久www| 国内精品麻豆美女在线播放视频| 欧美性欧美巨大黑白大战| 在线观看成人av| 亚洲妇女av| 亚洲自拍偷拍一区| 日韩精品成人一区二区在线| 久久综合久久网| 国产精品国产三级国产三级人妇| 天天射综合网站| 日韩欧美国产午夜精品| 国产宾馆自拍| 欧美在线一区二区三区| 在线三级电影| 久久亚洲国产精品| 久久精品亚洲欧美日韩精品中文字幕| 欧美伦理一区二区| 欧美日韩精品在线一区| 精品日韩欧美在线| 麻豆影视在线观看| 亚洲第一福利在线观看| 日韩精品亚洲专区在线观看| 国产精品久久久久一区二区| 欧美专区在线| 91免费版网站入口| 美女mm1313爽爽久久久蜜臀| 欧美 日韩 国产 激情| 日韩欧美在线观看| 免费男女羞羞的视频网站中文版 | 国产精品一区在线播放| 国产在线不卡视频| 国产精品xxx在线观看www| 国产福利一区二区| 久久伊人一区二区| 大色综合视频网站在线播放| 欧美国产亚洲精品久久久8v| 国内精品美女在线观看| 欧美s码亚洲码精品m码| 欧美人妇做爰xxxⅹ性高电影| 日韩男人天堂| 久久久国产午夜精品| 2017亚洲天堂1024| 高清一区二区三区日本久| 麻豆9191精品国产| 国产女王在线**视频| 久久精品国产亚洲精品| 亚洲综合好骚| 最新av在线| 久久久久久国产免费| 久久精品国产精品亚洲精品| 伊人网在线观看| 国产精品夜间视频香蕉| 亚洲色图在线看| аⅴ资源新版在线天堂| 久久九九精品| 成人毛片高清视频观看| 亚洲精品av在线播放| 国产午夜一区| 欧美精品一区免费| 精品黑人一区二区三区久久| 国产中文精品久高清在线不| 亚洲人成无码网站久久99热国产| 在线亚洲人成电影网站色www| 高清日韩中文字幕| 成人免费网站入口| 精品国产成人系列| 亚洲二区视频| 日本中文字幕电影在线观看| 欧美极品美女视频网站在线观看免费| 激情综合色播激情啊| 男人和女人做事情在线视频网站免费观看 | 欧美视频综合| 欧美一级视频免费在线观看| 91视频一区二区三区| 在线看片福利| 欧美一区国产一区| 国产精品老牛| 头脑特工队2免费完整版在线观看| 国产最新精品视频| 久久久久99精品国产片| 日韩高清成人| 中文字幕在线中文字幕日亚韩一区| 欧美日韩国产123区| 伊人成年综合电影网| 欧洲亚洲在线| 国产精品一区二区欧美| 一本在线高清不卡dvd| 黄色网在线免费看| 国产在线日韩在线| 香蕉亚洲视频| 男女啪啪在线观看| 日本高清不卡一区二区三| 欧美日韩成人综合| 性娇小13――14欧美| 超碰在线caoporen| 国产亚洲欧美日韩精品| 精品亚洲国内自在自线福利| 678在线观看视频| 亚洲小说欧美另类激情| 亚洲摸下面视频| 粉嫩嫩av羞羞动漫久久久 | eeuss在线观看| 国产精品自产拍在线观看中文| 亚洲一区视频在线| av免费在线免费观看| 国产在线一区二区三区四区| 在线播放国产精品二区一二区四区| 激情欧美亚洲| 国产社区精品视频| 丰满少妇被猛烈进入高清播放| 97热精品视频官网| 天天综合色天天| 美女久久网站| 欧美黄页免费| 国产二级片在线| 97超级碰碰| 成人91在线观看| 成人免费在线电影网| 污视频网站免费看| 国产自产在线视频一区| 亚洲精品久久久久中文字幕欢迎你 | 最新在线你懂的| 日本精品一区二区三区高清 久久 日本精品一区二区三区不卡无字幕 | 99久精品国产| 免费资源在线观看| 日韩欧美视频一区二区三区四区| 亚洲色图18p| 亚洲人妖av一区二区| 亚洲网站在线| 成人在线中文| 精品伦理一区二区三区| 亚洲精品美女在线观看播放| 久久色中文字幕| gogogo高清在线观看一区二区| 国产成人在线视频免费观看| 韩日视频在线观看| 国产日韩在线看片| 亚洲欧美激情精品一区二区| 一区二区三区色| 久久一区激情| 久久精品论坛| 黄色网址视频在线观看| 亚洲第一中文av| 欧美亚洲丝袜| 欧亚精品在线观看| 亚洲成人av资源网| 一区二区三区四区在线免费观看| 免费在线观看一区二区三区| 你懂的视频在线观看| 一区二区三区三区在线| 欧美在线视频观看| 日韩精品欧美国产精品忘忧草| 一区二区激情视频| 国产大片一区二区|