与服务器通信并识别Android应用程序中的用户

时间:2013-08-18 12:42:59

标签: android mobile

我是一般的编程新手,我目前正在尝试开始在android上构建我的第一个移动应用程序。我正在考虑创建一个应用程序,它将向服务器发送请求,然后服务器将处理它并加载数据。应用程序,然后用户可以查看。

我有以下问题:

与服务器通信

我如何编程应用程序以便能够与服务器通信(我打算使用像godaddy / hostgator等网络主机)。

登录&识别

我如何唯一地识别应用的每个用户?是否有可能为从市场上下载我的应用并首次运行它的任何用户识别并创建一个帐户(可能通过gmail帐户他们用于Android市场?)或者我必须让每个用户在他们第一次运行我的应用程序时手动注册并登录?

如果有人能告诉我最好的入门方式以及如何最好地开发这样的应用程序,我将不胜感激。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用json将数据发送到服务器一个简单的示例,将数据发送到服务器以发送邮件..

服务器端(Php脚本):

<?php
$name = $_POST['name'];
$to = $_POST['to'];
$from = $_POST['from'];
$subject = $_POST['subject'];
$message = "From: ".$name."\r\n";
$message .= $_POST['message'];
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
?> 

客户端:

 public static void sendData(String name, String to, String from, String subject, String message)
    {
        String content = "";

        try
        {               
            /* Sends data through a HTTP POST request */
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost("http://your.website.com");
            List <NameValuePair> params = new ArrayList <NameValuePair>();
            params.add(new BasicNameValuePair("name", name));
            params.add(new BasicNameValuePair("to", to));
            params.add(new BasicNameValuePair("from", from));
            params.add(new BasicNameValuePair("subject", subject));
            params.add(new BasicNameValuePair("message", message));
            httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));

            /* Reads the server response */
            HttpResponse response = httpClient.execute(httpPost);
            InputStream in = response.getEntity().getContent();

            StringBuffer sb = new StringBuffer();
            int chr;
            while ((chr = in.read()) != -1)
            {
                sb.append((char) chr);
            }
            content = sb.toString();
            in.close();

            /* If there is a response, display it */
            if (!content.equals(""))
            {
                Log.i("HTTP Response", content);
            }
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

以同样的方式,您可以拥有login.php并将数据发送到服务器......