[英]Adding Google App Engine Backend to my App
我正在嘗試開發一個用於保存和存儲用戶電子郵件和密碼的應用程序。 我遵循了Google Cloud Platform教程,但是仍然找不到將我的應用程序(使用Android Studio制作)連接到Google App Engine工具的方法
這是我的LoginActivity java類
公共類LoginActivity擴展了AppCompatActivity {
public class MyTask extends AsyncTask<Pair<Context, String>, Void, String>
{
LoginApi loginApiService = null;
private Context context;
AutoCompleteTextView email = (AutoCompleteTextView) findViewById(R.id.txt_email);
String email2 = email.getText().toString();
TextView senha = (TextView) findViewById(R.id.txt_password);
String senha2 = senha.getText().toString();
private String userdata;
@SafeVarargs
protected final String doInBackground(Pair<Context, String>... params) {
if (loginApiService == null) { // Only do this once
LoginApi.Builder builder = new LoginApi.Builder(AndroidHttp.newCompatibleTransport(),
new AndroidJsonFactory(), null)
// options for running against local devappserver
// - 10.0.2.2 is localhost's IP address in Android emulator
// - turn off compression when running against local devappserver
.setRootUrl("http://104.154.208.108:8080/_ah/api/")
.setGoogleClientRequestInitializer(new GoogleClientRequestInitializer() {
@Override
public void initialize(AbstractGoogleClientRequest<?> abstractGoogleClientRequest) throws IOException {
abstractGoogleClientRequest.setDisableGZipContent(true);
}
});
// end options for devappserver
loginApiService = builder.build();
}
context = params[0].first;
String name = params[0].second;
try {
return loginApiService.sayHi(email2.getEmail()).execute().getData();
} catch (IOException e) {
return e.getMessage();
}
}
@Override
protected void onPostExecute(String result) {
Toast.makeText(context, result, Toast.LENGTH_LONG).show();
}
}
我不確定IP地址和此行“ loginApiService.sayHi(email2.getEmail())。execute()。getData();”
謝謝!
如果要連接到生產服務器,則不必設置根Url,也不必禁用gzip。 您的區域設置開發服務器需要此選項
編輯:
參見我的示例代碼:
if(LOCAL_RUN) { // my local development Server
return new MyApi.Builder(AndroidHttp.newCompatibleTransport(),
new AndroidJsonFactory(), null)
.setRootUrl("http://192.168.0.235:8080/_ah/api/") //depends how you have configured your local server
.setGoogleClientRequestInitializer(new GoogleClientRequestInitializer() {
@Override
public void initialize(AbstractGoogleClientRequest<?> abstractGoogleClientRequest) throws IOException {
abstractGoogleClientRequest.setDisableGZipContent(true);
}
});
} else { // the real App Engine Server
return new MyApi.Builder(AndroidHttp.newCompatibleTransport(),
new AndroidJsonFactory(), null));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.