手机通讯录

原创 2012年03月22日 10:55:52

手机主界面的UI 01





AddNewActivity

public class AddNewActivity extends Activity {
	ImageButton btn_img;
	AlertDialog imageChooseDialog;
	Gallery gallery; 
	ImageSwitcher is;
	int imagePosition;  
	
	//以下在  自定义方法 inint() 中初始化
	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,};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.addnew);
        
        initWidget();
        
        btn_save.setOnClickListener(new OnClickListener() {
        	
        	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();        				
        				//1代表 增加用户成功,返回到主页面
        				setResult(1);
        				finish();
        			}else{
        				Toast.makeText(AddNewActivity.this, "添加失败,请重新添加", Toast.LENGTH_LONG).show();
        				//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(){
			 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(){
				
			 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) {
				// TODO Auto-generated method stub				
			}
		 });
		 
		 is.setFactory(new MyViewFactory(this));
		 builder.setView(view);
		 imageChooseDialog = builder.create();
	}
	
	//ImageAdapter图像适配器 ---内部类
	class ImageAdapter extends BaseAdapter{
		private Context context;
		
		public ImageAdapter(Context context){
			this.context = context;
		}
		
		public int getCount(){
			return Integer.MAX_VALUE;
		}
		
		public Object getItem(int position){
			return null;
		}
		
		public  long getItemId(int position){
			return 0;
		}
				
		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;
		}
		
		public View makeView(){
			ImageView iv = new ImageView(context);
			iv.setLayoutParams(new ImageSwitcher.LayoutParams(90,90));  //选定框中 选定头像
			return iv;
		}
	}
}
























16_1
















安卓——读取到手机通讯录中的好友的备注信息

奇葩需求 - 读取到手机通讯录中的好友的备注信息

课程设计c++手机通讯录

此程序即使使用链表完成简单功能,实现插入删除查找编辑等功能! 使用知识即为c语言课本指针部分,或者说是数据结构链表基本操作部分! #include #include #include//控制输...

android手机通讯录备份还原代码

最近想写段android程序玩玩。 开发环境 eclipse ,android2.2 开发环境搭建 1.先安装jdk 2.下载安装eclipse 3.下载安装android sdk ...

一个用来处理手机通讯录乱码的小小小小python程序

从原先的手机导出了原先的通讯录,然后导入新的手机的时候,发现总是出现的是乱码。发现里面关于文件名的部分有问题,而且默认的编码方式有问题:原先的是utf-8,改为ANSI之后,把里面关于显示通讯录名字的...

Android跳转到通讯录获取用户名称和手机号码

摘自:http://blog.csdn.net/u014733374/article/details/44835325 看到App项目中有这样一个需求,自己花时间也做了下。某些在线购买或者快递业务等...

最快速读取手机通讯录中联系人信息

作为一名Android开发,读写手机通讯录的操作人人都会,但是有没有遇到通讯录存在好几百条联系人信息时候读取的速度会明显变慢呢?本文就是介绍解决办法,我总结出了以下几种办法 提供参考: 一、线程 有A...

ionic cordova实现获取显示手机通讯录

应用内经常会遇到获取并显示通讯录的需求,混合开发hybrid App实现可以用ionic+condorva来实现。 话不多说,先看看效果:...

android3种方式查询手机通讯录联系人

3种方式查询手机通讯录的联系人本文是提供了3种方式查询通讯录,获取手机通讯录中所有联系人的ID和联系人姓名。 通过ContentResolver类的query方法,这种方法在主线程中查询数据,quer...
  • hxltech
  • hxltech
  • 2016年03月30日 14:28
  • 4467

iOS获取手机通讯录(两种框架详解)

今天浏览简书,看了好多获取通讯录的,都是使用AddressBook.framework框架,没有使用Contacts.framework框架的,虽然这两种框架都可以获得手机里的通讯录信息,可是,官方A...
  • hj7jay
  • hj7jay
  • 2016年07月01日 09:55
  • 8159

Android手机通讯录的读取、添加、删除、查找

Android联系人数据库文件(contact2.db) 有研究过手机通讯录数据的童鞋肯定知道一个数据库文件:目前是contact2.db(哥的手机是Android4.04的) 在此路径下可以...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:手机通讯录
举报原因:
原因补充:

(最多只允许输入30个字)