本帖最后由 IT_china 于 2016-3-30 15:34 编辑
开发工具Android studio
Android基础demo案例:
注册登录:
第一步:布局一个注册登录的xml文件
第二步:创建一个数据库文件,定义一个类class MyDBOpenHelper继承 SQLiteOpenHelper
然后重写onCreate和onUpgrade方法,在onCreate方法里执行sql语句
public void onCreate(SQLiteDatabase db) {
//执行sql语句
db.execSQL("create table stu (id integer primary key autoincrement,phone varchar(20),pwd varchar(20))");
}
//onCreate方法是当数据库第一次被调用的时候调用的方法,适合表结构的初始化//onUpgrade当数据库更新的时候调用的方法,如果旧的表结构定义的不合理,,进行修改数据
第三步:定义一个数据库访问类class ContactInfoDao(类名自己起就行)//数据库打开的帮助类
private MyDBOpenHelper helper;
//在构造方法里面完成类的初始化
public ContactInfoDao(Context context) {
helper = new MyDBOpenHelper(context);
}
在该类里实现增删改查功能,public boolean add(String phone,String pwd) {
SQLiteDatabase db = helper.getWritableDatabase();
// db.execSQL("insert into stu (name,phone) values (?,?)",new Object[]{name,phone});
ContentValues values = new ContentValues();
values.put("phone",phone);
values.put("pwd",pwd);
//内部是组品sql语句实现的
long rowid = db.insert("stu",null,values);//返回的是一个数据库的行号,-1代表添加失败
//操作完咬记得释放数据库资源
db.close();
if(rowid == -1) {
return false;
}else{
return true;
}
}这里只贴出来增加功能的实现,删除、修改、查找功能具体实现看源码
第四步;定义一个注册登录事件贴出来一个登录功能
//2.写按钮的点击事件
public void login(View view) {
//2.1获取用户名和密码
String phone = et_username.getText().toString().trim();
String pwd = et_password.getText().toString().trim();
//判断name和pwd是否为空
if(TextUtils.isEmpty(phone) || TextUtils.isEmpty(pwd)) {
Toast.makeText(MainActivity.this,"用户名或密码为空",Toast.LENGTH_SHORT).show();
}else {
boolean a = contactInfoDao.getPhoneNumber(phone, pwd);
// boolean b = contactInfoDao.getPwd(pwd);
if(a) {
Toast.makeText(MainActivity.this,"登录成功",Toast.LENGTH_SHORT).show();
//1.声明一个意图对象
Intent intent = new Intent();
//2.指定清单文件中声明的动作
intent.setAction("com.xiaoxin.ui.openWelCome");
//3.指定清单文件中声明的类别
intent.addCategory("android.intent.category.DEFAULT");
//开启界面
startActivity(intent);
}else {
Toast.makeText(MainActivity.this,"账号或密码错误",Toast.LENGTH_SHORT).show();
}
// Toast.makeText(MainActivity.this,"登陆成功",Toast.LENGTH_SHORT).show(); //把用户名和密码存储起来
// boolean result = UserInfoUtils.saveInfo(MainActivity.this,name,pwd);}
}------------------------------这个Demo的背景是动态获取的,定义一个drawables集合,把资源放到集合里面,当时研究到了一晚上就是没有找出bug,实在random方法里面传参的时候,参数大于图片数,哎,数组是从0开始的,所以学知识要学的扎实才行,不然一些小错误就会让一个程序崩溃。------------------------------------------------
源码:链接:http://pan.baidu.com/s/1hsvtSe4 密码:f3bq
|
|