安卓增删改查总结Word格式文档下载.docx
《安卓增删改查总结Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《安卓增删改查总结Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
privateButtonqueryButton;
privateButtondeleteButton;
privateButtonupdateButton;
privateListViewlistView;
privateEditTextnameEditText;
privateEditTextpasswordEditText;
privateTextViewtv1;
privateTextViewtv2;
privateSimpleCursorAdapteradapter;
privateintcurrentId;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DBHelperdbHelper=newDBHelper(this);
//在执行了getWritableDatabase的时候才会创建数据库
db=dbHelper.getWritableDatabase();
insertButton=(Button)findViewById(R.id.insertButton);
insertButton.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewarg0){
insertUserInfo();
}
});
queryButton=(Button)findViewById(R.id.queryButton);
queryButton.setOnClickListener(newView.OnClickListener(){
publicvoidonClick(Viewv){
queryAllUserInfos();
deleteButton=(Button)findViewById(R.id.deleteButton);
deleteButton.setOnClickListener(newView.OnClickListener(){
deleteUserInfo();
updateButton=(Button)findViewById(R.id.updateButton);
updateButton.setOnClickListener(newView.OnClickListener(){
updateUserInfo();
listView=(ListView)findViewById(R.id.listView);
listView.setOnItemClickListener(newAdapterView.OnItemClickListener(){
publicvoidonItemClick(AdapterView<
?
>
adapter,Viewview,
intposition,
longitemId){
Cursorcursor=(Cursor)adapter.getItemAtPosition(position);
intid=cursor.getInt(cursor.getColumnIndex("
_id"
));
Stringname=cursor.getString(cursor
.getColumnIndex("
username"
Stringpassword=cursor.getString(cursor
password"
currentId=id;
//nameEditText.setText(name);
//passwordEditText.setText(password);
tv1=(TextView)view.findViewById(R.id.textView1);
tv2=(TextView)view.findViewById(R.id.textView2);
tv1.setText(name);
tv2.setText(password);
nameEditText=(EditText)findViewById(R.id.nameEditText);
passwordEditText=(EditText)findViewById(R.id.passwordEditText);
}
publicvoiddeleteUserInfo(){
db.delete("
m_userinfo"
"
_id=?
"
newString[]{String.valueOf(currentId)});
Toast.makeText(this,"
Deleteid"
+currentId,Toast.LENGTH_SHORT)
.show();
publicvoidupdateUserInfo(){
Stringname=nameEditText.getText().toString();
Stringpassword=passwordEditText.getText().toString();
ContentValuescontentValues=newContentValues();
contentValues.put("
name);
password);
db.update("
contentValues,"
Updateid"
publicvoidinsertUserInfo(){
//设置数据库的null数值
//contentValues.putNull("
);
//如果我们不添加nullColumnHack的话,那么我们的sql语句最终的结果将会类似insertinto
//tableName()values();
//这显然是不允许的。
而如果我们添加上nullColumnHack呢,
//sql将会变成这样,insertintotableName
//(nullColumnHack)values(null);
这样很显然就是可以的。
longrowId=db.insert("
null,contentValues);
insertrowId"
+rowId,Toast.LENGTH_SHORT)
nameEditText.setText(null);
passwordEditText.setText(null);
currentId=-1;
publicvoidqueryAllUserInfos(){
//columns如果是null,则返回所有的列
Cursorcursor=db.query("
null,null,null,null,null,
null);
//按username排序
//Cursorcursor=db.query("
//"
//加搜索条件
null,"
usernamelike?
new
//String[]{"
%p%"
},null,null,"
Log.d(TAG,"
Cursor"
+cursor);
//adapter=newSimpleCursorAdapter(this,
//android.R.layout.simple_list_item_2,cursor,newString[]{
//"
},newint[]{
//android.R.id.text1,android.R.id.text2});
adapter=newSimpleCursorAdapter(this,
R.layout.sss,cursor,newString[]{
"
R.id.textView1,R.id.textView2});
listView.setAdapter(adapter);
//
while(cursor.moveToNext()){
//
intid=cursor.getInt(0);
//Stringusername=cursor.getString
(1);
Stringusername=cursor.getString(cursor
.getColumnIndex("
Stringpassword=cursor.getString(cursor
Log.d(TAG,"
id"
+id+"
username"
+username+"
password"
+password);
}
protectedvoidonDestroy(){
db.close();
super.onDestroy();
}
Sqlhelp:
importandroid.content.Context;
importandroid.database.sqlite.SQLiteCursorDriver;
importandroid.database.sqlite.SQLiteQuery;
importandroid.database.sqlite.SQLiteDatabase.CursorFactory;
importandroid.database.sqlite.SQLiteOpenHelper;
publicclassDBHelperextendsSQLiteOpenHelper
{
publicstaticfinalStringTAG="
publicstaticfinalStringDB_NAME="
mydb.db"
publicstaticfinalintVERSION=1;
publicDBHelper(Contextcontext)
{
//super(context,DB_NAME,null,VERSION);
super(context,DB_NAME,null,VERSION);
@Override
publicvoidonCreate(SQLiteDatabasedb){
Log.d(TAG,"
Databaseoncreate"
Stringsql="
CREATETABLEm_userinfo(_idINTEGERPRIMARYKEYAUTOINCREMENT,usernameVARCHAR(256),passwordVARCHAR(256))"
db.execSQL(sql);
publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion)
Databaseonupgradeoldversion"
+oldVersion+"
newversion"
+newVersion);
Xml:
<
LinearLayoutxmlns:
android="
xmlns:
tools="
android:
layout_width="
match_parent"
layout_height="
orientation="
vertical"
tools:
context="
.MainActivity"
>
<
LinearLayout
fill_parent"
wrap_content"
EditText
id="
@+id/nameEditText"
0dp"
layout_weight="
1"
hint="
name"
/EditText>
@+id/passwordEditText"
/LinearLayout>
Button
@+id/insertButton"
text="
Insert"
/>
@+id/queryButton"
Query"
@+id/deleteButton"
Delete"
@+id/updateButton"
Update"
ListView
@+id/listView"
/ListView>