import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
public class SQLiteDatabaseHelper extends SQLiteOpenHelper {
public SQLiteDatabaseHelper(Context context, String name,
CursorFactory factory, int version) {
super(context, name, factory, version);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("CREATE TABLE sx(id INTEGER PRIMARY KEY AUTOINCREMENT,name varchar(20),sex varchar(20))");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}
}
增删改查
package com.bawei.day3_sql;
import java.util.ArrayList;
import java.util.List;
import com.bawei.adapter.MyAdapter;
import com.bawei.openthelper.SQLiteDatabaseHelper;
import com.bawei.vo.SxVo;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnClickListener;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends Activity {
private Button bt;
private ListView lv;
private SQLiteDatabaseHelper sqlh;
private SQLiteDatabase sqld;
private Button bt1;
private EditText et_name;
private MyAdapter adapter;
private List<SxVo> list;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt = (Button) findViewById(R.id.bt);
bt1 = (Button) findViewById(R.id.bt1);
et_name = (EditText) findViewById(R.id.et_name);
lv = (ListView) findViewById(R.id.lv);
sqlh = new SQLiteDatabaseHelper(MainActivity.this, "1403b.db", null, 1);
sqld = sqlh.getWritableDatabase();
cha();
registerForContextMenu(lv);
bt.setOnClickListener(new OnClickListener() {
private AlertDialog.Builder blb;
private View view;
public void onClick(View v) {
blb = new Builder(MainActivity.this);
blb.setTitle("添加用户");
view = View.inflate(MainActivity.this, R.layout.add, null);
blb.setView(view);
blb.setPositiveButton("确认",
new android.content.DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method stub
EditText add_name = (EditText) view
.findViewById(R.id.et_name);
EditText add_sex = (EditText) view
.findViewById(R.id.et_sex);
String name = add_name.getText().toString();
String sex = add_sex.getText().toString();
if (name != null && !"".equals(name)
&& sex != null && !sex.equals("")) {
sqld.execSQL("INSERT INTO sx(name,sex) VALUES('"
+ name + "','" + sex + "')");
cha();
}
}
});
blb.setNegativeButton("取消",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,
int which) {
// TODO Auto-generated method stub
blb.create().cancel();
}
});
blb.create().show();
}
});
bt1.setOnClickListener(new OnClickListener() {
private int a;
@SuppressWarnings("null")
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String str = et_name.getText().toString();
if (str == null && str.equals("")) {
Toast.makeText(MainActivity.this, "输入查询的名字不能为空", 0).show();
} else {
Cursor cursor = sqld.rawQuery(
"SELECT * FROM sx WHERE name='" + str + "'", null);
List<SxVo> list1 = new ArrayList<SxVo>();
while (cursor.moveToNext()) {
String sqlname = cursor.getString(cursor
.getColumnIndex("name"));
String sqlsex = cursor.getString(cursor
.getColumnIndex("sex"));
int id = cursor.getInt(cursor.getColumnIndex("id"));
list1.add(new SxVo(sqlname, sqlsex, id));
}
MyAdapter m = new MyAdapter(MainActivity.this, list1);
lv.setAdapter(m);
}
}
});
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("操作");
menu.add(0, 1, 0, "删除");
menu.add(0, 2, 0, "修改");
menu.setGroupCheckable(0, true, true);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo) item
.getMenuInfo();
final int position = menuInfo.position;
System.out.println("aaaa"+position);
if (item.getItemId() == 1) {
int i = list.get(position).getSqlid();
System.out.println("bbb"+i);
String[] name = { ""+i};
sqld.delete("sx", "id=?", name);
list.remove(position);
} else if (item.getItemId() == 2) {
final AlertDialog.Builder blb = new Builder(MainActivity.this);
blb.setTitle("修改用户");
final View view = View.inflate(MainActivity.this, R.layout.add,
null);
blb.setView(view);
final EditText add_name = (EditText) view
.findViewById(R.id.et_name);
final EditText add_sex = (EditText) view
.findViewById(R.id.et_sex);
add_name.setText(list.get(position).getName());
add_sex.setText(list.get(position).getSex());
blb.setPositiveButton("确认",
new android.content.DialogInterface.OnClickListener() {
@SuppressWarnings("unused")
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
String name = add_name.getText().toString();
String sex = add_sex.getText().toString();
if (name != null && !name.equals("") && sex != null
&& !sex.equals("")) {
ContentValues values=new ContentValues();
values.put("name", name);
values.put("sex",sex);
int i = list.get(position).getSqlid();
String[] i1={""+i};
sqld.update("sx", values, "id=?", i1);
list.get(position).setName(name);
list.get(position).setSex(sex);
adapter.notifyDataSetChanged();
}
}
});
blb.setNegativeButton("取消",
new android.content.DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
blb.create().cancel();
}
});
blb.create().show();
}
adapter.notifyDataSetChanged();
return true;
}
public void cha() {
Cursor cursor = sqld.rawQuery("SELECT * FROM sx", null);
list = new ArrayList<SxVo>();
while (cursor.moveToNext()) {
String sqlname = cursor.getString(cursor.getColumnIndex("name"));
String sqlsex = cursor.getString(cursor.getColumnIndex("sex"));
int id = cursor.getInt(cursor.getColumnIndex("id"));
list.add(new SxVo(sqlname, sqlsex,id ));
}
if (list != null) {
adapter = new MyAdapter(MainActivity.this, list);
lv.setAdapter(adapter);
}
}
}