android程序显示mysql数据库表_Android数据库操作_表格显示

packagecom.example.gird;importandroid.app.Activity;importandroid.app.AlertDialog;importandroid.content.ContentValues;importandroid.content.Context;importandroid.content.DialogInterface;importandroid.content.DialogInterface.OnClickListener;importandroid.database.Cursor;importandroid.database.sqlite.SQLiteCursor;importandroid.database.sqlite.SQLiteDatabase;importandroid.os.Bundle;importandroid.util.Log;importandroid.view.LayoutInflater;importandroid.view.View;importandroid.view.ViewGroup;importandroid.widget.AdapterView;importandroid.widget.AdapterView.OnItemLongClickListener;importandroid.widget.EditText;importandroid.widget.ListAdapter;importandroid.widget.ListView;importandroid.widget.TextView;public class GridActivity extendsActivity {public int DB_VERSION = 1;

SQLiteDatabase db;//DbHelper类在DbHelper.java文件里面创建的

ListView lv;

@Overridepublic voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.main);//建立打开数据库

db = openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null);

db.execSQL("DROP TABLE IF EXISTS person");//创建person表

db.execSQL("CREATE TABLE person (_id INTEGER PRIMARY KEY AUTOINCREMENT, name VARCHAR, age SMALLINT)");//插入数据

for (int i = 0; i < 20; i++) {

Person person= newPerson();

person.name= "john" +i;

person.age= 30 -i;

db.execSQL("INSERT INTO person VALUES (NULL, ?, ?)", newObject[] {

person.name, person.age });

}

lv=(ListView) findViewById(R.id.lv);

updatelistview();//添加一个长按事件

lv.setOnItemLongClickListener(newOnItemLongClickListener() {

@Overridepublic boolean onItemLongClick(AdapterView>parent, View view,final int position, longid) {//实例化一个弹出框

new AlertDialog.Builder(GridActivity.this)

.setTitle("选择操作")

.setItems(new String[] { "更新", "删除", "取消"},//为弹出框上的选项添加事件

newOnClickListener() {

@Overridepublic voidonClick(DialogInterface dialog,intwhich) {switch(which) {//表示更新内容

case 0:

LayoutInflater inflater=getLayoutInflater();//自定义一个弹出口布局

final View layout =inflater

.inflate(

R.layout.dialog,

(ViewGroup) findViewById(R.id.dialog));

EditText nameTxt=(EditText) layout

.findViewById(R.id.editText1);

TextView ageTxt=(EditText) layout

.findViewById(R.id.editText2);

SQLiteCursor s_old=(SQLiteCursor) lv

.getItemAtPosition(position);final int _id_old =s_old.getInt(s_old

.getColumnIndex("_id"));final String name_old =s_old.getString(s_old

.getColumnIndex("name"));final String age_old =s_old.getString(s_old

.getColumnIndex("age"));

nameTxt.setText(name_old);

ageTxt.setText(age_old);newAlertDialog.Builder(

GridActivity.this)

.setTitle("更新")

.setView(layout)

.setPositiveButton("确定",newOnClickListener() {

@Overridepublic voidonClick(

DialogInterface dialog,intwhich) {

ContentValues cv= newContentValues();

String temp_name=((EditText) layout

.findViewById(R.id.editText1))

.getText()

.toString();

String temp_age=((EditText) layout

.findViewById(R.id.editText2))

.getText()

.toString();

cv.put("_id",

_id_old);

cv.put("name",

temp_name);

cv.put("age",

temp_age);

String[] id_index={ String

.valueOf(_id_old) };

db.update("person",

cv,"_id=?",

id_index);

updatelistview();

}

})

.setNegativeButton("取消",null).show();break;//删除记录

case 1://getItemAtPosition()得到一个item里的数据

SQLiteCursor s =(SQLiteCursor) lv

.getItemAtPosition(position);final int _id =s.getInt(s

.getColumnIndex("_id"));

String name=s.getString(s

.getColumnIndex("name"));

Log.i("id ::", _id + "");newAlertDialog.Builder(

GridActivity.this)

.setTitle("确定删除" +name+ "吗?")

.setPositiveButton("确定",newOnClickListener() {

@Overridepublic voidonClick(

DialogInterface dialog,intwhich) {

db.execSQL("delete from person where _id =?",newInteger[] { _id });

updatelistview();

}

})

.setNegativeButton("取消",newOnClickListener() {

@Overridepublic voidonClick(

DialogInterface dialog,intwhich) {

}

}).show();break;//取消操作

case 2:break;

}

}

}).show();return false;

}

});

}//更新listview

public voidupdatelistview() {

Cursor cr= db.query("person", null, null, null, null, null, null);

String id= cr.getColumnName(0);

String name= cr.getColumnName(1);

String age= cr.getColumnName(2);

String[] ColumnNames={ id, name, age };

ListAdapter adapter= new MySimpleCursorAdapter(this,

R.layout.listviewlayout, cr, ColumnNames,new int[] { R.id.id,

R.id.name, R.id.age });

lv.setAdapter(adapter);

}

@Overrideprotected voidonPause() {

onDestroy();

Log.i("message", "数据库连接销毁");super.onPause();

}

@Overrideprotected void onDestroy() {//关闭数据库

super.onDestroy();if (db != null) {

db.close();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值