当前位置: 移动技术网 > 移动技术>移动开发>Android > Android实现新增及编辑联系人的方法

Android实现新增及编辑联系人的方法

2019年07月24日  | 移动技术网移动技术  | 我要评论

本文实例介绍了android开发中对联系人修改、新增联系人的方法,通过本实例代码可实现添加联系人、编辑修改联系人,新增联系人和更新联系人等操作,操作主要放在线程中处理,并且在操作的过程中,显示圆形进度条,在android系统中,这是种比较常见的进度条风格。

具体功能代码如下所示:

package huahua.contactsfragment;
import java.util.collections;
import huahua.huahuacontacts.r;
import huahua.huahuacontacts.utils;
import android.app.activity;
import android.app.progressdialog;
import android.content.contentresolver;
import android.content.contenturis;
import android.content.contentvalues;
import android.content.intent;
import android.net.uri;
import android.os.asynctask;
import android.os.bundle;
import android.provider.contactscontract;
import android.provider.contactscontract.commondatakinds.phone;
import android.provider.contactscontract.commondatakinds.structuredname;
import android.provider.contactscontract.rawcontacts;
import android.provider.contactscontract.rawcontacts.data;
import android.util.log;
import android.view.view;
import android.view.window;
import android.widget.button;
import android.widget.edittext;
import android.widget.textview;
import android.widget.toast;
public class addcontactsactivity extends activity{
 private button m_savebtn;
 private edittext m_editname;
 private edittext m_editnum;
 private textview m_texttitle;
 private string m_contactid;
 private int m_type;
 progressdialog m_dialogloading;
 @override
 protected void oncreate(bundle savedinstancestate) {
 super.oncreate(savedinstancestate);
 this.requestwindowfeature(window.feature_no_title);
 setcontentview(r.layout.add_contacts);
 intent intent = getintent();
 bundle bundle = intent.getbundleextra("person");
 m_texttitle = (textview)findviewbyid(r.id.text_title);
 m_editname = (edittext)findviewbyid(r.id.edit_name);
 m_editnum = (edittext)findviewbyid(r.id.edit_num);
 m_type = bundle.getint("tpye");
 m_editname.settext(bundle.getstring("name"));
 m_editnum.settext(bundle.getstring("number"));
 if(m_type == 0)//新增联系人
 {
  m_texttitle.settext("新增联系人");
 }
 else if(m_type == 1)//编辑联系人
 {
  m_contactid = bundle.getstring("id");
  m_texttitle.settext("编辑联系人");
 }
 m_savebtn = (button)findviewbyid(r.id.btn_save_contact);
 m_savebtn.setonclicklistener(new view.onclicklistener() {
  @override
  public void onclick(view v) {
  if("".equals(m_editname.gettext().tostring()))
  {
   toast.maketext(addcontactsactivity.this, "请输入联系人姓名", toast.length_short).show();
  }
  else if("".equals(m_editnum.gettext().tostring()))
  {
   toast.maketext(addcontactsactivity.this, "请输入联系人电话", toast.length_short).show();
  }
  else if(m_type == 0)
  {
   //新增联系人操作,放在线程中处理
   new savecontacttask().execute();
  }
  else if(m_type == 1)
  {
   //更新联系人操作,放在线程中处理
   new changecontacttask().execute();
  }
  }
 });
 }
 class savecontacttask extends asynctask<void, integer, void>{
 @override
 protected void doinbackground(void... params) {
  utils.addcontact(m_editname.gettext().tostring(), m_editnum.gettext().tostring());
  return null;
 }
 @override
 protected void onpostexecute(void result) {
  if(m_dialogloading!= null)
  {
  m_dialogloading.dismiss();
  finish();
  }
 }
 @override
 protected void onpreexecute() {
  m_dialogloading = new progressdialog(addcontactsactivity.this);
     m_dialogloading.setprogressstyle(progressdialog.style_spinner);//设置风格为圆形进度条
     m_dialogloading.setmessage("正在保存联系人");
     m_dialogloading.setcancelable(false);
      m_dialogloading.show();
 }
 @override
 protected void onprogressupdate(integer... values) {
 }
 }
 class changecontacttask extends asynctask<void, integer, void>{
 @override
 protected void doinbackground(void... params) {
  utils.changecontact(m_editname.gettext().tostring(), m_editnum.gettext().tostring(),m_contactid);
  return null;
 }
 @override
 protected void onpostexecute(void result) {
  if(m_dialogloading!= null)
  {
  m_dialogloading.dismiss();
  finish();
  }
 }
 @override
 protected void onpreexecute() {
  m_dialogloading = new progressdialog(addcontactsactivity.this);
     m_dialogloading.setprogressstyle(progressdialog.style_spinner);//设置风格为圆形进度条
     m_dialogloading.setmessage("正在保存联系人");
     m_dialogloading.setcancelable(false);
      m_dialogloading.show();
 }
 @override
 protected void onprogressupdate(integer... values) {
 }
 }
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网