创建数据库帮助类DbHelper.java:

package com.example.db;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteDatabase.CursorFactory;import android.database.sqlite.SQLiteOpenHelper;public class DbHelper extends SQLiteOpenHelper {public DbHelper(Context context, String name, CursorFactory factory,int version) {super(context, name, factory, version);// TODO Auto-generated constructor stub}@Overridepublic void onCreate(SQLiteDatabase db) {db.execSQL("create table if not exists tb_people"+"(_id integer primary key autoincrement,"+"name varchar(20),"+"phone varchar(12),"+"mobile varchar(12),"+"email varchar(30))");}@Overridepublic void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {// TODO Auto-generated method stub}}

主布局文件:

ch9_sqlmain.xml

<?xml version="1.0" encoding="utf-8"?>                                                        

编写ListView的Item显示布局文件ch9_peoplelist.xml:

<?xml version="1.0" encoding="utf-8"?>                        

主活动类SqlMainActivity.java:

package com.example.ch9;import com.example.baseexample.R;import com.example.db.DbHelper;import android.app.Activity;import android.content.Intent;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.ContextMenu;import android.view.ContextMenu.ContextMenuInfo;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.AdapterView.AdapterContextMenuInfo;import android.widget.ListView;import android.widget.SimpleCursorAdapter;import android.widget.TextView;public class SqlMainActivity extends Activity {private ListView list_people;private DbHelper dbhelper;private SQLiteDatabase db;public void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.ch9_sqlmain);list_people = (ListView)findViewById(R.id.list_people);dbhelper = new DbHelper(this, "Db_People", null, 1);db = dbhelper.getReadableDatabase();Cursor c = db.query("tb_people", new String[]{"_id","name","phone","mobile","email"}, null, null, null, null, null);SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.ch9_peoplelist, c, new String[]{"_id","name","phone","mobile","email"}, new int[]{R.id.id,R.id.name,R.id.phone,R.id.mobile,R.id.email});this.list_people.setAdapter(adapter);this.registerForContextMenu(list_people);}public boolean onCreateOptionsMenu(Menu menu){menu.add(Menu.NONE,Menu.FIRST+1,1,"添加").setIcon(android.R.drawable.ic_menu_add);menu.add(Menu.NONE,Menu.FIRST+1,2,"退出").setIcon(android.R.drawable.ic_menu_delete);return true;}public boolean onOptionsItemSelected(MenuItem item){switch(item.getItemId()){case Menu.FIRST+1:Intent intent = new Intent();intent.setClass(SqlMainActivity.this, AddPeopleActivity.class);startActivity(intent);break;case Menu.FIRST+2:finish();break;}return super.onOptionsItemSelected(item);}public void onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo menuInfo){menu.setHeaderIcon(R.drawable.ic_launcher);menu.add(0,3,0,"修改");menu.add(0, 4, 0, "删除");}public boolean onContextItemSelected(MenuItem item){AdapterContextMenuInfo menuInfo = (AdapterContextMenuInfo)item.getMenuInfo();switch(item.getItemId()){case 3:String name=((TextView)menuInfo.targetView.findViewById(R.id.name)).getText().toString();String phone=((TextView)menuInfo.targetView.findViewById(R.id.phone)).getText().toString();String mobile=((TextView)menuInfo.targetView.findViewById(R.id.mobile)).getText().toString();String email=((TextView)menuInfo.targetView.findViewById(R.id.email)).getText().toString();Intent intent = new Intent();intent.setClass(SqlMainActivity.this, AddPeopleActivity.class);Bundle bundle = new Bundle();bundle.putLong("id", menuInfo.id);bundle.putString("name", name);bundle.putString("phone", phone);bundle.putString("mobile", mobile);bundle.putString("email", email);intent.putExtras(bundle);startActivity(intent);break;case 4:dbhelper = new DbHelper(this,"Db_People",null,1);db = dbhelper.getWritableDatabase();db.delete("tb_people", "_id=?", new String[]{menuInfo.id+""});break;}return true;}}

布局文件ch9_addpeople.xml:

<?xml version="1.0" encoding="utf-8"?>                                                                                                            

创建活动AddPeopleActivity.java:

package com.example.ch9;import com.example.baseexample.R;import com.example.db.DbHelper;import android.app.Activity;import android.content.ContentValues;import android.database.sqlite.SQLiteDatabase;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class AddPeopleActivity extends Activity {private EditText edt_name;private EditText edt_phone;private EditText edt_mobile;private EditText edt_email;private Button bt_save;String name,phone,mobile,email;DbHelper dbhelper;SQLiteDatabase db;Bundle bundle;protected void onCreate(Bundle savedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.ch9_addpeople);edt_name=(EditText)findViewById(R.id.edt_name);edt_phone=(EditText)findViewById(R.id.edt_phone);edt_mobile=(EditText)findViewById(R.id.edt_mobile);edt_email=(EditText)findViewById(R.id.edt_email);bt_save = (Button)findViewById(R.id.bt_save);bundle = this.getIntent().getExtras();if(bundle!=null){edt_name.setText(bundle.getString("name"));edt_phone.setText(bundle.getString("phone"));edt_mobile.setText(bundle.getString("mobile"));edt_email.setText(bundle.getString("email"));}bt_save.setOnClickListener(new Button.OnClickListener(){@Overridepublic void onClick(View v) {name = edt_name.getText().toString();phone = edt_phone.getText().toString();mobile = edt_mobile.getText().toString();email = edt_email.getText().toString();ContentValues value = new ContentValues();value.put("name", name);value.put("phone", phone);value.put("mobile", mobile);value.put("email", email);DbHelper dbhelper = new DbHelper(AddPeopleActivity.this,"Db_People",null,1);SQLiteDatabase db = dbhelper.getWritableDatabase();long status;if(bundle!=null){status = db.update("tb_people", value, "_id=?", new String[]{bundle.getLong("id")+""});}else{status = db.insert("tb_people", null, value);}if(status!=-1){Toast.makeText(AddPeopleActivity.this, "保存成功", Toast.LENGTH_LONG).show();}else{Toast.makeText(AddPeopleActivity.this, "保存失败", Toast.LENGTH_LONG).show();}}});}}






更多相关文章

  1. Android lint 删除无用图片文件和配置文件
  2. android 开发-数据存储之文件存储
  3. [Android] 该文件包与具有同一名称的现有文件包存在冲突
  4. Android 布局中调字体的行距和间距
  5. Android SO文件的兼容和适配
  6. 解决在3.6.2安装android的ADT文件bug
  7. Android studio相对布局的常用属性
  8. 【转】Android中对Log日志文件的分析
  9. android:gravity 和 android:layout_Gravity属性——android开发

随机推荐

  1. 2012.06.28(2)——— android onMeasure
  2. android五种布局模式
  3. android thread handler timertask
  4. Android的TextView的双击事件监听
  5. Android一次刷机
  6. Android(安卓)编译系统分析
  7. Android(安卓)webkit 事件传递流程
  8. Android如何平移一个View
  9. android:launchMode="singleTask" 与 onN
  10. Android(安卓)webkit 事件传递流程