簡體   English   中英

將Google App Engine后端添加到我的應用程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM