1
嗨我寫了一個代碼來將JSON對象從android手機傳輸到PHP服務器,如下所示。如果我想將文件傳輸到服務器,能否請您在我的代碼中建議我所需的更改。更改將文件從Android傳輸到一個PHP服務器
private String constructDataRecord(JSONObject data, String type)
{
JSONObject dataRecord = new JSONObject();
try
{
dataRecord.put("date", timeStr);
dataRecord.put("time_stamp", c.getTimeInMillis());
dataRecord.put("user", IMEI);
dataRecord.put("type", type);
dataRecord.put("ver", VER);
dataRecord.put("data", data);
}
catch (JSONException e)
{
Log.e(TAG, "Exception", e);
}
String url = "http://mpss.csce.uark.edu/~smandava/index.php";
Map<String, String> kvPairs = new HashMap<String, String>();
kvPairs.put("data", dataRecord.toString());
Log.d(TAG, "Exception");
HttpResponse re = null;
try {
re = doPost(url, kvPairs);
String temp = EntityUtils.toString(re.getEntity());
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// if (temp.compareTo("SUCCESS")==0)
{
// Toast.makeText(this, "Sending complete!", Toast.LENGTH_LONG).show();
}
return dataRecord.toString();
}
public static HttpResponse doPost(String url, Map<String, String> kvPairs) throws ClientProtocolException, IOException
{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(url);
if (kvPairs != null && kvPairs.isEmpty() == false)
{
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(kvPairs.size());
String k, v;
Iterator<String> itKeys = kvPairs.keySet().iterator();
while (itKeys.hasNext())
{
k = itKeys.next();
v = kvPairs.get(k);
nameValuePairs.add(new BasicNameValuePair(k, v));
}
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
}
HttpResponse response;
response = httpclient.execute(httppost);
return response;
}