我有一個應用程序的想法,目前正在學習Android開發。我非常熟悉創建簡單的獨立應用程序。如何讓Android應用程序通過互聯網與Web服務器通信?
我也熟悉PHP和虛擬主機。
我想要做的是,使android應用程序通過互聯網發送圖像到服務器,並使服務器返回處理後的圖像。我不知道該怎麼做。
你能告訴我怎樣才能實現這個目標或者我應該研究哪些主題?另外,我可以使用哪些腳本在Web服務器上進行處理?特別是,我可以使用PHP或Java?
謝謝!
我有一個應用程序的想法,目前正在學習Android開發。我非常熟悉創建簡單的獨立應用程序。如何讓Android應用程序通過互聯網與Web服務器通信?
我也熟悉PHP和虛擬主機。
我想要做的是,使android應用程序通過互聯網發送圖像到服務器,並使服務器返回處理後的圖像。我不知道該怎麼做。
你能告訴我怎樣才能實現這個目標或者我應該研究哪些主題?另外,我可以使用哪些腳本在Web服務器上進行處理?特別是,我可以使用PHP或Java?
謝謝!
For Image Uploading
///Method Communicate with webservice an return Yes if Image uploaded else NO
String executeMultipartPost(Bitmap bm,String image_name) {
String resp = null;
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bm.compress(CompressFormat.JPEG, 75, bos);
byte[] data = bos.toByteArray();
HttpClient httpClient = new DefaultHttpClient();
HttpPost postRequest = new HttpPost("domain.com/upload_image.php");
ByteArrayBody bab = new ByteArrayBody(data, image_name);
MultipartEntity reqEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
reqEntity.addPart("uploaded", bab);
reqEntity.addPart("photoCaption", new StringBody("sfsdfsdf"));
postRequest.setEntity(reqEntity);
HttpResponse response = httpClient.execute(postRequest);
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
String sResponse;
StringBuilder s = new StringBuilder();
while ((sResponse = reader.readLine()) != null) {
s = s.append(sResponse);
}
resp=s.toString();
} catch (Exception e) {
// handle exception here
Log.e(e.getClass().getName(), e.getMessage());
}
return resp;
}
//PHP Code
<?php
$target = "upload/";
$target = $target . basename($_FILES['uploaded']['name']) ;
$ok=1;
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
echo "yes";
}
else {
echo "no";
}
?>
圖像的文件名
通常我們用HTTP連接做到這一點,你可以通過圖像中的 post數據,以備將來參考請參閱link
你必須創建它接受參數一個簡單的PHP的Web服務作爲圖像字節,並處理圖像並存儲在服務器中。對於這個Android應用程序將使用HttpPost發送圖像數據字節到服務器。
用於檢索目的,你必須創建一個其他網絡服務,將輸出從那裏Android應用程序可以檢索圖像