我需要编写一个从Android向Google App Engine发送数据的应用程序。我想发送的数据可以通过典型的数据库记录来描述。每个记录都有一些整数,字符串,日期等。我希望隐藏/保护连接细节,以便有人不能在数据存储区中创建错误数据,如果它没有太多参与。
我的问题是:将这些数据从Android设备传输到GAE数据存储区的好方法是什么?如果您可以发布指向相应Android库的链接,或者指向过去如何完成此操作的链接,那将非常有用。
答案 0 :(得分:6)
没有特定于Android的内容 - 只需将HTTP POST
发送到GAE服务的网址即可接受请求,处理请求并存储数据。没有“Android-GAE”royal road
- POST
只是执行此操作的正常方式,无论是谁发送它,无论是谁服务它!
答案 1 :(得分:4)
是的,只需发送一个http帖子。以下是我使用的一些代码片段在Android上运行良好。
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
try {
int TIMEOUT_MILLISEC = 10000; // = 10 seconds
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams,
TIMEOUT_MILLISEC);
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
HttpClient client = new DefaultHttpClient(httpParams);
HttpPost request = new HttpPost(serverUrl);
request.setEntity(new ByteArrayEntity(
postMessage.toString().getBytes("UTF8")));
HttpResponse response = client.execute(request);
} catch (Exception e) {
....
}