简体   繁体   English

联系人android应用程序开发

[英]Contacts android application development

I wrote Adding contacts Android App which contains one name field and one number field and a save button,when enter name and number and press the save button it will add that contact to contact list..It working fine..but when your not entered anything and pressed save button it saving the contact with "noname"..for this i wrote if and else condition but it is not working..please give me solution this is my source code: 我写了“添加联系人” Android App,其中包含一个姓名字段和一个数字字段以及一个保存按钮,当输入姓名和电话号码并按保存按钮时,会将该联系人添加到联系人列表中。它工作正常,但是当您未输入时一切,然后按保存按钮,它用“ noname”保存联系人。为此,我写了if和else条件,但它不起作用..请给我解决方案,这是我的源代码:

 package com.example.contacts;

    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.widget.EditText;
    import android.widget.Toast;
    //import android.view.Menu;

    public class ContactDetails extends Activity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_contact_details);
        }


        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.contact_details, menu);
            return true;
        }
        public void onSave(View view)
        {
            EditText mytext=(EditText)findViewById(R.id.editText1);
            String name=mytext.getText().toString();
            Toast.makeText(this,name,Toast.LENGTH_LONG).show();
            EditText mytext1=(EditText)findViewById(R.id.editText2);
            String number=mytext1.getText().toString();
            Toast.makeText(this,number,Toast.LENGTH_LONG).show();
            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());
                 if (name != "") {
                 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,
                 name).build());
             }
                 else
                 {
                     Toast.makeText(this, "Enter Valid Name",Toast.LENGTH_LONG).show();
                     return;
                 }


             if (number != 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, number)
                     .withValue(ContactsContract.CommonDataKinds.Phone.TYPE,
                 ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
                     .build());
             }
             else
             {
                 Toast.makeText(this, "Enter Valid Number",Toast.LENGTH_LONG).show();
                 return;
        }                 
             try {
                 getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops);
                    Toast.makeText(this,"Contact Added",Toast.LENGTH_LONG).show();
             } catch (Exception e) {
                 e.printStackTrace();
                 Toast.makeText(this, "Exception: " + e.getMessage(), Toast.LENGTH_SHORT).show();
             }
        }
        public void onCancel(View v)
        {`enter code here`
            EditText et1=(EditText) findViewById(R.id.editText1);
            et1.setText("");
            EditText et2=(EditText) findViewById(R.id.editText2);
            et2.setText("");
         }
    }

try to use checking string like this 尝试使用像这样的检查字符串

if ((!name.equals("")) && name !=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,
                 name).build());
             }
                 else
                 {
                     Toast.makeText(this, "Enter Valid Name",Toast.LENGTH_LONG).show();
                     return;
                 }


             if (!(number.equals("")) && number !=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, number)
                     .withValue(ContactsContract.CommonDataKinds.Phone.TYPE,
                 ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
                     .build());
             }
             else
             {
                 Toast.makeText(this, "Enter Valid Number",Toast.LENGTH_LONG).show();
                 return;
        }   

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM