Android实现新增及编辑联系人的方法
程序员文章站
2022-05-27 10:22:06
本文实例介绍了android开发中对联系人修改、新增联系人的方法,通过本实例代码可实现添加联系人、编辑修改联系人,新增联系人和更新联系人等操作,操作主要放在线程中处理,并且...
本文实例介绍了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) { } } }
推荐阅读
-
Android实现获取SD卡总容量,可用大小,机身内存总容量及可用大小的方法
-
Android编程实现全局获取Context及使用Intent传递对象的方法详解
-
Android实现zip文件压缩及解压缩的方法
-
Vue+Element实现表格编辑、删除、以及新增行的最优方法
-
android获取照片的快照 思路及实现方法
-
Android实现检查并下载APK更新、安装APK及获取网络信息的方法
-
Android实现新增及编辑联系人的方法
-
Android实现侦听电池状态显示、电量及充电动态显示的方法
-
Android实现zip文件压缩及解压缩的方法
-
Android实现ViewPager多页面滑动切换及动画效果的方法