基础部分,具体步骤,没有分层,是自己写在印象笔记里的,俗简勿喷。
有些地方明白意思但是写不好,全是自己的理解,专业名词词汇量不是很足,主要看代码吧。
搭建安卓项目就不废话了,需要一个登录界面,界面的搭建可以从简,通过两个EditText和一个Button即可,登录成功后可能需要一个跳转界面,也可以通过Toa显示。
java文件至少需要两个,一个是页面的,一个是数据库的。
现在开始:
1.创建数据库类SQLiteHelper,继承SQLiteOpenHelper.
1.1 重写构造方法。其中context指使用页面(哪用哪写),name指数据库名称,factory指游标(一般为null),version指数据库版本(为正整数)。
eg:
public SQLiteHelper(Context context, String name, CursorFactory factory,int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
} 1.2参数过于繁多可以进行重载
eg:
public SQLiteHelper(Context context, String name){
super(context,name,null,VSRSION);
} 1.3可以使用 private static int VSRSION = 1;定义版本号,
1.4使用回调函数,在其中使用execSQL和数据库语句创建数据库。
eg:
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL( "CREATE TABLE USER(USERID NUMBER(8,0) PRIMARY KEY ,USERNAME VARCHAR2(20),PASSWORD VARCHAR2(20))");
}
2.搭建登录视图界面,并搭建完成对应的java文件。
3.切换至java文件中
3.0
eg:
private SQLiteHelper dphelper; eg:
private Button btnlogin; 3.1控件实例化
eg:
btnlogin =(Button)findViewById(R.id.bt_login); 3.2数据库实例化
eg:
dphelper =new SQLiteHelper(LoginActivity.this, "mydb" );//(本页面,“定义的数据库名称”) 3.3将按钮绑定监听器
eg:
btnlogin .setOnClickListener(new ViewOCL()); 3.4创建内部类,完成view点击监听
eg:
class ViewOCL implements View.OnClickListener{
SQLiteDatabase db;
@Override
public void onClick (View vi) {
switch(vi.getId()){
case R.id.bt_login :
db= dphelper.getReadableDatabase();//这里我们是测试登录,不作修改删除,所以使用readable
String u=username.getText().toString();//获取EditText控件值
String p=password.getText().toString();
Cursor cur=db.rawQuery("select * from USER where USERNAME=? and PASSWORD=?", new String[]{u,p});
//将控件获取的值与数据库中的进行对比*自己理解去写才看的懂*
if(cur.moveToNext()){
intent=new Intent(LoginActivity.this ,IndexActivity.class);
startActivity( intent);
} else{
Toast. makeText(getApplicationContext(), "用户名或密码错误", Toast.LENGTH_LONG ).show();
}
db.close();
break; 3.5完成其他控件的监听事件
4.在执行过程3的时候因数据库没有值,所以我们需要使用cmd命令行进行数据插入。
4.1运行cmd,输入adb shell,如果正常显示则继续4.2,不能正常显示请看4.1.1
4.1.1输入adb shell,显示“XX不是系统的命令行”,解决方法:找到sdk文件夹,复制其中的platform-tools文件夹路径,然后将路径值输入到环境变量中的path中。
4.1.2输入adb shell,显示“error:device offline”,解决方法:本错误时指虚拟机运行,我们只要将程序进行Run或者打开虚拟机。
4.1.3输入过程中,如果出现命令窗口卡顿,没有反应,可以重启adb或者命令行窗口。
4.2在上一步运行正常后我们可以继续如下操作,如果已经十分熟悉,可以连续操作无需查看。
4.2.1输入cd data(进入目录中的data文件夹),回车。
4.2.2输入cd data(进入目录中的data文件夹,不是重复,而是data文件夹中还有一个叫data的文件夹),回车。
4.2.3输入cd com.xxxx.xxx(这里输入自己的项目包名,如果不记得或者不确定可以输入"ll"查看),回车。
4.2.4输入cd databases(进入自己项目中的数据包),回车。
4.2.5这时我们要保证自己的项目在虚拟机上已经运行到相应界面,只差点一下"登录"按钮的程度。因为要让其运行至调用构造方法,保证数据库已经通过程序自动创建完毕。
这样我们才能通过输入"ll"看到自己的数据库名mydb等。
4.2.6输入sqlite3 mydb回车。可能会有报错,不用管。
4.2.7输入.schema回车,这时如果程序正确,并且运行到了登录页面,我们就能看到自己在数据库类中写的创建数据库表的语句,确保一定的有的情况下继续。
4.2.8直接输入SQL语句(插入数据,方便登录测试):insert into USER(USERID,USERNAME,PASSWORD) values ('01','admin','123');不要忘记分号。
版权声明:本文为Jeowoo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。