import android.content.ContentProviderOperation;

import android.os.Bundle;

import android.provider.ContactsContract;

import android.support.v7.app.AppCompatActivity;

import android.util.Log;


import java.util.ArrayList;

import java.util.Random;


public class MainActivity extends AppCompatActivity {

static final String CHARACTERS="ABCDEFGHJIKLMNOPQRSTUVWXYZ1234567890";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

startThread();

// test1();

}

// public void test1(){

// System.err.println("");

//// char[] str = "".toCharArray();

//// for (char ch:str ) {

//// System.err.println("CH:" + ch + " " + String.valueOf(ch).matches("[a-zA-Z]"));

//// }

//

// }

public void startThread(){

for (int i = 0; i <4 ; i++) {

moreThread(2000*i);

}


}

private void addToPhoneContact(String number, String name) {

try {

ArrayList<ContentProviderOperation> ops = new ArrayList<>();

ContentProviderOperation.Builder builder = ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI);

builder.withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null);

builder.withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null);

ops.add(builder.build());


// Name


builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);

builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0);

builder.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);

builder.withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name);

ops.add(builder.build());


// Number

builder = ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI);

builder.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0);

builder.withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);

builder.withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, number);

builder.withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);

ops.add(builder.build());


getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);


} catch (Exception e) {

e.printStackTrace();

}

}

public String randomString(int length){

char[] text=new char[length];

Random random=new Random();

for (int i= 0; i < length ; i++) {

text[i]=CHARACTERS.charAt(random.nextInt(CHARACTERS.length()));


}

return new String(text);


}

public void moreThread(final int startNumber){

new Thread(new Runnable() {

@Override

public void run() {

for (int i = startNumber; i <startNumber+2000 ; i++) {

addToPhoneContact("8765" + String.format("%04d", i), randomString(4));


}

for (int i = startNumber; i <startNumber+2000 ; i++) {

addToPhoneContact("7765" + String.format("%04d", i), randomString(4));

}

Log.e("aa","finish5");

}

}).start();

}

}


更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. Android Studio 常见异常解决办法
  2. Android——性能优化相关文章
  3. Linux下 使用Repo和Git下载Android源代码
  4. Eclipse默认标签TODO,XXX,FIXME和自定义
  5. android 命令修改时间或程序修改系统时间
  6. 让Android 设备通过USB 转RJ45有线网卡上
  7. Android中ListView的性能问题
  8. Android Launcher 设置壁纸
  9. 成为Android高手必须掌握的28大项内容和1
  10. Android APK 签名比对,防止软件被破解使用