我有一个应用程序的想法,目前正在学习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应用程序可以检索图像