代码整理——contact

package test.contact;

import java.util.ArrayList;
import java.util.HashMap;

import test.contact.db.DBHelper;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Gravity;
import android.view.KeyEvent;
import android.view.View;
import android.widget.AdapterView;
import android.widget.GridView;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.AdapterView.OnItemClickListener;

public class MainActivity extends Activity {
	
	GridView gv_buttom_menu;
	ListView lv_userList;
	SimpleAdapter adapter;
	
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		this.setContentView(R.layout.main);
		loadUserList();
		
	}
	
	private void loadUserList() {
		lv_userList = (ListView) this.findViewById(R.id.lv_userlist);
		ArrayList data = DBHelper.getInstance(this).getUserList();
		adapter = new SimpleAdapter(this, 
												data, 
												R.layout.list_item, 
												new String[]{"imageid","name","mobilephone"}, 
												new int[]{R.id.user_image,R.id.tv_showname,R.id.tv_showmobilephone});
		lv_userList.setAdapter(adapter);
		lv_userList.setOnItemClickListener(new OnItemClickListener(){

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				HashMap map = (HashMap)parent.getItemAtPosition(position);
				Intent intent = new Intent(MainActivity.this,DetailActivity.class);
				intent.putExtra("usermap", map);
				//当requestCode为3的时候代表请求转向DetailActivity这个页面
				startActivityForResult(intent, 3);
			}});
	}

	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) {
		if(keyCode == KeyEvent.KEYCODE_MENU) {
			if(gv_buttom_menu == null) {
				loadButtomMenu();
			}
			
			if(gv_buttom_menu.getVisibility()==View.GONE) {
				gv_buttom_menu.setVisibility(View.VISIBLE);
			} else {
				gv_buttom_menu.setVisibility(View.GONE);
			}
		}
		
		return super.onKeyDown(keyCode, event);
	}
	
	private void loadButtomMenu() {
		gv_buttom_menu = (GridView) this.findViewById(R.id.gv_buttom_menu);
		gv_buttom_menu.setBackgroundResource(R.drawable.channelgallery_bg);
		gv_buttom_menu.setNumColumns(5);
		gv_buttom_menu.setGravity(Gravity.CENTER);
		gv_buttom_menu.setVerticalSpacing(10);
		gv_buttom_menu.setHorizontalSpacing(10);
		ArrayList data = new ArrayList();
		HashMap map = new HashMap();
		map.put("itemImage", R.drawable.menu_new_user);
		map.put("itemText","增加");
		data.add(map);
		
		map = new HashMap();
		map.put("itemImage", R.drawable.menu_search);
		map.put("itemText","查找");
		data.add(map);
		
		map = new HashMap();
		map.put("itemImage", R.drawable.menu_delete);
		map.put("itemText","删除");
		data.add(map);
		
		map = new HashMap();
		map.put("itemImage", R.drawable.controlbar_showtype_list);
		map.put("itemText","菜单");
		data.add(map);
		
		map = new HashMap();
		map.put("itemImage", R.drawable.menu_exit);
		map.put("itemText","退出");
		data.add(map);
		
		SimpleAdapter adapter = new SimpleAdapter(this, data, R.layout.item_menu,new String[]{"itemImage","itemText"},new int[]{R.id.item_image,R.id.item_text});
		gv_buttom_menu.setAdapter(adapter);
		
		gv_buttom_menu.setOnItemClickListener(new OnItemClickListener(){

			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				//HashMap map = (HashMap)parent.getItemAtPosition(1);
				switch(position) {
					case 0: {
						Intent intent = new Intent(MainActivity.this,AddNewActivity.class);
						//0代表的是请求调转到添加界面
						startActivityForResult(intent, 0);
						break;
					}
					
					case 1: {
						break;
					}
					
					case 2: {
						break;
					}
					
					case 3: {
						break;
					}
					
					case 4: {
						break;
					}
				}
				
			}});
		
		
	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		if(requestCode==0) {
			if(resultCode == 1) {
				//增加用户成功   进行刷新
				
				ArrayList userData = DBHelper.getInstance(this).getUserList();
				adapter = new SimpleAdapter(this, 
											userData, 
											R.layout.list_item, 
											new String[]{"imageid","name","mobilephone"}, 
											new int[]{R.id.user_image,R.id.tv_showname,R.id.tv_showmobilephone});
				lv_userList.setAdapter(adapter);
				
			} else if(resultCode == 2) {
				//增加用户失败  不 进行刷新
			}
		}
		super.onActivityResult(requestCode, resultCode, data);
	}
}


package test.contact;

import java.util.HashMap;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageButton;

public class DetailActivity extends Activity {
	
	EditText et_name;
	EditText et_mobilePhone;
	EditText et_familyPhone;
	EditText et_officePhone;
	EditText et_position;
	EditText et_company;
	EditText et_address;
	EditText et_zipCode;
	EditText et_email;
	EditText et_otherContact;
	EditText et_remark;
	ImageButton btn_img;
	
	HashMap map;
	
	Button btn_modify;
	Button btn_delete;
	Button btn_return;
	
	boolean flag = false;

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.detail);
		initWidget();
		setEditTextDisable();
		Intent intent = getIntent();
		map = (HashMap)intent.getSerializableExtra("usermap");
		displayData();
		
		btn_modify.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				
				setEditTextAble();
				if(flag) {
					flag = false;
					btn_modify.setText("修改");
					setEditTextDisable();
				} else {
					flag = true;
					btn_modify.setText("保存");
					setEditTextAble();
				}
				
				
			}
		});
	}
	
	public void initWidget() {
		et_name = (EditText) this.findViewById(R.id.et_name);
		et_mobilePhone = (EditText) this.findViewById(R.id.et_mobilephone);
		et_familyPhone = (EditText) this.findViewById(R.id.et_familyphone);
		et_officePhone = (EditText) this.findViewById(R.id.et_officephone);
		et_position = (EditText) this.findViewById(R.id.et_position);
		et_company = (EditText) this.findViewById(R.id.et_company);
		et_address = (EditText) this.findViewById(R.id.et_address);
		et_zipCode = (EditText) this.findViewById(R.id.et_zipcode);
		et_email = (EditText) this.findViewById(R.id.et_email);
		et_otherContact = (EditText) this.findViewById(R.id.et_other);
		et_remark = (EditText) this.findViewById(R.id.et_remark);
		btn_img = (ImageButton) this.findViewById(R.id.btn_img);
		
		btn_modify = (Button) this.findViewById(R.id.btn_modify);
		btn_delete = (Button) this.findViewById(R.id.btn_delete);
		btn_return = (Button)this.findViewById(R.id.btn_return);
		
	}
	
	
	private void setEditTextDisable() {
		et_name.setEnabled(false);
		et_mobilePhone.setEnabled(false);
		et_familyPhone.setEnabled(false);
		et_officePhone.setEnabled(false);
		et_position.setEnabled(false);
		et_company.setEnabled(false);
		et_address.setEnabled(false);
		et_zipCode.setEnabled(false);
		
		et_email.setEnabled(false);
		et_otherContact.setEnabled(false);
		et_remark.setEnabled(false);
		
		btn_img.setEnabled(false);
	}
	
	
	private void setEditTextAble() {
		et_name.setEnabled(true);
		et_mobilePhone.setEnabled(true);
		et_familyPhone.setEnabled(true);
		et_officePhone.setEnabled(true);
		et_position.setEnabled(true);
		et_company.setEnabled(true);
		et_address.setEnabled(true);
		et_zipCode.setEnabled(true);
		
		et_email.setEnabled(true);
		et_otherContact.setEnabled(true);
		et_remark.setEnabled(true);
		
		btn_img.setEnabled(true);
	}
	
	
	private void displayData() {
		et_name.setText(String.valueOf(map.get("name")));
		et_mobilePhone.setText(String.valueOf(map.get("mobilephone")));
		et_familyPhone.setText(String.valueOf(map.get("familyphone")));
		et_officePhone.setText(String.valueOf(map.get("officephone")));
		et_position.setText(String.valueOf(map.get("position")));
		et_company.setText(String.valueOf(map.get("company")));
		et_address.setText(String.valueOf(map.get("address")));
		et_zipCode.setText(String.valueOf(map.get("zipcode")));
		et_email.setText(String.valueOf(map.get("email")));
		et_otherContact.setText(String.valueOf(map.get("othercontact")));
		et_remark.setText(String.valueOf(map.get("remark")));
		btn_img.setImageResource(Integer.parseInt(String.valueOf(map.get("imageid"))));
	}

}

package test.contact;

import test.contact.db.DBHelper;
import test.contact.entity.User;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Gallery;
import android.widget.ImageButton;
import android.widget.ImageSwitcher;
import android.widget.ImageView;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ViewSwitcher.ViewFactory;

public class AddNewActivity extends Activity {
	
	ImageButton btn_img;
	AlertDialog imageChooseDialog;
	Gallery gallery;
	ImageSwitcher is;
	int imagePosition;
	
	EditText et_name;
	EditText et_mobilePhone;
	EditText et_familyPhone;
	EditText et_officePhone;
	EditText et_position;
	EditText et_company;
	EditText et_address;
	EditText et_zipCode;
	EditText et_email;
	EditText et_otherContact;
	EditText et_remark;
	
	Button btn_save;
	Button btn_return;
	
	private int[] images = {
							R.drawable.icon,R.drawable.image1,R.drawable.image2,
							R.drawable.image3,R.drawable.image4,
							R.drawable.image5,R.drawable.image6,
							R.drawable.image7,R.drawable.image8,
							R.drawable.image9,R.drawable.image10,
							R.drawable.image11,R.drawable.image12,
							R.drawable.image13,R.drawable.image14,
							R.drawable.image15,R.drawable.image16,
							R.drawable.image17,R.drawable.image18,
							R.drawable.image19,R.drawable.image20,
							R.drawable.image21,R.drawable.image22,
							R.drawable.image23,R.drawable.image24,
							R.drawable.image25,R.drawable.image26,
							R.drawable.image27,R.drawable.image28,
							R.drawable.image29,R.drawable.image30};

	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.addnew);
		
		initWidget();
		
		btn_save.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				String name = et_name.getText().toString();
				if(name.equals("")) {
					Toast.makeText(AddNewActivity.this, "姓名无能为空", Toast.LENGTH_LONG).show();
					return;
				}
				
				String mobilePhone = et_mobilePhone.getText().toString();
				String officePhone = et_officePhone.getText().toString();
				String familyPhone = et_familyPhone.getText().toString();
				String position = et_position.getText().toString();
				String company = et_company.getText().toString();
				String address = et_address.getText().toString();
				String email = et_email.getText().toString();
				String zipCode = et_zipCode.getText().toString();
				String otherContact = et_otherContact.getText().toString();
				String remark = et_remark.getText().toString();
				int imageId = images[imagePosition];
				
				User user = new User();
				user.address = address;
				user.company = company;
				user.email = email;
				user.familyPhone = familyPhone;
				user.imageId = imageId;
				user.mobilePhone = mobilePhone;
				user.officePhone = officePhone;
				user.name = name;
				user.otherContact = otherContact;
				user.position = position;
				user.remark = remark;
				user.zipCode = zipCode;
				
				//save user to database
				long success = DBHelper.getInstance(AddNewActivity.this).save(user);
				if(success != -1) {
					Toast.makeText(AddNewActivity.this, "添加成功!", Toast.LENGTH_LONG).show();
					//resultCode为1的时候代表增加用户成功,返回到主页面
					setResult(1);
					finish();
					
				} else {
					Toast.makeText(AddNewActivity.this, "添加失败,请重新操作!", Toast.LENGTH_LONG).show();
					//resultCode为2的时候代表增加用户失败,返回到主页面
					setResult(2);
					finish();
				}
				
			}});
		
		btn_img = (ImageButton) this.findViewById(R.id.btn_img);
		btn_img.setOnClickListener(new OnClickListener(){

			public void onClick(View v) {
				initImageChooseDialog();
				imageChooseDialog.show();
			}});
		
		btn_return.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				setResult(2);
				finish();
			}});
	}
	
	public void initWidget() {
		et_name = (EditText) this.findViewById(R.id.et_name);
		et_mobilePhone = (EditText) this.findViewById(R.id.et_mobilephone);
		et_familyPhone = (EditText) this.findViewById(R.id.et_familyphone);
		et_officePhone = (EditText) this.findViewById(R.id.et_officephone);
		et_position = (EditText) this.findViewById(R.id.et_position);
		et_company = (EditText) this.findViewById(R.id.et_company);
		et_address = (EditText) this.findViewById(R.id.et_address);
		et_zipCode = (EditText) this.findViewById(R.id.et_zipcode);
		et_email = (EditText) this.findViewById(R.id.et_email);
		et_otherContact = (EditText) this.findViewById(R.id.et_other);
		et_remark = (EditText) this.findViewById(R.id.et_remark);
		
		btn_save = (Button) this.findViewById(R.id.btn_save);
		btn_return = (Button) this.findViewById(R.id.btn_return);   
	}
	
	private void initImageChooseDialog(){
		AlertDialog.Builder builder = new AlertDialog.Builder(this);
		builder.setTitle("请选择图像");
		builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
			
			@Override
			public void onClick(DialogInterface dialog, int which) {
				btn_img.setImageResource(images[imagePosition%images.length]);
			}
		});
		
		
		builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
			
			@Override
			public void onClick(DialogInterface dialog, int which) {
				
			}
		});
		LayoutInflater inflater = LayoutInflater.from(this);
		View view = inflater.inflate(R.layout.imageswitch, null);
		gallery = (Gallery) view.findViewById(R.id.img_gallery);
		gallery.setAdapter(new ImageAdapter(this));
		gallery.setSelection(images.length/2);
		is = (ImageSwitcher) view.findViewById(R.id.image_switcher);
		gallery.setOnItemSelectedListener(new OnItemSelectedListener(){

			@Override
			public void onItemSelected(AdapterView<?> parent, View view,
					int position, long id) {
				imagePosition = position;
				is.setImageResource(images[position%images.length]);
			}

			@Override
			public void onNothingSelected(AdapterView<?> parent) {
				
			}});
		is.setFactory(new MyViewFactory(this));
		builder.setView(view);
		imageChooseDialog = builder.create();
	}
	
	class ImageAdapter extends BaseAdapter {
		
		private Context context;
		
		public ImageAdapter(Context context) {
			this.context = context;
		}

		@Override
		public int getCount() {
			// TODO Auto-generated method stub
			return Integer.MAX_VALUE;
		}

		@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) {
			ImageView iv = new ImageView(context);
			iv.setImageResource(images[position%images.length]);
			iv.setAdjustViewBounds(true);
			iv.setLayoutParams(new Gallery.LayoutParams(80, 80));
			iv.setPadding(15, 10, 15, 10);
			return iv;
		}
		
	}
	
	class MyViewFactory implements ViewFactory {

		private Context context;
		
		public MyViewFactory(Context context) {
			this.context = context;
		}
		
		@Override
		public View makeView() {
			ImageView iv = new ImageView(context);
			iv.setLayoutParams(new ImageSwitcher.LayoutParams(90,90));
			return iv;
		}
		
	}

}

package test.contact.entity;

public class User {
	
	public int _id;
	
	public int imageId;
	
	public String name;
	
	public String mobilePhone;
	
	public String officePhone;
	
	public String familyPhone;
	
	public String position;
	
	public String company;
	
	public String address;
	
	public String zipCode;
	
	public String email;
	
	public String otherContact;
	
	public String remark;

}

package test.contact.db;

import java.util.ArrayList;
import java.util.HashMap;

import test.contact.entity.User;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DBHelper extends SQLiteOpenHelper {
	
	public final static  String DB_NAME="contact";
	
	public final static int VERSION = 2;
	
	private static DBHelper instance = null;
	
	private SQLiteDatabase db;
	
	public static DBHelper getInstance(Context context) {
		if(instance == null) {
			instance = new DBHelper(context);
		}
		
		return instance;
	}

	private  void openDatabase() {
		if(db == null) {
			db = this.getWritableDatabase();
		}
	}
	
	private DBHelper(Context context) {
		super(context, DB_NAME, null, VERSION);
	}

	@Override
	public void onCreate(SQLiteDatabase db) {
		StringBuffer tableCreate = new StringBuffer();
		tableCreate.append("create table user ( _id integer primary key autoincrement,")
					.append("name text,")
					.append("mobilephone text,")
					.append("familyphone text,")
					.append("officephone text,")
					.append("position text,")
					.append("company text,")
					.append("address text,")
					.append("email text,")
					.append("othercontact text,")
					.append("zipcode text,")
					.append("remark text,")
					.append("imageid int )");
		
		db.execSQL(tableCreate.toString());
	}

	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		String sql = "drop table if exists user";
		db.execSQL(sql);
		onCreate(db);
	}
	
	
	public long save(User user) {
		openDatabase();
		ContentValues value = new ContentValues();
		value.put("name", user.name);
		value.put("mobilephone", user.mobilePhone);
		value.put("familyphone", user.familyPhone);
		value.put("officephone", user.officePhone);
		value.put("position", user.position);
		value.put("company", user.company);
		value.put("address", user.address);
		value.put("email", user.email);
		value.put("othercontact", user.otherContact);
		value.put("zipcode", user.zipCode);
		value.put("remark", user.remark);
		value.put("imageid", user.imageId);
		return db.insert("user", null, value);
	}
	
	public ArrayList getUserList() {
		openDatabase();
		Cursor cursor = db.query("user", null, null, null, null, null, null);
		ArrayList list = new ArrayList();
		while(cursor.moveToNext()) {
			HashMap map = new HashMap();
			map.put("_id", cursor.getInt(cursor.getColumnIndex("_id")));
			map.put("familyphone", cursor.getString(cursor.getColumnIndex("familyphone")));
			map.put("officephone", cursor.getString(cursor.getColumnIndex("officephone")));
			map.put("position", cursor.getString(cursor.getColumnIndex("position")));
			map.put("company", cursor.getString(cursor.getColumnIndex("company")));
			map.put("address", cursor.getString(cursor.getColumnIndex("address")));
			map.put("email", cursor.getString(cursor.getColumnIndex("email")));
			map.put("othercontact", cursor.getString(cursor.getColumnIndex("othercontact")));
			map.put("zipcode", cursor.getString(cursor.getColumnIndex("zipcode")));
			map.put("remark", cursor.getString(cursor.getColumnIndex("remark")));
			map.put("imageid", cursor.getInt(cursor.getColumnIndex("imageid")));
			map.put("name", cursor.getString(cursor.getColumnIndex("name")));
			map.put("mobilephone", cursor.getString(cursor.getColumnIndex("mobilephone")));
			list.add(map);
		}
		return list;
	}

}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值