xutils数据库的使用
‘壹’ android数据库存储,代码创建数据库、表,实现编辑框内输入,点击按钮提交进行存入;从数据库中提
常量类:ConstantUtil
java">publicclassConstantUtil{
//数据库名称
_NAME="user_manager.db";
//数据库版本号
publicstaticfinalintDATABASE_VERSION=1;
//表名
publicstaticfinalStringTABLE_NAME="user_info";
//字段名
publicstaticfinalStringUSER_ID="userId";
publicstaticfinalStringUSER_NAME="username";
publicstaticfinalStringUSER_PASSWORD="password";
publicstaticfinalStringUSER_ADDRESS="address";
}
自定义sqliteOpenHelper:MySQLiteOpenHelper
{
//定义一个SQLiteDatabase对象,对表进行相应的操作
;
publicMySQLiteOpenHelper(Contextcontext){
super(context,ConstantUtil.DATABASE_NAME,null,
ConstantUtil.DATABASE_VERSION);
mDatabase=getWritableDatabase();
}
/*
*创建表
*/
@Override
publicvoidonCreate(SQLiteDatabasedb){
//TODOAuto-generatedmethodstub
//sql语句
Stringsql="createtable"+ConstantUtil.TABLE_NAME+"("
+ConstantUtil.USER_ID+"integerprimarykey,"
+ConstantUtil.USER_NAME+"textnotnull,"
+ConstantUtil.USER_PASSWORD+"textnotnull,"
+ConstantUtil.USER_ADDRESS+"textnotnull)";
db.execSQL(sql);
}
@Override
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){
//TODOAuto-generatedmethodstub
onCreate(db);
}
/**
*添加数据
*@paramcv
*@return
*/
publicbooleaninsertData(ContentValuescv){
returnmDatabase.insert(ConstantUtil.TABLE_NAME,null,cv)>0;
}
/**
*查询所有数据
*@return
*/
publicList<Userinfo>queryData(){
List<Userinfo>userinfos=newArrayList<Userinfo>();
//从数据库里查询数据
Cursorcursor=mDatabase.query(ConstantUtil.TABLE_NAME,null,null,null,null,null,null);
if(cursor!=null){
//取出数据
while(cursor.moveToNext()){
Userinfouserinfo=newUserinfo();
userinfo.setUserId(cursor.getInt(0));
userinfo.setUsername(cursor.getString(1));
userinfo.setPassword(cursor.getString(2));
userinfo.setAddress(cursor.getString(3));
userinfos.add(userinfo);
}
}
returnuserinfos;
}
}
主Activity
{
//控件
privateTextViewtxtName,txtPwd,txtAddress;
privateEditTextedtName,edtPwd,edtAddress;
privateListViewmListView;
//数据库对象
;
privateUserinfoAdapteradapter;
/**.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
findView();
init();
}
privatevoidfindView(){
//TODOAuto-generatedmethodstub
edtName=(EditText)findViewById(R.id.id_edit1);
edtPwd=(EditText)findViewById(R.id.id_edit2);
edtAddress=(EditText)findViewById(R.id.id_edit3);
mListView=(ListView)findViewById(R.id.id_listview);
}
privatevoidinit(){
//TODOAuto-generatedmethodstub
mySQLiteOpenHelper=newMySQLiteOpenHelper(MainActivity.this);
}
publicvoidonAction(Viewv){
switch(v.getId()){
caseR.id.id_btn_add:
//添加数据
StringuserName=edtName.getText().toString();
StringuserPwd=edtPwd.getText().toString();
StringuserAdress=edtAddress.getText().toString();
//传入参数
ContentValuescv=newContentValues();
//列名和值
cv.put(ConstantUtil.USER_NAME,userName);
cv.put(ConstantUtil.USER_PASSWORD,userPwd);
cv.put(ConstantUtil.USER_ADDRESS,userAdress);
//得到结果
booleanflag=mySQLiteOpenHelper.insertData(cv);
if(flag){
Toast.makeText(MainActivity.this,"添加记录成功",Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this,"添加记录失败",Toast.LENGTH_SHORT).show();
}
break;
caseR.id.id_btn_query:
//查询数据
List<Userinfo>userinfos=mySQLiteOpenHelper.queryData();
if(adapter!=null){
adapter=null;
}
adapter=newUserinfoAdapter(userinfos);
mListView.setAdapter(adapter);
break;
default:
break;
}
}
//数据适配器
{
List<Userinfo>userinfos;
publicUserinfoAdapter(List<Userinfo>_userinfos){
this.userinfos=_userinfos;
}
@Override
publicintgetCount(){
//TODOAuto-generatedmethodstub
returnuserinfos.size();
}
@Override
publicObjectgetItem(intposition){
//TODOAuto-generatedmethodstub
returnuserinfos.get(position);
}
@Override
publiclonggetItemId(intposition){
//TODOAuto-generatedmethodstub
returnposition;
}
@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
//TODOAuto-generatedmethodstub
if(convertView==null){
convertView=LayoutInflater.from(MainActivity.this).inflate(R.layout.listview_item,null);
txtName=(TextView)convertView.findViewById(R.id.id_txt_name);
txtPwd=(TextView)convertView.findViewById(R.id.id_txt_pwd);
txtAddress=(TextView)convertView.findViewById(R.id.id_txt_address);
txtName.setText(userinfos.get(position).getUsername());
txtPwd.setText(userinfos.get(position).getPassword());
txtAddress.setText(userinfos.get(position).getAddress());
}
returnconvertView;
}
}
}
完整源码下载地址(附数据库文件查询软件+运行效果图):
‘贰’ 数据库具体是怎么样使用的
我所指的数据有两种,一种是关系数据库,一种是非关系数据库!数据库不是单独使用的,一般和服务器配套使用。服务器实现的途径就多了,对外服务可以使用C#,java语言开发前台。而后台数据由数据库管理,前台向后台提供一定的接口,实现数据的流通!
比如说登录
数据库很简单。不过里边涉及的一些东西比较精细。蛮有用的,能看到数据从哪儿来到哪儿去,希望能够帮到你!不明白的网络hi说!
‘叁’ xutils3和xutils3什么区别
区别如下:
1、数据库方面,两者注解映射不同
xUtils2下 @Table(name="stu",execAfterTableCreated ="" ),而xUtils3下直接是代替了onCreated。
2、数据库创建和查询有改动,但基本还是相同
xutils2中db.findFirst(Selector.from(Parent.class)。where.....而xUtils3中则是db.selector(Parent.class).where(....).findFirst();但是里面基本的条件例如where,whereBuilder等参数还是没变的。
3、网络操作方面不同
xUtils3是直接x.image().bind..或者x.http().post()等取代了http.send(method,url,callback)。
4、视图方面不同
xutils3中@Event()代替了@onClick(),而且下面的private代替了public。