Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将android中带有键和值的字符串发布到php_Php_Android - Fatal编程技术网

将android中带有键和值的字符串发布到php

将android中带有键和值的字符串发布到php,php,android,Php,Android,我想在我的android应用程序中,在一个数组中发送所有联系人姓名和号码的联系人,如 john=>“+92312xxxxxx”, 现在,我使用namevaluepairs发布两个数组,但它的工作方式不是: 公共类联系人列表扩展活动{ public TextView outputText; String phoneNumber = null; String names = null; String[] keyValue; String[] kes; int Count

我想在我的android应用程序中,在一个数组中发送所有联系人姓名和号码的联系人,如 john=>“+92312xxxxxx”, 现在,我使用namevaluepairs发布两个数组,但它的工作方式不是: 公共类联系人列表扩展活动{

public TextView outputText;
   String phoneNumber = null;
   String names = null;
   String[] keyValue;
   String[] kes;
   int Count;
   String s = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_contact_list);
    outputText = (TextView) findViewById(R.id.textView1);

     fetchContacts();
    //Http connection
     InputStream is=null;
List<NameValuePair> nameValuePairs =new ArrayList<NameValuePair>(1);
        for (int i = 0; i < Count ; i++)
            {
            nameValuePairs.add(new BasicNameValuePair("CN[]", keyValue[i]));
            nameValuePairs.add(new BasicNameValuePair("names[]",kes[i]));
            Log.i("Response", "you sent :" +kes[i]+" :"+ keyValue[i] + "\n ");
            }
        try{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://192.168.1.107/older/ContactList.php");
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
        HttpResponse response = httpclient.execute(httppost);
        HttpEntity entity = response.getEntity();
        is = entity.getContent();
        } 
        catch(ClientProtocolException e)
        {
            Log.e("ClientProtocol","Log_tag");
            e.printStackTrace();
            System.out.println("Excep: "+e);
        }
        catch(IOException e)
        {
            Log.e("Log_tag","IOException"); 
            e.printStackTrace();
        }

        String result = "";
        try

        {
            BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
            StringBuilder sb = new StringBuilder();
            String line = null;
            while ((line = reader.readLine()) != null) 
            {
                sb.append(line + "\n");
            }
            reader.close();
            is.close();
            result=sb.toString();
            Log.i("Response", "result "+ result);
        }       
        catch(Exception e)
        {
        Log.e("log_tag", "Error converting result "+e.toString());
        }
        //result = "[{\"0\":\"Muhaimin\",\"1\":\"3\",\"2\":\"o+\"}]";
         try
        {
        JSONArray jArray = new JSONArray(result);
        for (int i = 0; i < jArray.length(); i++)
       {
            s= s +";"+ jArray.getString(i) + "\n";
       }
       } 
       catch (Exception e)
       {
       Log.e("Response", "error fetching indexes" + e);
       }
       String[] friends= s.split(";");
       StringBuffer output = new StringBuffer();
       for (int i = 0; i < friends.length; i++) 
       {
            Log.i("List","Your friends namee"+friends[i]);
            output.append("\n Your friend's number"+ friends[i]);
       }    
    }
    //Fetch Contacts
     public void fetchContacts() {

          //  String email = null;
            Uri CONTENT_URI = ContactsContract.Contacts.CONTENT_URI;
            String _ID = ContactsContract.Contacts._ID;
            String DISPLAY_NAME = ContactsContract.Contacts.DISPLAY_NAME;
            String HAS_PHONE_NUMBER = ContactsContract.Contacts.HAS_PHONE_NUMBER;
            Uri PhoneCONTENT_URI = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
            String Phone_CONTACT_ID = ContactsContract.CommonDataKinds.Phone.CONTACT_ID;
            String NUMBER = ContactsContract.CommonDataKinds.Phone.NUMBER;
           // Uri EmailCONTENT_URI =  ContactsContract.CommonDataKinds.Email.CONTENT_URI;
            //String EmailCONTACT_ID = ContactsContract.CommonDataKinds.Email.CONTACT_ID;
         //   String DATA = ContactsContract.CommonDataKinds.Email.DATA;

            ContentResolver contentResolver = getContentResolver();
            Cursor cursor = contentResolver.query(CONTENT_URI, null,null, null, null); 
            // Loop for every contact in the phone
            Count = cursor.getCount();
            if (cursor.getCount() > 0) {
                 keyValue= new String[Count];
                   kes= new String[Count];

                while (cursor.moveToNext()) {
                    String contact_id = cursor.getString(cursor.getColumnIndex( _ID ));
                    String name = cursor.getString(cursor.getColumnIndex( DISPLAY_NAME ));
                    int hasPhoneNumber = Integer.parseInt(cursor.getString(cursor.getColumnIndex( HAS_PHONE_NUMBER )));

                    if (hasPhoneNumber > 0) {

                     // Query and loop for every phone number of the contact
                        Cursor phoneCursor = contentResolver.query(PhoneCONTENT_URI, null, Phone_CONTACT_ID + " = ?", new String[] { contact_id }, null);
                        while (phoneCursor.moveToNext()) 
                        {
                            int i=0;
                            String stu = phoneCursor.getString(phoneCursor.getColumnIndex(NUMBER));
                            phoneNumber +=":"+ stu;
                            names +=":" + name;
                            Log.i("List",stu + name +"\n" );
                        }

                        phoneCursor.close();
                                          }             
                                         }

            }
            keyValue = phoneNumber.split(":");
            kes = names.split(":");
            Log.i("List","24th"+keyValue[23]);
            Toast.makeText(getApplicationContext(), "99th "+keyValue[909] ,Toast.LENGTH_LONG).show();
        }
公共文本视图输出文本;
字符串phoneNumber=null;
字符串名称=null;
字符串[]键值;
字符串[]kes;
整数计数;
字符串s=“”;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u contact\u list);
outputText=(TextView)findViewById(R.id.textView1);
fetchContacts();
//Http连接
InputStream=null;
List nameValuePairs=新的ArrayList(1);
for(int i=0;i0){
keyValue=新字符串[计数];
kes=新字符串[计数];
while(cursor.moveToNext()){
String contact_id=cursor.getString(cursor.getColumnIndex(_id));
字符串名称=cursor.getString(cursor.getColumnIndex(DISPLAY_name));
int hasPhoneNumber=Integer.parseInt(cursor.getString(cursor.getColumnIndex(HAS_PHONE_NUMBER));
如果(hasPhoneNumber>0){
//查询并循环联系人的每个电话号码
游标phoneCursor=contentResolver.query(PhoneCONTENT\u URI,null,Phone\u CONTACT\u ID+“=?”,新字符串[]{CONTACT\u ID},null);
while(phoneCursor.moveToNext())
{
int i=0;
String stu=phoneCursor.getString(phoneCursor.getColumnIndex(NUMBER));
电话号码+=”:“+stu;
姓名+=“:”+姓名;
Log.i(“列表”,stu+name+“\n”);
}
phoneCursor.close();
}             
}
}
keyValue=phoneNumber.split(“:”);
kes=names.split(“:”);
Log.i(“列表”、“第24个”+键值[23]);
Toast.makeText(getApplicationContext(),“99”+keyValue[909],Toast.LENGTH_LONG).show();
}
PHP在收到联系人后将匹配这些联系人,并只返回那些与数据库联系人匹配的联系人。然后它返回带有姓名的联系人 我被发送和接收部分卡住了 下面是php代码

<?php
define('DB_HOST', 'localhost');
 define('DB_NAME', 'verification'); 
 define('DB_USER','root'); 
 define('DB_PASSWORD',''); 

 // 1. Create a database connection
$connection = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD);
if (!$connection) {
    die("Database connection failed: " . mysqli_error());
}

// 2. Select a database to use 
$db_select = mysqli_select_db($connection, DB_NAME);
if (!$db_select) {
    die("Database selection failed: " . mysqli_error());
}

$PhoneNum= $_POST["CN"];
$i=0;
$j=0;
$friends = array();
$Invite = array();
unset ($PhoneNum[0]);
foreach ($PhoneNum as $i=> $element){

 //or do whatever you need to do to that variable
$query="SELECT Number FROM `user` WHERE Number=$element";
$query_exec = mysqli_query($connection ,$query);
if (!$query_exec)
{  echo mysql_error(); }
ELSE {
if(mysqli_num_rows($query_exec)>0)
{
$friends["$j"]= $PhoneNum[$i];

$j++;
}
else
{
;
}}
}
echo (json_encode($friends));

?>
<