我想通过互联网将应用收集的一些数据发送到计算机。其次,除此之外,还想通过互联网在电脑上显示相机的实时信息。
我认为制作网络服务器将是第一个要求的一个很好的选择。但由于我是Android开发的新手,所以请指导我。
对于实时Feed选项,请建议如何实现。
答案 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