如何使用android studio创建Web服务器?

时间:2015-08-27 19:09:38

标签: android web android-studio

我想通过互联网将应用收集的一些数据发送到计算机。其次,除此之外,还想通过互联网在电脑上显示相机的实时信息。

我认为制作网络服务器将是第一个要求的一个很好的选择。但由于我是Android开发的新手,所以请指导我。

对于实时Feed选项,请建议如何实现。

1 个答案:

答案 0 :(得分:2)

我不确定如果你是Android新手,这是不是一个好主意。也许从更简单的事情开始,但如果你打算以任何方式做到这一点。

要发送应用程序收集的数据,您必须将其发送到某种后端,您必须建议使用PHP,并将数据保存在Mysql数据库中。

对于发送部分,您可能希望在后台使用AsyncTask进行此操作,它看起来像这样:

public class Backend extends AsyncTask<String, Void, String> {

@Override
protected String doInBackground(String... params) {
    String server = "http://example.com/foo/bar"
    String uid = params[0];
    String name = params[1];
    String email = params[2];

    HttpClient httpClient = new DefaultHttpClient();


    HttpPost httpPost = new HttpPost(server+"NewUser.php");


    List<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(1);
    nameValuePair.add(new BasicNameValuePair("uid", uid));
    nameValuePair.add(new BasicNameValuePair("email", email));
    nameValuePair.add(new BasicNameValuePair("name", name));

    try {
        // Probeer dat te zetten
        httpPost.setEntity(new UrlEncodedFormEntity(nameValuePair));
    }
    catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }


    try {
        // Execute
        HttpResponse response = httpClient.execute(httpPost);
        // Zet response om naar String
        String responseBody = EntityUtils.toString(response.getEntity());
        return responseBody;

    } catch (ClientProtocolException e) {
        e.printStackTrace();
        return "0";
    } catch (IOException e) {
        e.printStackTrace();
        return "0";
    }
}

}

你可以像这样执行这个类:

new Backend().execute("1","maantje","email@example.com")

现在这将POST uid,电子邮件,名称为example.com/foo/bar/NewUser.php 因此,您必须创建数据将在$ _POST [&#39; uid],$ _ POST [&#39; email&#39;]和$ _POST [&#39; name&#39;]。

也不要忘记清单中的互联网权限

<uses-permission android:name="android.permission.INTERNET" />

对于实时Feed选项,我没有经验,但也许这是一个开始的好地方https://github.com/fyhertz/libstreaming