获取对方通讯录的软件源码(获取通讯录信息)

本篇文章给大家谈谈获取对方通讯录的软件源码,以及获取通讯录信息对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

eclipse安卓手机通讯录

Android 系统给我们提供了访问通讯录的接口,通过接口获取通讯录信息。Adapter 与 View 的连接主要依靠 getView 这个方法返回我们需要的自定义 view。 ListView 是 Android App 中一个最最最常用的控件了,所以如何让 ListView 流畅运行,获取良好的用户体验是非常重要的。 对 ListView 优化就是对 Adapter 中的 getView 方法进行优化。

核心内容:

1.获取手机通讯录

2.数据封装

3.创建 Adapter

4.优化适配器

开发环境:Eclipse

效果图:

步骤:

1.新建项目,新建 GetNumber.class 类,用来获取通讯录中的信息

package com.yanis.getmyphonenumber;import java.util.ArrayList;import java.util.List;import android.content.Context;import android.database.Cursor;import android.provider.ContactsContract.CommonDataKinds.Phone;public class GetNumber {    public static ListPhoneInfo lists = new ArrayListPhoneInfo();    public static String getNumber(Context context) {

Cursor cursor = context.getContentResolver().query(Phone.CONTENT_URI,                null, null, null, null);

String phoneNumber;

String phoneName;        while (cursor.moveToNext()) {

phoneNumber = cursor.getString(cursor.getColumnIndex(Phone.NUMBER));//电话号码

phoneName = cursor.getString(cursor.getColumnIndex(Phone.DISPLAY_NAME));//姓名

PhoneInfo  info = new PhoneInfo(phoneName, phoneNumber);

lists.add(info);

System.out.println(phoneName+phoneNumber);

}        return null;

}

}

2.添加权限

!-- 读取联系人权限 --  uses-permission android:name="android.permission.READ_CONTACTS"/

3.新建 PhoneInfo.class 类作为通讯录信息封装类

package com.yanis.getmyphonenumber;/**

*

* @author yechao

* @说明 通讯录信息封装类 */public class PhoneInfo {    private String phoneName;    private String phoneNumber;    public PhoneInfo(String phoneName, String phoneNumber) {

setPhoneName(phoneName);

setPhoneNumber(phoneNumber);

}    public String getPhoneName() {        return phoneName;

}    public void setPhoneName(String phoneName) {        this.phoneName = phoneName;

}    public String getPhoneNumber() {        return phoneNumber;

}    public void setPhoneNumber(String phoneNumber) {        this.phoneNumber = phoneNumber;

}

}

4.自定义 ListView 的适配器类 MyAdapter.class

package com.yanis.getmyphonenumber;import java.util.List;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.LinearLayout;import android.widget.TextView;public class MyAdapter extends BaseAdapter {    private ListPhoneInfo lists;    private Context context;//承接上下文

public MyAdapter(ListPhoneInfo lists,Context context)

{        this.lists = lists;        this.context = context;

}

//返回集合的数量    @Override    public int getCount() {        return lists.size();

}    //返回当前数据    @Override    public Object getItem(int position) {        return lists.get(position);

}    //获取当前ID    @Override    public long getItemId(int position) {        return position;

}    //返回当前视图     @Override    public View getView(int position, View convertView, ViewGroup parent) {

ViewHolder holder ;        if(convertView==null)

{

convertView = LayoutInflater.from(context).inflate(R.layout.call,null);

holder = new ViewHolder();

holder.tvName =  (TextView)convertView.findViewById(R.id.tv_Name);

holder.tvNumber =  (TextView)convertView.findViewById(R.id.tv_Number);

convertView.setTag(holder);

}else {

holder = (ViewHolder)convertView.getTag();

}

holder.tvName.setText(lists.get(position).getPhoneName());

holder.tvNumber.setText(lists.get(position).getPhoneNumber());        return convertView;

}

private static class ViewHolder{

TextView tvName;

TextView tvNumber;

}

}

5.最后就是主界面代码,至于布局太简单就不列出来了,有兴趣的童鞋可以查看源代码package com.yanis.getmyphonenumber;import android.app.Activity;import android.os.Bundle;import android.widget.ListView;public class MainActivity extends Activity {    private ListView listView;    private MyAdapter adapter;

@Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

GetNumber.getNumber(this);

initView();

}    private void initView() {

listView =(ListView) findViewById(R.id.listView);

adapter = new MyAdapter(GetNumber.lists, this);

listView.setAdapter(adapter);

}

}

有哪位大神有iphone通讯录源码?用UI做的

建议可以通过第三方软件微信来完成,具体方法如下:

1、在原来的手机上下载微信,安装并登录。

2、点击微信里的设置,选择通用,点击功能,再点击通讯录安全助手,选择启用,之后点击备份即可上传手机的通讯录。

3、在ipad上同样下载一个微信,登陆后照以上方法找到通讯录安全助手,进入后点击恢复即可下载并导入通讯录。

跪求大神给份用Android做的手机通讯录的完整源码,能够打电话,发短信,创建等等,谢谢了。

Android通讯录管理(获取联系人、通话记录、短信消息)

用这个地址

通讯录c/c++源代码

参考答案:伟大的事业,需要决心,能力,组织和责任感。 ——易卜生

c++通讯录源码

//通讯录系统,每条记录由姓名、qq、电话号码组成

//用结构体数组实现,可以自动扩充存储区

//多给点财富吧

#includestdio.h

#includestdlib.h

#includestring.h

#define N 60

#define BufLen 1024

typedef struct tagRecord

{

char name[N];

char qq[N];

char tel[N];

}Record,*PtRecord;

typedef enum tagType

{

ByName=1,

ByQQ,

ByTel,

}Type;

typedef enum tagMenu

{

Quit=0,

Add,

Del,

Find,

Output,

OutputAll,

}Menu;

void processmenu(Menu m);

void init();

void begin();

void myrealloc(int reserved);

int add();

void del(int n);

int find(char *v,Type t);

void output(int n);

void outputall();

const int MinCapacity=16;

int count,capacity;

char temp[BufLen]={'\0'},temp2[BufLen]={'\0'},quit[]="quit";

PtRecord ptr;

int main()

{

begin();

system("PAUSE");

return EXIT_SUCCESS;

}

//处理菜单

void processmenu(Menu m)

{

//无法处理wfchl

int t,wfchl=0;

switch(m)

{

case Quit:

if(ptr)

{

free(ptr);

}

exit(0);

break;

case Add:

add();

break;

case Del:

printf("请输入要删除的是第几个记录:");

scanf("%d",t);

del(t-1);

break;

case Find:

printf("子菜单:\n1、按姓名查找\n2、按qq号码查找\n3、按电话号码查找\n请选择一个:");

scanf("%d",t);

switch(t)

{

case ByName:

strcpy(temp2,"不存在姓名为");

printf("请输入要查找的记录的姓名:");

break;

case ByQQ:

strcpy(temp2,"不存在qq号码为");

printf("请输入要查找的记录的qq号码:");

break;

case ByTel:

strcpy(temp2,"不存在电话号码为");

printf("请输入要查找的记录的电话号码:");

break;

default:

printf("无法处理的子菜单命令。\n");

wfchl=1;

break;

}

if(!wfchl)

{

scanf("%s",temp);

t=find(temp,(Type)t);

if(-1==t)

{

strcat(temp2,temp);

strcat(temp2,"的记录。");

printf("%s\n",temp2);

}

else

{

output(t);

}

}

break;

case Output:

printf("请输入要输出第几个记录的信息:");

scanf("%d",t);

output(t-1);

break;

case OutputAll:

outputall();

break;

default:

printf("无法处理的菜单命令。\n");

break;

}

}

void init()

{

count=0;

capacity=MinCapacity;

ptr=(PtRecord)calloc(MinCapacity,sizeof(Record));

printf("初始化通讯录。\n");

while(add());

}

void begin()

{

Menu m;

char menuinfor[BufLen]={'\0'};

sprintf(menuinfor,

"菜单:\n%d、退出\n%d、添加记录\n%d、删除记录\n%d、查找记录\n%d、输出某个记录\n%d、输出所有记录\n请选择一个菜单:",

Quit,Add,Del,Find,Output,OutputAll);

init();

while(1)

{

printf("%s",menuinfor);

scanf("%d",m);

processmenu(m);

}

}

//自动增长通讯录的容量,参数reserved表示是否要保留原有数据

//1表示保留,0表示不保留

void myrealloc(int reserved)

{

int i,c=count+1;

PtRecord tempptr;

if(c=capacity)

{

tempptr=(PtRecord)calloc(2*c,sizeof(Record));

capacity=2*c;

if(reserved)

{

for(i=0;icount;i++)

{

tempptr[i]=ptr[i];

}

}

free(ptr);

ptr=tempptr;

}

}

//添加一个记录

//返回值表示本次添加操作是正常结束,还是异常结束

//返回1表示正常结束,返回0表示应用户要求终止输入

int add()

{

int r=1;

printf("添加记录。\n请输入姓名,qq,电话号码信息(以空格分隔),%s终止输入:",quit);

scanf("%s",temp);

if(strcmp(temp,quit))

{

myrealloc(1);

strcpy(ptr[count].name,temp);

scanf("%s %s",ptr[count].qq,ptr[count].tel);

printf("记录添加成功。\n");

count++;

}

else

{

r=0;

}

return r;

}

//删除下标为n的记录

void del(int n)

{

int i;

Record r;

//printf("del\n");

if(n=0 ncount)

{

r=ptr[n];

for(i=n;icount-1;i++)

{

ptr[i]=ptr[i+1];

}

printf("删除成功。\n记录[%d]:\n%s,%s,%s已删除。\n",n,r.name,r.qq,r.tel);

count--;

}

else

{

printf("删除失败。\n第%d个记录不存在。\n",n+1);

}

}

//查找类型为t,值为v的记录

//返回值为此记录在通讯录数组中的下标

//返回-1表示找不到符合要求的记录

int find(char *v,Type t)

{

int i,n=-1;

for(i=0;icount;i++)

{

switch(t)

{

case ByName:

if(!strcmp(ptr[i].name,v))

{

n=i;

}

break;

case ByQQ:

if(!strcmp(ptr[i].qq,v))

{

n=i;

}

break;

case ByTel:

if(!strcmp(ptr[i].tel,v))

{

n=i;

}

break;

default:

break;

}

if(-1!=n)

{

break;

}

}

return n;

}

//输出下标为n的记录的信息

void output(int n)

{

if(n=0 ncount)

{

printf("记录[%d]:\n%s,%s,%s。\n",n,ptr[n].name,ptr[n].qq,ptr[n].tel);

}

else

{

printf("第%d个记录不存在。\n",n+1);

}

}

//输出所有记录的信息

void outputall()

{

int i;

if(0==count)

{

printf("一个记录也没有了。\n");

}

for(i=0;icount;i++)

{

output(i);

}

}

java小型通讯录源代码

package src;

public class TelBook {

// 姓名

String name;

// 家庭电话

Integer homePhone;

// 个人移动电话

Integer personalMobilePhone;

// 办公电话

Integer officePhone;

// 家庭地址

String homeAddress;

// 办公地址

String officeAddress;

// QQ号码

Integer qqNumber;

// MSN号码

String msn;

// 邮件

String email;

// 备注

String notes;

String getEmail() {

return email;

}

void setEmail(String email) {

this.email = email;

}

String getHomeAddress() {

return homeAddress;

}

void setHomeAddress(String homeAddress) {

this.homeAddress = homeAddress;

}

Integer getHomePhone() {

return homePhone;

}

void setHomePhone(Integer homePhone) {

this.homePhone = homePhone;

}

String getMsn() {

return msn;

}

void setMsn(String msn) {

this.msn = msn;

}

String getName() {

return name;

}

void setName(String name) {

this.name = name;

}

String getNotes() {

return notes;

}

void setNotes(String notes) {

this.notes = notes;

}

String getOfficeAddress() {

return officeAddress;

}

void setOfficeAddress(String officeAddress) {

this.officeAddress = officeAddress;

}

Integer getOfficePhone() {

return officePhone;

}

void setOfficePhone(Integer officePhone) {

this.officePhone = officePhone;

}

Integer getPersonalMobilePhone() {

return personalMobilePhone;

}

void setPersonalMobilePhone(Integer personalMobilePhone) {

this.personalMobilePhone = personalMobilePhone;

}

Integer getQqNumber() {

return qqNumber;

}

void setQqNumber(Integer qqNumber) {

this.qqNumber = qqNumber;

}

public TelBook() {

}

public TelBook(String name, Integer personalMobilePhone) {

this.setName(name);

this.setPersonalMobilePhone(personalMobilePhone);

}

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

TelBook myfriend = new TelBook("张三", new Integer("13800138000"));

}

}

关于获取对方通讯录的软件源码和获取通讯录信息的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

1、本网站名称:源码村资源网
2、本站永久网址:https://www.yuanmacun.com
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
源码村资源网 » 获取对方通讯录的软件源码(获取通讯录信息)

1 评论

您需要 登录账户 后才能发表评论

发表评论

欢迎 访客 发表评论