import android.content.ContentProviderOperation;java
import android.os.Bundle;android
import android.provider.ContactsContract;app
import android.support.v7.app.AppCompatActivity;dom
import android.util.Log;ide
import java.util.ArrayList;ui
import java.util.Random;orm
public class MainActivity extends AppCompatActivity {get
static final String CHARACTERS="ABCDEFGHJIKLMNOPQRSTUVWXYZ1234567890";it
@Overrideio
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();
}
}