标签:content sqli java 自动 src cti sdn 自己 abstract
Android 提供的?SQLiteOpenHelper.java 是一个抽象类。那么我们要使用它,必须自己写一个类来继承它,为了达到见名知意的目的习惯上,我们创建的都是DatabaseHelper.java或者简写DBHelper.java,这个无所谓,你创建成1234.java都行。
这一行规定死了,只能是这样的。
????? ?接下来需要写一个带全部参数的DBHelper类的构造函数,以后生成数据库对象的时候要用到:
构造函数完事之后,写继承的抽象类SQLiteOpenHelper中的两个抽象方法:
上面的代码有两个问题,问题1.为什么onUpgrade()方法是空的?答案:因为它是抽象方法,必须被继承,但我为了达到极简的目的又没有用到它,一方面必须重写,一方面没有用到,所以就是一个空方法在这摆着样子了。问题2.为什么只重写这两个方法,其他的方法呢?
答案:因为SQLiteOpenHelper.java中,只有这两个方法是抽象方法,你不信?我给你看看源码。(在AndroidStudio中我们按住Ctrl同时鼠标单击SQLiteOpenHelper就能进入它的源码中,在源码界面按住Ctrl+F 就能调出搜索框,输入abstract,点击向下箭头↓ 查找匹配项)
接下来看MainActivity.java文件中的代码,其中只有两部分代码。
第一句代码中,创建Activity时会自动生成
界面控件id绑定初始化代码(将此方法放在OnCreate()函数内)
接下来是点击方法,绑定控件的点击事件
1.生成EditText对象,用来获取文本输入框中用户输入的内容
就像这样:EditText insert_edittext = (EditText)findViewById(R.id.insert_edittext);
2.创建数据库,这里我们给数据库起名为“dbtest”,数据库版本号为1,代码如下:
使用switch--case进行判断
3.响应增、删、改、查四个按钮点击时触发的操作
①增:插入数据,首先需要new一个ContentValues,内容值对象。所谓的内容值,就是一个K,V 键值对,K指明字段名称即列名称,V指明字段值,即单元格内容。然后将这个键值对放到ContentValues的对象values里面,再把携带着键值对的对象values插入user表中,代码如下:
②删:删除数据,这里不需要生成ContentValues对象,直接从表user中delete符合要求的内容即可,代码如下:
③改:更新数据,这里和插入数据类似,需要new一个ContentValues对象,然后放入数据,执行update,代码如下:
④查:查询全部数据,这里使用了Cursor游标进行查询,游历数据同时,把数据用换行符\n连接起来,再把所有数据展示到文本显示框内,代码如下:
下面是APP显示界面
我们需要将可点击的button的onclick属性都绑定到onClick方法。
————————————————
版权声明:本文为CSDN博主「midnight_time」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/midnight_time/java/article/details/80834198
标签:content sqli java 自动 src cti sdn 自己 abstract
原文地址:https://www.cnblogs.com/midhuhu/p/13360705.html