注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

民主与科学

独立之人格,自由之思想

 
 
 

日志

 
 

使用Contact数据模型来批量插入联系人(上)  

2011-03-15 14:28:21|  分类: 电话薄 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
使用Contact数据模型来批量插入联系人主要需要contact数据模型的以下两文件:
com.android.contacts.model下的:
EntitySet.java
EntityDelta.java
以上文件的源码地址可以在http://hi-android.info/src/找到。
EntitySet在Android 4.0中已经被改名为EntityDeltaList.
我自己的代码在MainActivity.java,DialogResolver.java和ContactPersistTask.java。
注意:需要在AndroidManifest.xml加入contacts的权限。
写contacts的权限为:
<uses-permission android:name="android.permission.READ_CONTACTS" />
读contacts的权限为: 
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
文件1
MainActivity.java文件

package com.teleca.robin.Contact;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity implements DialogResolver{
final static String TAG="robin";
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button button = (Button) findViewById(R.id.Button01);
        OnClickListener listener = new OnClickListener() {
         public void onClick(View v) {
         doAddAction();
         }
        };
        button.setOnClickListener(listener);
     editText=(EditText)findViewById(R.id.editText);
     editText.setText("100");
    }
    EditText editText;
    void doAddAction() {

     String content=editText.getText().toString();
     int count=0;
     try{
     count=Integer.parseInt(content);
     }catch(NumberFormatException e)
     {
     Toast.makeText(this, "please input a Number for Contacts count!",
     Toast.LENGTH_SHORT).show();
     }
        final ContactPersistTask task = new ContactPersistTask(this);
        task.execute(count);

    }
    public void showDialog(Dialog dialog)
    {
     dialog.show();
    }
    public void dismissDialog(Dialog dialog)
    {
     dialog.dismiss();
    }
    public Activity getActivity(){
     return this;
    }
}

文件2
DialogResolver.java文件

package com.teleca.robin.Contact;

import android.app.Dialog;

public interface DialogResolver{
 public void showDialog(Dialog dialog);
 public void dismissDialog(Dialog dialog);
}

注意:对于任何实现了DialogResolver的类,要求该类必须是Activity。
文件3
布局文件main.xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello"
    />
    <EditText  
    android:id="@+id/editText"
    android:layout_width="100dp" 
    android:layout_height="wrap_content"
    />
 <Button android:text="@string/add" android:id="@+id/Button01" android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
</LinearLayout>
文件4
strings.xml文件

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="hello">please input the number to add for contact!</string>
    <string name="app_name">ContactGenerator</string>
    <string name="add">add</string>
    <string name="insert_title">insert contact</string>
    <string name="insert_tip">waiting</string>
</resources>

下文接《使用Contact数据模型来批量插入联系人(下)
  评论这张
 
阅读(1433)| 评论(2)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017