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。