android的sqlite的初学者的入门

查看:  194 | 回复:  0
打印  上一主题  下一主题
收起左侧

[Android实例] 初学者的sqlite操作android数据库 

[复制链接]

18

主题

33

帖子

604

e币
跳转到指定楼层
楼主
  发表于 2014-11-9 00:04:28  |  只看该作者  回帖奖励
package an.sqlite1;

import an.sqlite3.db.DatabaseHelper;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class SQLiteActivity extends Activity {

        private Button createDatabase;
        private Button updateDatabase;
        private Button insert;
        private Button update;
        private Button query;
        private Button delete;
        private Button deleteTable;
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                
                createDatabase=(Button)findViewById(R.id.createDatabase);
                createDatabase.setOnClickListener(new CreateListener());
                updateDatabase=(Button)findViewById(R.id.updateDatabase);
                updateDatabase.setOnClickListener(new UpdateListener());
                insert=(Button)findViewById(R.id.insert);
                insert.setOnClickListener(new InsertListener());
                update=(Button)findViewById(R.id.update);
                update.setOnClickListener(new UpdateRecordListener());
                query=(Button)findViewById(R.id.query);
                query.setOnClickListener(new QueryListener());
                delete=(Button)findViewById(R.id.delete);
                delete.setOnClickListener(new DeleteListener());
                deleteTable=(Button)findViewById(R.id.deleteTable);
                deleteTable.setOnClickListener(new DeleteTableListener());
        }
        
        class CreateListener implements OnClickListener{

                @Override
                public void onClick(View arg0) {
                        // TODO Auto-generated method stub
                        //创建一个DatabaseHelper对象
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this,"test_an_db");
                        //只有调用DatabaseHelper对象的getReadableDatabase()方法,或者是getWritableDatabase()方法,或者是getWritableDatabase()方法之后,才会创建数据库对象
                        SQLiteDatabase db=dbHelper.getReadableDatabase();
                }
                
        }
        
        class UpdateListener implements OnClickListener{

                @Override
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this,"test_an_db",2);
                        SQLiteDatabase db=dbHelper.getReadableDatabase();
                }
                
        }
        
        class DeleteTableListener implements OnClickListener{

                @Override
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this, "test_an_db");
                        SQLiteDatabase db=dbHelper.getReadableDatabase();
                        db.execSQL("DROP TABLE IF exists test_an_db");
                        System.out.println("删除了test_an_db表");
                }
                
        }
        
        class InsertListener implements OnClickListener{

                @Override
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                        System.out.println("InsertListener");
                        //生成ContentValues对象,对数据库写操作
                        ContentValues values=new ContentValues();
                        //想该对象当中插入键值对,其中键是列名,值必须
                        values.put("id", 1);
                        values.put("name", "zhangsan");
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this, "test_an_db");
                        SQLiteDatabase db=dbHelper.getWritableDatabase();
                        //调用insert方法,就可以将数据插入到数据库当中
                        db.insert("user", null, values);                        
                }
                
        }
        
        //更新操作就想当用与SQL语句中的update语句
        //update table set xxx=xx where x=xxxx
        class UpdateRecordListener implements OnClickListener{

                @Override
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                        System.out.println("UpdateRecordListener");
                        //得到一个可写的SQLiteDatabase对象
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this,"test_an_db");
                        SQLiteDatabase db=dbHelper.getWritableDatabase();
                        ContentValues values=new ContentValues();
                        values.put("name", "zhangsanfeng");
                        //第一个参数是要更新的表名,
                        //第二个参数是一个ContentValues对象
                        //第三个参数是where字句,不包括where  (?是占位符)
                        db.update("user", values, "id=?", new String[]{"1"});
                }
                
        }
        
        class QueryListener implements OnClickListener{

                @Override
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                        System.out.println("QueryListener");
                        //得到一个可写的SQLiteDatabase对象
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this,"test_an_db");
                        SQLiteDatabase db=dbHelper.getReadableDatabase();
                        Cursor cursor=db.query("user", new String[]{"id","name"},"id=?",new String[]{"1"},null, null, null);
                        while(cursor.moveToNext()){
                                String name=cursor.getString(cursor.getColumnIndex("name"));
                                
                                System.out.println("query--->"+name);
                        }
                }
                
        }
        
        class DeleteListener implements OnClickListener{

                @Override
                public void onClick(View arg0) {
                        // TODO Auto-generated method stub
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this,"test_an_db");
                        SQLiteDatabase db=dbHelper.getWritableDatabase();
                        db.delete("user", "id=?", new String[]{"1"});
                        System.out.println("删除了:id=1");
                }
                
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.sqlite, menu);
                return true;
        }

}


-------------------------------------------------------------------------
package an.sqlite3.db;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

//DatabaseHelper作为一个访问SQLite的助手类,提供两个方面的功能
//第一,getReadableDatabase(),getWritableDatabase()可以获得SQLiteDatabase对象,通过该对象才可以对数据库进行操作
//第二,提供了onCreate()和onUpgrade()两个回调函数,允许我们在创建和升级数据库时,进行自己的操作

public class DatabaseHelper extends SQLiteOpenHelper {

        private static final int VERSION=1;
        //在SQLiteOpenHelper的子类中,必须有该构造函数
        public DatabaseHelper(Context context, String name, CursorFactory factory,
                        int version) {
                //必须通过super调用父类中的构造函数
                super(context, name, factory, version);
                // TODO Auto-generated constructor stub
        }
        
        //调用了下面三个参数的构造函数
        public DatabaseHelper(Context context,String name){
                this(context,name,VERSION);
        }
        
//        调用了第一个四个参数的构造函数
        public DatabaseHelper(Context context,String name,int version){
                this(context,name,null,VERSION);
        }
        
        //该函数是在第一次创建数据库的时候执行, 实际上是在第一次得到SQLiteDatabase对象的时候,才会调用这个方法
        @Override
        public void onCreate(SQLiteDatabase db) {
                // TODO Auto-generated method stub
                System.out.println("create a Database");
                //execSQL函数用于执行SQL语句  (回调函数)
                db.execSQL("create table user(id int,name varchar(20))");
        }
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
                // TODO Auto-generated method stub
                System.out.println("update a Database");
        }

        
}
查看:  194 | 回复:  0
打印  上一主题  下一主题
收起左侧

[Android实例] 初学者的sqlite操作android数据库 

[复制链接]

18

主题

33

帖子

604

e币
跳转到指定楼层
楼主
  发表于 2014-11-9 00:04:28  |  只看该作者  回帖奖励
package an.sqlite1;

import an.sqlite3.db.DatabaseHelper;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class SQLiteActivity extends Activity {

        private Button createDatabase;
        private Button updateDatabase;
        private Button insert;
        private Button update;
        private Button query;
        private Button delete;
        private Button deleteTable;
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                
                createDatabase=(Button)findViewById(R.id.createDatabase);
                createDatabase.setOnClickListener(new CreateListener());
                updateDatabase=(Button)findViewById(R.id.updateDatabase);
                updateDatabase.setOnClickListener(new UpdateListener());
                insert=(Button)findViewById(R.id.insert);
                insert.setOnClickListener(new InsertListener());
                update=(Button)findViewById(R.id.update);
                update.setOnClickListener(new UpdateRecordListener());
                query=(Button)findViewById(R.id.query);
                query.setOnClickListener(new QueryListener());
                delete=(Button)findViewById(R.id.delete);
                delete.setOnClickListener(new DeleteListener());
                deleteTable=(Button)findViewById(R.id.deleteTable);
                deleteTable.setOnClickListener(new DeleteTableListener());
        }
        
        class CreateListener implements OnClickListener{

                @Override
                public void onClick(View arg0) {
                        // TODO Auto-generated method stub
                        //创建一个DatabaseHelper对象
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this,"test_an_db");
                        //只有调用DatabaseHelper对象的getReadableDatabase()方法,或者是getWritableDatabase()方法,或者是getWritableDatabase()方法之后,才会创建数据库对象
                        SQLiteDatabase db=dbHelper.getReadableDatabase();
                }
                
        }
        
        class UpdateListener implements OnClickListener{

                @Override
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this,"test_an_db",2);
                        SQLiteDatabase db=dbHelper.getReadableDatabase();
                }
                
        }
        
        class DeleteTableListener implements OnClickListener{

                @Override
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this, "test_an_db");
                        SQLiteDatabase db=dbHelper.getReadableDatabase();
                        db.execSQL("DROP TABLE IF exists test_an_db");
                        System.out.println("删除了test_an_db表");
                }
                
        }
        
        class InsertListener implements OnClickListener{

                @Override
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                        System.out.println("InsertListener");
                        //生成ContentValues对象,对数据库写操作
                        ContentValues values=new ContentValues();
                        //想该对象当中插入键值对,其中键是列名,值必须
                        values.put("id", 1);
                        values.put("name", "zhangsan");
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this, "test_an_db");
                        SQLiteDatabase db=dbHelper.getWritableDatabase();
                        //调用insert方法,就可以将数据插入到数据库当中
                        db.insert("user", null, values);                        
                }
                
        }
        
        //更新操作就想当用与SQL语句中的update语句
        //update table set xxx=xx where x=xxxx
        class UpdateRecordListener implements OnClickListener{

                @Override
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                        System.out.println("UpdateRecordListener");
                        //得到一个可写的SQLiteDatabase对象
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this,"test_an_db");
                        SQLiteDatabase db=dbHelper.getWritableDatabase();
                        ContentValues values=new ContentValues();
                        values.put("name", "zhangsanfeng");
                        //第一个参数是要更新的表名,
                        //第二个参数是一个ContentValues对象
                        //第三个参数是where字句,不包括where  (?是占位符)
                        db.update("user", values, "id=?", new String[]{"1"});
                }
                
        }
        
        class QueryListener implements OnClickListener{

                @Override
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                        System.out.println("QueryListener");
                        //得到一个可写的SQLiteDatabase对象
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this,"test_an_db");
                        SQLiteDatabase db=dbHelper.getReadableDatabase();
                        Cursor cursor=db.query("user", new String[]{"id","name"},"id=?",new String[]{"1"},null, null, null);
                        while(cursor.moveToNext()){
                                String name=cursor.getString(cursor.getColumnIndex("name"));
                                
                                System.out.println("query--->"+name);
                        }
                }
                
        }
        
        class DeleteListener implements OnClickListener{

                @Override
                public void onClick(View arg0) {
                        // TODO Auto-generated method stub
                        DatabaseHelper dbHelper=new DatabaseHelper(SQLiteActivity.this,"test_an_db");
                        SQLiteDatabase db=dbHelper.getWritableDatabase();
                        db.delete("user", "id=?", new String[]{"1"});
                        System.out.println("删除了:id=1");
                }
                
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.sqlite, menu);
                return true;
        }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值