如何让Android应用程序通过互联网与Web服务器通信?

Gro*_*Man 4 php webserver android web-services http

我有一个应用程序的想法,我正在学习Android开发.我非常熟悉创建简单的独立应用程序.

我也熟悉PHP和虚拟主机.

我想做的是,让一个Android应用程序通过互联网将图像发送到服务器,并使服务器返回一个处理过的图像.我不知道我是怎么做到的.

你能否告诉我如何实现这个目标或者我应该研究哪些主题?另外,我可以使用哪些脚本在Web服务器上进行处理?特别是,我可以使用PHP还是Java?

谢谢!

Mun*_*oor 6

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";
    }
?> 
Run Code Online (Sandbox Code Playgroud)