您的位置:首页 > 移动开发 > Android开发

Android Sqlite数据库增删改查操作

2015-08-10 17:46 501 查看
在Android中用的是Sqlite数据库,Sqlite数据库数据相对简单容易。一般用在移动终端。下面我们来创建一个contacts数据库,并对它执行增删改查的基本操作。Sqlite数据库的创建要利用SQLiteOpenHelper这个类。如下:

public
class ContactSqliteHelper extends SQLiteOpenHelper {

    /**

     * 数据库的名称 数据库查询的结果集 数据库的版本

     * @param context

     */

    public ContactSqliteHelper(Context context) {

        super(context, "contacts.db", null, 1);

    }

    /**

     * 数据库第一次被创建使用的方法

     */

    @Override

    public void onCreate(SQLiteDatabase db) {

        db.execSQL("create table contacts (id integer primary key autoincrement,name varchar(20),number varchar(20))");

    }

    /**

     * 数据库的更新方法

     */

    @Override

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        // TODO Auto-generated method stub

    }

}

下面创建一个数据库的工具类,实现增删改查的四个方法:

public
class DatabaseUtils {

    private ContactSqliteHelper helper = null;

    

    public DatabaseUtils(ContactSqliteHelper helper){

        this.helper =helper;

    }

    

    /**

     * 增加操作

     * @param name

     * @param number

     */

    public void add(String name,String number){

        SQLiteDatabase db = helper.getWritableDatabase();

        db.execSQL("insert into contacts(name,number) values(?,?)",new Object[]{name,number});

        db.close();

    }

    

    /**

     * 查找操作

     * @param name

     * @return

     */

    public boolean find(String name){

        SQLiteDatabase db = helper.getWritableDatabase();

        Cursor cursor = db.rawQuery("select * from contacts where name=?", new String[]{name});

        boolean result = cursor.moveToNext();

        

        db.close();

        return result;

    }

    

    /**

     * 删除操作

     * @param name

     */

    public void delete(String name){

        SQLiteDatabase db = helper.getWritableDatabase();

        db.execSQL("delete from contacts where name=?",new Object[]{name});

        
4000
db.close();

    }

    

    /**

     * 更新操作

     * @param name

     * @param newnumber

     */

    public void update(String name,String newnumber){

        SQLiteDatabase db = helper.getWritableDatabase();

        db.execSQL("update contacts set number=?where name=?",new Object[]{newnumber,name});

        db.close();

        

    }

}

在MainActivity中有四个按钮,分别实现点击事件。代码如下:

public
class MainActivity extends Activity {

    ContactSqliteHelper helper = null;

    DatabaseUtils utils;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        helper = new ContactSqliteHelper(this);

        // 数据库被创建

        helper.getWritableDatabase();

        utils = new DatabaseUtils(helper);

    }

    /**

     * 增加操作

     *

     * @param view

     */

    public void insert(View view) {

        utils.add("小红", "10086");

        utils.add("小明", "12345");

        utils.add("小亮", "21147");

    }

    /**

     * 删除操作

     *

     * @param view

     */

    public void delete(View view) {

        utils.delete("小红");

    }

    /**

     * 查询操作

     *

     * @param view

     */

    public void search(View view) {

        boolean number = utils.find("小亮");

    }

    /**

     * 更新操作

     *

     * @param view

     */

    public void update(View view) {

        utils.update("小明", "44944");

    }

}

布局文件如图:



利用linux终端来看下结果:



注:com.example.db为这个apk的包名,有时在
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: