SQlite Android 数据库应用程序系统
package com.example.ex_example_00; import java.util.ArrayList; import android.os.Bundle; import android.preference.PreferenceManager.OnActivityResultListener; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.app.Dialog; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.util.Log; import android.view.ContextMenu; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ContextMenu.ContextMenuInfo; import android.view.View.OnClickListener; import android.view.View.OnCreateContextMenuListener; import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.BaseAdapter; import android.widget.EditText; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { EditText et1; EditText et2; ListView listview; SQLiteDatabase mdb; ArrayList<Student> stulist = new ArrayList<Student>(); int pos; private MyAdaper myAdaper; private Builder builder; private AlertDialog dialog; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.button1).setOnClickListener(this); et1 = (EditText) findViewById(R.id.editText1); et2 = (EditText) findViewById(R.id.editText2); listview = (ListView) findViewById(R.id.listView1); MySQLite mySQLite = new MySQLite(this); mdb = mySQLite.getReadableDatabase(); ChaXhao(); listview.setOnItemLongClickListener(new OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent,View view, int position,long id) { pos = position; listview.showContextMenu(); return true; } }); listview.setOnCreateContextMenuListener(new OnCreateContextMenuListener() { @Override public void onCreateContextMenu(ContextMenu menu,View v, ContextMenuInfo menuInfo) { menu.setHeaderTitle("选项"); menu.add(0,1,"修改"); menu.add(0,2,"删除"); menu.add(0,3,"取消"); } }); } @Override public boolean onContextItemSelected(MenuItem item) { switch (item.getItemId()) { case 1: Intent intent = new Intent(this,SencondActivity.class); intent.putExtra("name",stulist.get(pos).name); intent.putExtra("phone",stulist.get(pos).phone); intent.putExtra("id",stulist.get(pos).id); startActivityForResult(intent,0); break; case 2: showDialog(1); break; case 3: break; default: break; } return super.onContextItemSelected(item); } @Override @Deprecated protected Dialog onCreateDialog(int id) { switch (id) { case 1: builder = new AlertDialog.Builder(this); builder.setTitle("对话框"); builder.setMessage("是否删除"); builder.setPositiveButton("确定",new DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface dialog,int which) { String str = "DELETE FROM student WHERE id = ?"; mdb.execSQL(str,new String[] { stulist.get(pos).id }); ChaXhao(); } } ); builder.setNegativeButton("取消",int which) { Toast.makeText(MainActivity.this,"已经取消",Toast.LENGTH_LONG).show(); } }); dialog = builder.create(); break; default: break; } return dialog; } @Override protected void onActivityResult(int requestCode,int resultCode,Intent data) { switch (resultCode) { case 1: String name = data.getStringExtra("isname"); String phone = data.getStringExtra("isphone"); String id = data.getStringExtra("isid"); String sql = "UPDATE student SET name = ?,phone = ? WHERE id = ? "; mdb.execSQL(sql,new String[] { name,phone,id }); ChaXhao(); break; case 2: break; default: break; } super.onActivityResult(requestCode,resultCode,data); } class MyAdaper extends BaseAdapter { @Override public int getCount() { // TODO Auto-generated method stub return stulist.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView(int position,View convertView,ViewGroup parent) { Log.e("=================================","" + position); Student student = stulist.get(position); LayoutInflater layoutInflater = getLayoutInflater(); View inflate = layoutInflater.inflate(R.layout.itemp,null); TextView textview = (TextView) inflate.findViewById(R.id.textView1); textview.setText(student.name + "," + student.phone); return inflate; } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main,menu); return true; } @Override public void onClick(View v) { switch (v.getId()) { case R.id.button1: btn_01(); break; default: break; } } void ChaXhao() { stulist.clear(); String str = "SELECT * FROM student"; Cursor cursor = mdb.rawQuery(str,null); boolean toFirst = cursor.moveToFirst(); while (toFirst) { int name_index = cursor.getColumnIndex("name"); int phone_index = cursor.getColumnIndex("phone"); int id_index = cursor.getColumnIndex("id"); String name = cursor.getString(name_index); String phone = cursor.getString(phone_index); String id = cursor.getString(id_index); stulist.add(new Student(name,id)); toFirst = cursor.moveToNext(); } myAdaper = new MyAdaper(); listview.setAdapter(myAdaper); } private void btn_01() { String str = "insert into student(name,phone)values(?,?);"; String name = et1.getText().toString(); String phone = et2.getText().toString(); mdb.execSQL(str,phone }); // stulist.add(new Student(name,phone)); // myAdaper.notifyDataSetChanged(); ChaXhao(); } class Student { String name; String phone; String id; // public Student(String name,String phone) { // super(); // this.name = name; // this.phone = phone; // } public Student(String name,String phone,String id) { this.name = name; this.phone = phone; this.id = id; } @Override public String toString() { return "Student [name=" + name + ",phone=" + phone + "]"; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |