android学习笔记之SQLite的简单使用

项目结构

一个主活动+一个SQLite工具类


工具类,SQLiteOpenHepler这是android提供的帮助类,但是是抽象类,我们只需继承他就好了。

注意。实现它的两个方法还是报红,那是因为没有构造方法。其中有两个构造方法可重写,一般用参数少一点的就可以了。

参数二是 数据库名  参数三传null 就好    参数四版本号 

public class MyDBHelper extends SQLiteOpenHelper {
        //sql语句
        public static  String CREATE_Book="create table Book("
                +"id integer primary key ,"
                +"author text,"
                +"name text)";
        private  Context mContext;
        public MyDBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
            super(context, name, factory, version);
            this.mContext=context;
        }

        @Override
        public void onCreate(SQLiteDatabase db) {
            db.execSQL(CREATE_Book);//执行sql语句
        }

        /**
         * 数据库版本升级用
         * @param db
         * @param oldVersion
         * @param newVersion
         */
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

        }
}
MainActivity

注意这里用到了getwritableDatabase方法。这是sqlitehepler两个实例方法之一。用来创建或则打开一个数据库(已存在就打开),返回一个对数据库操作的对象

public class MainActivity extends AppCompatActivity {
    TextView tv_createTable;
    MyDBHelper myDBHelper;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //创建sqlite操作对象
        myDBHelper=new MyDBHelper(this,"data",null,1);
        tv_createTable= (TextView) findViewById(R.id.tv_createTable);
        tv_createTable.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                /**
                 * 创建或则打开数据库(如果数据库存在,则直接打开)
                 */
                Log.i("aaa","aaa");
                 myDBHelper.getWritableDatabase();
            }
        });
    }
}
常见问题

1,没有添加权限,

android:name="android.permission.WRITE_EXTERNAL_STORAGE">
2.sql语句出错。


程序执行完之后,

打开cmd 查看数据库建好了没 执行adb shell  

注意:这里需要配置环境变量。 否则提示找不到命令


然后进入 data/data/你程序的包名/databases/

输入 ls 查询,会报没有权限。

这里前提是手机要root  然后直接执行su获取权限


这里列出数据库的列表。其中有一个是自动生成的不用。data就是我以上代码创建的数据库了

本文纯属学习笔记用。能帮到和我一样的新手最好了。

你可能感兴趣的:(Android学习笔记)