代码:
MainActivity关键代码
package com.example.contactsch;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import android.app.Activity;
import android.app.LauncherActivity.ListItem;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.LocalSocketAddress.Namespace;
import android.os.Bundle;
import android.support.v4.widget.CursorAdapter;
import android.support.v4.widget.SimpleCursorAdapter;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
public class MainActivity extends Activity {
private ListView lView;
private MyOpenHelper dbHelper;
private Button delb,addb;
SQLiteDatabase db;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
delb=(Button)findViewById(R.id.del);
addb=(Button)findViewById(R.id.add);
lView=(ListView)findViewById(R.id.listV);
Log.i("test", "111111111111111111111");
dbHelper=new MyOpenHelper(MainActivity.this, "personal_contacts.db", null, 1);
db=dbHelper.getReadableDatabase();
Cursor cursor=db.rawQuery("select * from contacts", null);
Log.i("test", "2222222222222222222222");
inflateList(cursor);
Log.i("test", "3333333333333333333333");
addb.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Bundle bundle=new Bundle();
bundle.putString("name", "");
Intent intent=new Intent();
intent.setClass(MainActivity.this, detail_main.class);
intent.putExtras(bundle);
startActivity(intent);
}
});
lView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView> arg0, View arg1, int arg2,
long arg3) {
// TODO Auto-generated method stub
TextView ser=(TextView)arg1.findViewById(R.id.tView1);
String se=ser.getText().toString();
Intent intent=new Intent(MainActivity.this,detail_main.class);
Bundle bundle=new Bundle();
bundle.putString("name", se);
intent.putExtras(bundle);
startActivity(intent);
}
});
}
private void inflateList(Cursor cursor) {
// TODO Auto-generated method stub
int c=cursor.getCount();
String[] nameS=new String[c];
String[] phoneS=new String[c];
int co=0;
while(cursor.moveToNext()){
nameS[co]=cursor.getString(cursor.getColumnIndex("name"));
phoneS[co]=cursor.getString(cursor.getColumnIndex("phone"));
co++;
}
final ArrayList> listItem=new ArrayList>();
for (int i = 1; i <= c; i++) {
HashMap map=new HashMap();
map.put("ItemTitle", nameS[i-1]);
map.put("ItemText", phoneS[i-1]);
listItem.add(map);
}
Log.i("test", "66666666666666666666666666666");
if (cursor.getCount()!=0) {
Log.i("test", "1000000000000000000000000000");
SimpleAdapter sAdapter=new SimpleAdapter(MainActivity.this, listItem, R.layout.link,
new String[]{"ItemTitle","ItemText"} , new int[]{R.id.tView1,R.id.tView2});
Log.i("test", "10101010101010101010101010101");
lView.setAdapter(sAdapter);
}
Log.i("test", "4444444444444444");
Log.i("test", "55555555555555555555");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
MenuInflater inflater=new MenuInflater(this);
inflater.inflate(R.menu.main, menu);
return super.onCreateOptionsMenu(menu);
}
}
detail_main关键代码
package com.example.contactsch;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;
import android.widget.Toast;
public class detail_main extends Activity{
private MyOpenHelper dbHelper;
private EditText ename,ephone,emobile,eemail,epost,eaddr,ecomp;
private ImageButton bc;
@SuppressLint("NewApi") @Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.detail);
ename=(EditText)findViewById(R.id.etname);
ephone=(EditText)findViewById(R.id.etphone);
emobile=(EditText)findViewById(R.id.etmobile);
eemail=(EditText)findViewById(R.id.etemail);
epost=(EditText)findViewById(R.id.etpost);
eaddr=(EditText)findViewById(R.id.etaddr);
ecomp=(EditText)findViewById(R.id.etcomp);
bc=(ImageButton)findViewById(R.id.bcButton1);
Bundle bundle=new Bundle();
bundle=getIntent().getExtras();
String nString=bundle.getString("name");
ename.setText(nString);
dbHelper=new MyOpenHelper(detail_main.this, "personal_contacts.db", null, 1);
final SQLiteDatabase db=dbHelper.getReadableDatabase();
Cursor cursorg=db.rawQuery("select * from contacts where name=?",new String[] {nString}, null);
if (cursorg.getCount()>0) {
cursorg.moveToFirst();
ephone.setText(cursorg.getString(cursorg.getColumnIndex("phone")));
emobile.setText(cursorg.getString(cursorg.getColumnIndex("mobile")));
eemail.setText(cursorg.getString(cursorg.getColumnIndex("email")));
epost.setText(cursorg.getString(cursorg.getColumnIndex("post")));
eaddr.setText(cursorg.getString(cursorg.getColumnIndex("addr")));
ecomp.setText(cursorg.getString(cursorg.getColumnIndex("comp")));
}
bc.setOnClickListener(new OnClickListener() {
@SuppressLint("NewApi") @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String sname=ename.getText().toString();
Cursor cursor=db.rawQuery("select * from contacts where name=?",new String[] {sname}, null);
if (cursor.getCount() > 0) {
Toast.makeText(detail_main.this, "名片已存在",
Toast.LENGTH_LONG).show();
}else {
ContentValues values = new ContentValues();
values.put("name", ename.getText().toString());
values.put("phone", ephone.getText().toString());
values.put("mobile", emobile.getText().toString());
values.put("email", eemail.getText().toString());
values.put("post", epost.getText().toString());
values.put("addr", eaddr.getText().toString());
values.put("comp", ecomp.getText().toString());
db.insert("contacts", null, values);
values.clear();
Toast.makeText(detail_main.this,"名片存入成功" ,Toast.LENGTH_LONG).show();
}
}
});
}
}
MyOpenHelper关键代码
package com.example.contactsch;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class MyOpenHelper extends SQLiteOpenHelper{
public static final String CREAT_USER="create table contacts(id integer primary key autoincrement," +
"name," +
"phone," +
"mobile," +
"email," +
"post," +
"addr," +
"comp)";
public static final String DB_NAME="personal_contacts";
public static final String TABLE_NAME="contacts";
public static final String ID="id";
public static final String NAME="name";
public static final String PHONE="phone";
public static final String MOBILE="mobile";
public static final String EMAIL="email";
public static final String POST="post";
public static final String ADDR="addr";
public static final String COMP="comp";
public MyOpenHelper(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(CREAT_USER);
Log.i("test", "777777777777777777777777");
}
@Override
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
// TODO Auto-generated method stub
}
}
运行结果:(截图)
主界面
点击添加增加添加信息
点击listview中的222