安卓学习笔记——SQLite

本段代码摘自施威铭编著《Android APP 开发入门》,已实际运行,没有问题
//MainActivity.java
package com.example.dell.ch15_hellosqlite;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
    static final String db_name = "testDB";    //数据库名称
    static final String tb_name = "test";    //数据库表名
    SQLiteDatabase db;    //数据库对象
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //打开或创建数据库
        db = openOrCreateDatabase(db_name, Context.MODE_PRIVATE,null);
        String createTable = "CREATE TABLE IF NOT EXISTS " +
                tb_name +
                "(name VARCHAR(32)," +
                "phone VARCHAR(16),"+
                "email VARCHAR(64))";
        db.execSQL(createTable);

        Cursor c = db.rawQuery("select * from " + tb_name, null);
        if(c.getCount() == 0){    //若无数据,则立即新增两项数据
            //调用自定义的addData方法写入两组数据
            addData("Flag Publishing Co.","02-23963257","service@flag.com.tw");
            addData("PCDIY Magazine","02-23214335","service@pcdiy.com.tw");
            c = db.rawQuery("select * from " + tb_name, null);
        }

        String str = "";
        if(c.moveToFirst()){
            str = "总共有 "+ c.getCount() + "项数据\n";
            str += "------\n";
        }

        do{
            str+="name:"+c.getString(0)+"\n";
            str+="phone:"+c.getString(1)+"\n";
            str+="email:"+c.getString(2)+"\n";
            str+= "------\n";
        }while(c.moveToNext());

        TextView txv = (TextView)findViewById(R.id.txv);
        txv.setText(str + "数据库文件路径:"+db.getPath() + "\n" +
                "数据库分页大小:" + db.getPageSize() + "Bytes\n");
        db.close();

    }

    private void addData(String name,String phone,String email){
        ContentValues cv = new ContentValues(3);    //创建含3个数据项的对象

        cv.put("name",name);
        cv.put("phone",phone);
        cv.put("email",email);

        db.insert(tb_name,null,cv);    //将数据加到数据表
    }

}

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值