本地编写 android通讯录 同步联系人不用 gmail 豌豆荚 91助手啦

android手机,触屏的居多,掉电也很快,新买的手机 编辑联系人数目多了也真累,还难得那么频繁的充电

使用 通讯录自带的“导出联系人“  --》 ”导出到SD卡“

我把导出来的 00001.vcf 文件搬到了 fedora系统环境下

用vim打开它,有发现,绝对有发现:

它的内容如下:

BEGIN:VCARD                            -------> 这一行是标准格式 起始处
VERSION:2.1                             -------->版本号 如果把gmail的联系人导出到本地,这里版本号是 3.1
EMAIL;PREF:csdn****@126.com      -------->前面的 EMAIL;PREF:  是固定格式
END:VCARD                                -------->标志一个联系人项目的结束
BEGIN:VCARD
VERSION:2.1
N:我;;;;                                      --------> 联系人的不同 ”我“ 字发生改变
FN:                                              ---------->   first name
TEL;CELL:1-595-&&&-&&&&        -------> TEL;CELL: 是固定格式,gmail上导出来的略有不同

END:VCARD
BEGIN:VCARD
VERSION:2.1
N:爸;;;;
FN:
TEL;CELL:1-&&&-&&&-&&&&
END:VCARD

 

既然格式这么固定,那自然可以进行 ”格式化“ 输入,因此,我写了个 c 语言程序,实验一下:

 

#include <stdio.h>
int main( int argc, char **argv){

   

    //char qname[10];
    char name[30];
    char num[20];
    int exe = 1;
   

    FILE *fp;
   

    if( ( fp = fopen("0000.vcf","w") ) == NULL ){
        printf( "open file failure !/n" );
        exit( 0 );
    }
    printf("please input like: lqx李奇兴 1820101&&&&/n");
    printf("input ( # # ) to quit/n");
    fscanf(stdin,"%s%s",&name,&num);
    if ( name[0]  !=  '#' ){
          exe = 1;
    }else exe = 0;

// printf("%d/n",exe);
   

    while ( exe ){
    fputs( "BEGIN:VCARD/nVERSION:2.1/nN:" , fp );
    fputs( name , fp );
    fputs( ";;;;/n", fp );
    fputs( "FN:" , fp );
//   fputs(name,fp);
    fputs( "/nTEL;CELL:" , fp );
    fputs( num , fp );
    fputs( "/nEND:VCARD/n" , fp );
    fscanf( stdin , "%s%s", &name , &num );
    if( name[0]  != '#'  ){

          exe = 1;
    }else

           exe = 0;
}
    fclose( fp );
    return 0;
}

我把它编译指定输出为 : android_pb

然后 我直接 gedit一个文本,这里我名其为 in.txt

内容格式如下:

李奇兴lqx       1820101&&&&                ------>习惯了名字后面加英文,便于查找(用惯了黑莓,呵呵)

csdn博客       1820101&&&&

#                  #                                    ----->标志结束

 

在终端输入:

./android_pb < in.txt

执行完以后,在当前目录下生成了一个  0000.vcf文件,导入android手机测试,成功!!!

 

在这里,我实现的只是" 姓名 电话 "的输入格式,邮箱地址等我就没试了

另外,代码里面有个 qname 被注释掉了,因为之前打算是:

BEGIN:VCARD
VERSION:2.1
N:我;;;;                                                             --------> 这里汉字
FN:                                                                    ---------->   这里英文
TEL;CELL:1-595-&&&-&&&&                               -----------> TEL;CELL: 是固定格式

但是生成的vcf导入手机以后,英文出来了,汉字不见了,额,没多想,直接用”姓名  电话“来输入了,有兴趣的朋友可以试一下

 

之所以这么整,是因为 在gmail上建联系人在导入手机,不仅需要上网同步,而且这个创建过程一只在点击鼠标,不爽

创建 vcf在本地直接导入多好,建一个 txt文本总比 繁琐点击鼠标强吧,呵呵

 

我是在fedora下试的,没在win下编写,之前想编写一个,然后生成一个 通用版的exe供网友方便使用,由于重装了win7.vc环境没了,懒得装了,反正是在linux下学习c的,故这一步工作没有做了,一字一字先敲这么些,哪位朋友要是做了一个,发我一个喽

邮箱 liqix326@gmail.com

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值