Android简易通讯录

大二了,终于开始项目开发了。这个项目是我第一个android小软件搞了一天了。感谢网友 大灰狼叔叔 的提供的源码。

下载地址:http://download.csdn.net/detail/hong0220/4669267

核心代码:

MainActivity.java

package com.feelling.ui;
 
import java.util.ArrayList; 
 
import com.woz.util.Config;
import com.woz.util.DataBaseHelper;
 
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener; 
import android.widget.Button;
import android.widget.EditText; 

public class MainActivity extends Activity{
	Button addButton,queryButton;  // 按钮-添加,查询
	EditText username,phone; 

	
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main); 
    	// main
    	addButton = (Button)findViewById(R.id.addUserBtn);
    	queryButton = (Button)findViewById(R.id.listUserBtn);  
    	
        // 添加
        addButton.setOnClickListener(new OnClickListener(){
			@Override
			public void onClick(View v) {
				 LayoutInflater inflater = getLayoutInflater();
				 View layout = inflater.inflate(R.layout.add_user, (ViewGroup)findViewById(R.id.dialog));
				 
				   // 内容元素
				   username = (EditText)layout.findViewById(R.id.userNameET);
			       phone = (EditText)layout.findViewById(R.id.phoneNumberET); 
				 new AlertDialog.Builder(MainActivity.this).setTitle("添加联系人").setView(layout)
			     .setPositiveButton("确定",  new DialogInterface.OnClickListener() { //添加事件
				     	public void onClick(DialogInterface dialog, int which) {
							  System.out.println(" on insert table user ---> ");   
							  DataBaseHelper dbHelper = new DataBaseHelper(MainActivity.this,Config.DB_NAME);
				              SQLiteDatabase sdb = dbHelper.getWritableDatabase();
				             
				              // put value 
				              String userStr = username.getText().toString();
				              String phoneStr = phone.getText().toString();

				              if(userStr.length()>0 && phoneStr.length()>0){
				            	   ContentValues cv = new ContentValues();
				                   cv.put("title", userStr);
				                   cv.put("content", phoneStr);
				                   sdb.insert(Config.TABLE_NAME, null, cv); 
				                   showAlert("数据添加成功!");
				              }else{
				            	   showAlert("数据数据格式错误,请重新输入!");
				              } 
					  }}).setNegativeButton("取消", null).show();  
			        }
			});
       
        // 查询
        queryButton.setOnClickListener(new OnClickListener(){
			@Override
			public void onClick(View v) {
				 
				DataBaseHelper dbHelper = new DataBaseHelper(MainActivity.this,Config.DB_NAME);
		        SQLiteDatabase db = dbHelper.getReadableDatabase();
		        Cursor  cs = db.query(Config.TABLE_NAME, new String[]{"_id","title","content"}, null, null, null, null, null); 
		         
		        ArrayList<String> alist = new ArrayList<String>();
		        while(cs.moveToNext()){
	            	  int id = cs.getInt(cs.getColumnIndex("_id")); 
	            	  String name = cs.getString(cs.getColumnIndex("title"));
	            	  String con = cs.getString(cs.getColumnIndex("content"));
	            	  alist.add(id+"."+name+"["+con+"]"); 
	            	  System.out.println(" query [t_note]--> id = "+ id +" name = " + name +" con = " + con  );
	              } 
		          final String[] contacts = new String[alist.size()]; 
		          for(int a=0;a<alist.size();a++){
		        	  contacts[a] = alist.get(a);
		          }
		             
		        new AlertDialog.Builder(MainActivity.this).setTitle("内容列表").setIcon(
						android.R.drawable.ic_dialog_info).setItems(   
						contacts, 
						new DialogInterface.OnClickListener() {
							public void onClick(DialogInterface dialog, int which) {
							   int flag=contacts[which].indexOf(".");
							   String artId = contacts[which].substring(0, flag);
							   alertDeleteOpt(artId);
							}
						}) 
						.setNegativeButton("取消", null).show();
		        
			}
        }); 
    }  
	public void showAlert(final String msg){
			new AlertDialog.Builder(MainActivity.this) 
			    .setMessage(msg)
			    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
			     	public void onClick(DialogInterface dialog, int which) {
			     		  dialog.cancel(); 
				 }}).show();
	}
	
 
	// 删除数据
	public void deleteData(String id){
		  DataBaseHelper dbHelper = new DataBaseHelper(MainActivity.this,Config.DB_NAME);
		  SQLiteDatabase sdb = dbHelper.getWritableDatabase();
		  sdb.delete(Config.TABLE_NAME,  " _id=?", new String[]{id}); //删除数据 
	}
	 
	/**
	 *   删除操作
	 */
	public void alertDeleteOpt(final String id){  
		new AlertDialog.Builder(this)
		    .setCancelable(false)
		    .setMessage("您确定要删除这条信息吗?")
		    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
		     	public void onClick(DialogInterface dialog, int which) {
		     	    deleteData(id);
			 }})
			 .setNegativeButton("取消", new DialogInterface.OnClickListener() {
			     	public void onClick(DialogInterface dialog, int which) {
						 dialog.cancel();
			 }})
			 .show(); 
	}  
	  //退出程序
	  @Override
		public boolean onKeyDown(int keyCode, KeyEvent event) { 
			 if (keyCode == KeyEvent.KEYCODE_BACK)// 返回按键 
			 {			 
				   new AlertDialog.Builder(this)
				    .setCancelable(false)
				    .setIcon(android.R.drawable.btn_star)
				    .setTitle("退出")
				    .setMessage("您确认要退出程序吗?")
				    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
				     	public void onClick(DialogInterface dialog, int which) { 
				     		 MainActivity.this.finish();    //关闭程序的核心方法
					 }})
					 .setNegativeButton("取消", new DialogInterface.OnClickListener() {
					     	public void onClick(DialogInterface dialog, int which) {
								 dialog.cancel();
					 }})
					 .show();
			 }
			return true;
		}  
}

DataBaseHelper.java

package com.woz.util;
 
 
import android.content.Context; 
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase.CursorFactory; 
  
public class DataBaseHelper extends SQLiteOpenHelper {
 
	public DataBaseHelper(Context context, String name, CursorFactory factory,
			int version) {
		super(context, name, factory, version);
		// TODO Auto-generated constructor stub
	}
	public DataBaseHelper(Context context, String name,  
			int version) {
		this(context, name, null, version);
		// TODO Auto-generated constructor stub
	}
	public DataBaseHelper(Context context, String name) {
		this(context, name, Config.VERSION);
		// TODO Auto-generated constructor stub
	}
	 
	@Override
	public void onCreate(SQLiteDatabase db) {

        System.out.println(" create table --> ");
		// 执行创建
        db.execSQL("create table "+ Config.TABLE_NAME +
        		   "(_id INTEGER DEFAULT '1' NOT NULL PRIMARY KEY AUTOINCREMENT," +
        		   "title varchar(100)," +
        		   "content text)");		
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

	       System.out.println(" up grade datebase --> ");
	       db.execSQL("drop table " + Config.TABLE_NAME);
	       db.execSQL("create table "+ Config.TABLE_NAME +
	    		      "(_id INTEGER DEFAULT '1' NOT NULL PRIMARY KEY AUTOINCREMENT," +
	    		      "title varchar(100)," +
	    		      "content text)");		
	} 
}

Config.java

package com.woz.util;
public class Config {

	public static final int VERSION = 1;
	public static final String TABLE_NAME = "t_note";
	public static final String DB_NAME = "hb_contact.db";
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值