西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁編程開發(fā)Android → android編程中SQLite數(shù)據(jù)庫的增、刪、改、查功能實(shí)現(xiàn)

android編程中SQLite數(shù)據(jù)庫的增、刪、改、查功能實(shí)現(xiàn)

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來源:西西整理時(shí)間:2012/8/13 17:12:24字體大。A-A+

作者:佚名點(diǎn)擊:371次評(píng)論:0次標(biāo)簽: SQLite

  • 類型:編程輔助大小:7.0M語言:中文 評(píng)分:8.5
  • 標(biāo)簽:
立即下載

SQLite數(shù)據(jù)庫是android系統(tǒng)自帶的數(shù)據(jù)庫,小巧使用方便。

最常見的就是電話簿。電話簿數(shù)據(jù)庫存在的位置位于(如圖):

可以用SQLiteManager打開。

在android中使用SQLiteDatabase就能直接對(duì)數(shù)據(jù)庫操作。

下面用一個(gè)demo實(shí)現(xiàn)數(shù)據(jù)庫的創(chuàng)建、表的創(chuàng)建和刪除、表中數(shù)據(jù)的增刪改查。

架構(gòu)如下:

布局文件main實(shí)現(xiàn)簡(jiǎn)單的功能:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:layout_width="fill_parent"
 4     android:layout_height="fill_parent"
 5     android:orientation="vertical" >
 6 
 7     <TextView
 8         android:id="@+id/showsomething"
 9         android:layout_width="fill_parent"
10         android:layout_height="wrap_content"
11         android:text="@string/hello" />
12 
13     <Button
14         android:id="@+id/btn_create"
15         android:layout_width="wrap_content"
16         android:layout_height="wrap_content"
17         android:text="創(chuàng)建數(shù)據(jù)庫" />
18     <TextView 
19         android:layout_width="wrap_content"
20         android:layout_height="wrap_content"
21         android:text="用戶名:"
22         />
23     <EditText 
24         android:id="@+id/username"
25         android:layout_width="fill_parent"
26         android:layout_height="40dp"
27         />
28     <TextView 
29         android:layout_width="wrap_content"
30         android:layout_height="wrap_content"
31         android:text="密碼:"
32         />
33     <EditText 
34         android:id="@+id/password"
35         android:layout_width="fill_parent"
36         android:layout_height="40dp"
37         />
38     <Button 
39         android:id="@+id/btn_insert"
40         android:layout_width="wrap_content"
41         android:layout_height="wrap_content"
42         android:text="添加用戶"
43         android:textSize="20sp"
44         />
45     
46     <Button 
47         android:id="@+id/btn_update"
48         android:layout_width="wrap_content"
49         android:layout_height="wrap_content"
50         android:text="更新"
51         android:textSize="20sp"
52         />
53     
54     <Button 
55         android:id="@+id/btn_show"
56         android:layout_width="wrap_content"
57         android:layout_height="wrap_content"
58         android:text="顯示用戶"
59         android:textSize="20sp"
60         />
61     
62     <Button 
63         android:id="@+id/btn_showall"
64         android:layout_width="wrap_content"
65         android:layout_height="wrap_content"
66         android:text="顯示all用戶"
67         android:textSize="20sp"
68         />    
69     <Button 
70         android:id="@+id/btn_deleteusertable"
71         android:layout_width="wrap_content"
72         android:layout_height="wrap_content"
73         android:text="刪除用戶表"
74         android:textSize="20sp"
75         />
76 </LinearLayout>

工具類DBUtil.java是實(shí)現(xiàn)數(shù)據(jù)庫的創(chuàng)建連接、斷接、增刪改查等操作。

package com.db.util;

import java.util.ArrayList;
import java.util.List;
import java.util.Vector;

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import android.widget.EditText;

public class DBUtil
{
    static SQLiteDatabase sld;
    public static void createOrOpenDatabase() throws Exception
    {
        sld=SQLiteDatabase.openDatabase
        (
                "/data/data/com.db/dbtest", //數(shù)據(jù)庫所在路徑
                null,                                 //CursorFactory
                SQLiteDatabase.OPEN_READWRITE|SQLiteDatabase.CREATE_IF_NECESSARY //讀寫、若不存在則創(chuàng)建
        );            
        String sql0="create table if not exists user(username varchar2(20),password varchar2(20))";
        sld.execSQL(sql0); 
    }
    
    public static void closeDatabase() throws Exception
    {
       try
       {
           sld.close(); 
       }
       catch(Exception e)
       {
           e.printStackTrace();
       }
    }
   
    /*=====================================begin==========================================================*/
    //獲取用戶信息-winxiang
    public static List<String> searchuser(String username){
        List<String> list=new ArrayList<String>();
        try
        {
            createOrOpenDatabase();
            String sql="select * from user where username='"+username+"'";
            Cursor cur=sld.rawQuery(sql, new String[]{});
            while(cur.moveToNext())
            {
                list.add(cur.getString(0));  //username
                list.add(cur.getString(1));  //password 
            }
            cur.close();
            closeDatabase();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        return list;        
    }
  //獲取所有用戶信息-winxiang
    public static List<String> searchalluser(){
        List<String> list=new ArrayList<String>();
        try
        {
            createOrOpenDatabase();
            String sql="select * from user";
            Cursor cur=sld.rawQuery(sql, new String[]{});
            while(cur.moveToNext())
            {
                list.add(cur.getString(0));  //username
                list.add(cur.getString(1));  //password 
            }
            cur.close();
            closeDatabase();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        return list;        
    }
        
    public static void updatetable(String sql)
    {
        try
        {
            createOrOpenDatabase();            
            sld.execSQL(sql);            
            closeDatabase();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
   
    //舍棄user表
    public static void droptable(){
        try
        {
            String sql="drop table user";
            createOrOpenDatabase();            
            sld.execSQL(sql);            
            closeDatabase();
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        Log.d("DB","had deleted table: user->");  
    }
    /*=====================================end==========================================================*/
}

DBTestactivity:

 1 package com.db;
 2 
 3 
 4 import java.util.List;
 5 
 6 import com.db.util.DBUtil;
 7 import android.app.Activity;
 8 import android.os.Bundle;
 9 import android.view.View;
10 import android.view.View.OnClickListener;
11 import android.widget.Button;
12 import android.widget.EditText;
13 import android.widget.TextView;
14 import android.widget.Toast;
15 
16 public class DBtestActivity extends Activity {
17     Button btn_createdb,btn_insert,btn_show,btn_update,btn_showall,deleteusertable;
18     EditText username,password;
19     TextView showsomething;
20     
21     @Override
22     public void onCreate(Bundle savedInstanceState) {
23         super.onCreate(savedInstanceState);
24         setContentView(R.layout.main);
25         init();
26     }
27     
28     public void init(){
29         username = (EditText) findViewById(R.id.username);
30         password = (EditText) findViewById(R.id.password);
31         btn_createdb = (Button) findViewById(R.id.btn_create);
32         btn_insert = (Button) findViewById(R.id.btn_insert);
33         btn_show = (Button) findViewById(R.id.btn_show);
34         btn_update = (Button) findViewById(R.id.btn_update);
35         deleteusertable = (Button) findViewById(R.id.btn_deleteusertable);
36         btn_showall= (Button) findViewById(R.id.btn_showall);
37         showsomething = (TextView) findViewById(R.id.showsomething);
38         
39         btn_createdb.setOnClickListener(listener);
40         btn_insert.setOnClickListener(listener);
41         btn_createdb.setOnClickListener(listener);
42         btn_show.setOnClickListener(listener);
43         btn_update.setOnClickListener(listener);
44         btn_showall.setOnClickListener(listener);
45         deleteusertable.setOnClickListener(listener);
46     }
47     
48     public OnClickListener listener = new OnClickListener() {
49         @Override
50         public void onClick(View v) {
51             Button button = (Button) v;
52             if(button.getId()==btn_createdb.getId()){
53                 try {
54                     DBUtil.createOrOpenDatabase(); 
55                 } catch (Exception e) {
56                     e.printStackTrace();
57                 }
58             }else if(button.getId()==btn_insert.getId()){
59                 String sql="insert into user values ('"+username.getText()+"','"+password.getText()+"')";
60                 DBUtil.updatetable(sql);
61             }else if(button.getId()==btn_show.getId()){
62                 List<String>user = DBUtil.searchuser(username.getText().toString());
63                 showsomething.setText(user.toString());
64             }else if(button.getId()==btn_update.getId()){
65                 String sql="update user set username='"+username.getText()+"',password='"+password.getText()+"' where username = '"+username.getText()+"'";
66                 System.out.println(sql);
67                 DBUtil.updatetable(sql);
68             }else if(button.getId()==btn_showall.getId()){
69                 List<String>users = DBUtil.searchalluser();
70                 showsomething.setText(users.toString());
71             }else if(button.getId()==deleteusertable.getId()){
72                 DBUtil.droptable();
73                 Toast.makeText(getApplicationContext(), "用戶表刪除成功", Toast.LENGTH_SHORT).show();
74             }
75         }
76     };
77 }

效果圖如下:

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過審核才能顯示)