android手机数据库操作

来源:互联网 发布:caffe架构 编辑:程序博客网 时间:2024/06/08 04:38

对于手机测试大数据很有帮助。

能对手机中的通讯录实现 增删改查。

package com.example.phonebooks;


import java.util.ArrayList;

import android.app.Activity;
import android.content.ContentProviderOperation;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

/**
 * add contact person information to your phone book.
 * @author helong
 *
 */
public class MainActivity extends Activity {
    Button add_button;
    EditText numberEditText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        add_button = (Button)findViewById(R.id.add);
        numberEditText = (EditText)findViewById(R.id.number);
        add_button.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                int num = Integer.parseInt(numberEditText.getText().toString());
                createContact(num);
                Toast toast = Toast.makeText(MainActivity.this, "ADD successful", Toast.LENGTH_LONG);
                toast.show();
            }
        });
    }

    private void createContact(int num_contact)
    {
        int n,n1,n2;
        String displayName = "He, Long";
        String mobileNumber = "0000000";
        String homeNumber = "111111";
        String WorkNumber = "2222222";
        String emailID = "long.he@nomail.com";
        String company = "Amazon";
        String jobTitle = "soft engineer";
        StringBuffer mobileNumber1 = new StringBuffer("131");
        StringBuffer homeNumber1 = new StringBuffer("138");
        StringBuffer WorkNumber1 = new StringBuffer("159");
        for(int j=0;j<num_contact;j++)
        {
            //mobile number,home number, work number
            for(int i=0;i<8;i++)
            {
                n = (int)(Math.random()*10);
                n1 = (int)(Math.random()*10);
                n2 = (int)(Math.random()*10);
                mobileNumber1.append(n);
                homeNumber1.append(n1);
                WorkNumber1.append(n2);
            }
            mobileNumber = mobileNumber1.toString();
            homeNumber = homeNumber1.toString();
            WorkNumber = WorkNumber1.toString();
            
            //company
            company = "Neusoft";
            StringBuffer displayName1 = new StringBuffer();
            //big
            n = (int)(Math.random()*25)+65;
            //small
            n1 = (int)(Math.random()*25)+97;
            displayName1.append((char)n);
            displayName1.append((char)n1);
            displayName1.append(", ");
            
            n = (int)(Math.random()*25)+65;
            n1 =(int)(Math.random()*25)+97;
            n2 = (int)(Math.random()*25)+97;
            displayName1.append((char)n);
            displayName1.append((char)n1);
            displayName1.append((char)n2);
            displayName = displayName1.toString();
            
            n = 0;
            n1= 0;
            n2 = 0;
            
            emailID = displayName.replace(", ", "_") + "@Neusoft.com";
            
            phoneBook(displayName, mobileNumber, homeNumber, WorkNumber, emailID,
                    company, jobTitle);
            
            sleep(5);
        }
    }
    /**
     * sleep seconds
     *
     */
    public void sleep(int msec)
    {
        try
        {
            //sleep for 5000 ms
            Thread.currentThread().sleep(msec);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    

    
    private void phoneBook(String displayName, String mobileNumber,
            String homeNumber, String WorkNumber, String emailID,
            String company, String jobTitle) {
        ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();

        ops.add(ContentProviderOperation
                .newInsert(ContactsContract.RawContacts.CONTENT_URI)
                .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null)
                .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null)
                .build());

        //  Names
        if (displayName != null) {
            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID, 0)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
                    .withValue(
                            ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME,
                            displayName).build());
        }
        //  Mobile Number
        if (mobileNumber != null) {
            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID, 0)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                    .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER,
                            mobileNumber)
                    .withValue(ContactsContract.CommonDataKinds.Phone.TYPE,
                            ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
                    .build());
        }

        //  Home Numbers
        if (homeNumber != null) {
            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID, 0)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                    .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER,
                            homeNumber)
                    .withValue(ContactsContract.CommonDataKinds.Phone.TYPE,
                            ContactsContract.CommonDataKinds.Phone.TYPE_HOME)
                    .build());
        }
        //  Work Numbers
        if (WorkNumber != null) {
            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID, 0)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                    .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER,
                            WorkNumber)
                    .withValue(ContactsContract.CommonDataKinds.Phone.TYPE,
                            ContactsContract.CommonDataKinds.Phone.TYPE_WORK)
                    .build());
        }

        
        // Email
        if (emailID != null) {
            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID, 0)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE)
                    .withValue(ContactsContract.CommonDataKinds.Email.DATA,
                            emailID)
                    .withValue(ContactsContract.CommonDataKinds.Email.TYPE,
                            ContactsContract.CommonDataKinds.Email.TYPE_WORK)
                    .build());
        }

        // Organization
        if (!company.equals("") && !jobTitle.equals("")) {
            ops.add(ContentProviderOperation
                    .newInsert(ContactsContract.Data.CONTENT_URI)
                    .withValueBackReference(
                            ContactsContract.Data.RAW_CONTACT_ID, 0)
                    .withValue(
                            ContactsContract.Data.MIMETYPE,
                            ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE)
                    .withValue(
                            ContactsContract.CommonDataKinds.Organization.COMPANY,
                            company)
                    .withValue(
                            ContactsContract.CommonDataKinds.Organization.TYPE,
                            ContactsContract.CommonDataKinds.Organization.TYPE_WORK)
                    .withValue(
                            ContactsContract.CommonDataKinds.Organization.TITLE,
                            jobTitle)
                    .withValue(
                            ContactsContract.CommonDataKinds.Organization.TYPE,
                            ContactsContract.CommonDataKinds.Organization.TYPE_WORK)
                    .build());
        }
        // Asking the Contact provider to create a new contact
        try {
            getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
        } catch (Exception e) {
            e.printStackTrace();

        }

    }
}

0 0
原创粉丝点击