根据第2章,删除数据库中的数据,实际调用SQLiteDatabase的delete()方法
布局文件:delete_userdata_dialog.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="10px"
>
<LinearLayout
android:id="@+id/linearlayout_input_userid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:id="@+id/userid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="input id:" />
<EditText
android:id="@+id/input_useid"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:numeric="integer" />
</LinearLayout>
<Button
android:id="@+id/input_userid_commit"
android:layout_below="@id/linearlayout_input_userid"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="commit"/>
</RelativeLayout>
并在AndroidManifest.xml配置文件,修改theme = “@android:style/Theme.Dialog”
Activity: 上代码:
package com.example.listviewdatabase;
import android.app.Activity;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class DeleteUserDataDialog extends Activity {
private Button commit = null;
private EditText input_userid = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.delete_userdata_dialog);
commit = (Button) findViewById(R.id.input_userid_commit);
commit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
input_userid = (EditText) findViewById(R.id.input_useid);
int user_id = Integer.parseInt(input_userid.getText()
.toString());
DataBaseHelper dbh = new DataBaseHelper(
DeleteUserDataDialog.this, null);
SQLiteDatabase db = dbh.getWritableDatabase();
dbh.deleteUserDataToDataBase(db, user_id);
db.close();
dbh.close();
DeleteUserDataDialog.this.finish();
}
});
}
}
其中DataBaseHelper中delete()函数
public void deleteUserDataToDataBase(SQLiteDatabase db,int id){
Log.i(TAG, "id = "+id);
String[] args = {String.valueOf(id)};
db.delete(TABLE_NAME, "_id=?", args); // _id是表中列,args不能写成 new String[]{"id"}
}
此文章是本人学习笔记,能力有限,相互学习,欢迎点评,谢谢...