2017-02-04 12 views
0

ユーザーからメールとパスワードを保存して保存するアプリを開発しようとしています。私はGoogleのクラウドプラットフォームのチュートリアルに従ったが、私はまだ私のアプリを接続する方法を考え出すcan`t(アンドロイドStudioを使用して作られた)Google App Engineのツールに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())()のgetData()を実行;。。"

ありがとう!

答えて

0

プロダクティブサーバーに接続する場合は、ルートURLを設定する必要はなく、gzipを無効にする必要はありません。このオプションは、ロケールの開発サーバ

EDITために必要とされています

は私のコード例を参照してください。

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)); 
     } 
+0

私はてsetURLを削除すべきか?いくつかのチュートリアルでは、私のアプリアドレス(GAEで生成されたもの)を入れて、私はdisablegzipについて知らなかった、ありがとう! –

+0

私は生産的なサーバーとローカル開発サーバーに接続する方法の例を追加しました。生成されたクライアントライブラリをチェックすることができます。クラスの1つでApp Engineプロジェクトの実際のURLが見つかるので、URLを設定する必要はありません –

+0

ありがとう!だから、私の実際のURLは "... appspot.com"ですか? 私はGAEをサーバーとAndroid Studioとして使用して新しくなっています。チュートリアルはほとんどの部分が非常に不完全です。 –

関連する問題