<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.phonedata.MainActivity" > <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="通讯录" android:textSize="40dp" /> <EditText android:id="@+id/et2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView3" android:layout_alignBottom="@+id/textView3" android:layout_alignRight="@+id/button2" android:layout_toRightOf="@+id/textView3" android:ems="10" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/textView3" android:layout_below="@+id/et2" android:layout_marginTop="25dp" android:text="添加" /> <Button android:id="@+id/button3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button1" android:layout_below="@+id/button2" android:text="修改" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button1" android:layout_alignBottom="@+id/button1" android:layout_alignRight="@+id/et1" android:layout_marginRight="16dp" android:text="查询" /> <Button android:id="@+id/button4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_above="@+id/tv4" android:layout_alignLeft="@+id/button2" android:text="删除" /> <TextView android:id="@+id/tv4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/button3" android:layout_below="@+id/button3" android:layout_marginTop="18dp" /> <EditText android:id="@+id/et1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/textView1" android:layout_alignBottom="@+id/textView1" android:layout_marginLeft="16dp" android:layout_toRightOf="@+id/textView1" android:ems="10" > <requestFocus /> </EditText> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/textView3" android:layout_below="@+id/textView2" android:text="姓名:" android:textSize="20dp" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_below="@+id/et1" android:text="电话号码:" android:textSize="20dp" /> </RelativeLayout>
package com.example.phonedata; import android.content.ContentValues; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends ActionBarActivity implements OnClickListener { private EditText pname; private EditText pphone; private Button insert; private Button query; private Button update; private Button delete; private TextView tv; MyHelper myhelper; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); myhelper = new MyHelper(this); init(); } private void init() { // TODO Auto-generated method stub pname = (EditText) findViewById(R.id.et1); pphone = (EditText) findViewById(R.id.et2); insert = (Button) findViewById(R.id.button1); query = (Button) findViewById(R.id.button2); update = (Button) findViewById(R.id.button3); delete = (Button) findViewById(R.id.button4); tv=(TextView) findViewById(R.id.tv4); insert.setOnClickListener(this); query.setOnClickListener(this); update.setOnClickListener(this); delete.setOnClickListener(this); } @Override public void onClick(View v) { // TODO Auto-generated method stub String name, phone; SQLiteDatabase db; ContentValues values; switch (v.getId()) { case R.id.button1: name = pname.getText().toString(); phone = pphone.getText().toString(); db = myhelper.getWritableDatabase(); values = new ContentValues(); values.put("name", name); values.put("phone", phone); db.insert("information", null, values); Toast.makeText(this, "信息已添加成功", Toast.LENGTH_SHORT).show(); db.close(); break; case R.id.button2: db = myhelper.getReadableDatabase(); Cursor cursor = db.query("information", null, null, null, null, null, null); if (cursor.getCount() == 0) { tv.setText(""); Toast.makeText(this, "沒有数据", Toast.LENGTH_SHORT).show(); } else { cursor.moveToFirst(); tv.setText("姓名:" + cursor.getString(1) + ";" + "电话号码:" + cursor.getString(2) + ";"); } while (cursor.moveToNext()) { tv.append("\n" + "姓名:" + cursor.getString(1) + ";" + "电话号码:" + cursor.getString(2) + ";"); } cursor.close(); db.close(); break; case R.id.button3: db = myhelper.getWritableDatabase(); values = new ContentValues(); values.put("phone", phone=pphone.getText().toString()); db.update("information", values, "name=?", new String[] {pname.getText().toString()}); Toast.makeText(this, "信息已修改成功", Toast.LENGTH_SHORT).show(); db.close(); break; case R.id.button4: name = pname.getText().toString(); db=myhelper.getReadableDatabase(); db.delete("information", "name=?", new String[] {name}); Toast.makeText(this, "信息已刪除成功", Toast.LENGTH_SHORT).show(); db.close(); break; } } }
package com.example.phonedata; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class MyHelper extends SQLiteOpenHelper{ public MyHelper(Context context) { super(context, "itcast.db", null, 1); // TODO Auto-generated constructor stub } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL("create table information (_id integer primary key autoincrement,name varchar(10),phone varchar(20))"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub } }