0

を見つけることができません:(App Engineのモジュール内)のAndroidのApp Engineモジュールは、このチュートリアルに従いながら、私は最近、私のアプリをApp Engineのモジュールを追加APPCOMPATライブラリに

https://cloud.google.com/appengine/docs/java/endpoints/helloendpoints-android-studio

マイEndpointsAsyncTask次のようになります。

import com.google.api.client.extensions.android.http.AndroidHttp; 
import com.google.api.client.extensions.android.json.AndroidJsonFactory; 
import  com.google.api.client.googleapis.services.AbstractGoogleClientRequest; 
import com.google.api.client.googleapis.services.GoogleClientRequestInitializer; 
import com.google.appengine.repackaged.com.google.common.base.Pair; 

import java.io.IOException; 

import javax.naming.Context; 


class EndpointsAsyncTask extends AsyncTask<Pair<Context, String>, Void, String> { 
    private static MyApi myApiService = null; 
    private Context context; 

    @Override 
    protected String doInBackground(Pair<Context, String>... params) { 
     if(myApiService == null) { // Only do this once 
      MyApi.Builder builder = new  MyApi.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://10.0.2.2:8080/_ah/api/") 
       .setGoogleClientRequestInitializer(new GoogleClientRequestInitializer() { 
        @Override 
        public void initialize(AbstractGoogleClientRequest<?> abstractGoogleClientRequest) throws IOException { 
         abstractGoogleClientRequest.setDisableGZipContent(true); 
        } 
       }); 
     // end options for devappserver 

     myApiService = builder.build(); 
    } 

    context = params[0].first; 
    String name = params[0].second; 

    try { 
     return myApiService.sayHi(name).execute().getData(); 
    } catch (IOException e) { 
     return e.getMessage(); 
    } 
} 

@Override 
protected void onPostExecute(String result) { 
    Toast.makeText(context, result, Toast.LENGTH_LONG).show(); 
} 

}

私はちょうど私には、AsyncTask、.build()、.sayHi()とトーストのためのエラー 'がシンボル/メソッド解決できません' を取得しますいくつかの国です。

私は問題が何であるか把握し始め、それらのパットのための輸入がそこになかったことに気付きました。だから、私は次のように付け加えた:

import android.os.Bundle; 

そしてそこから運ばれる。残念ながら、それらも私に誤りを与えました。

私は自分のbuild.gradleファイルを見て、AppCompatの依存関係が存在しないことに気付きました。

のApp Engineモジュールのための私のbuild.gradleは、次のようになります。

// If you would like more information on the gradle-appengine-plugin please refer to the github page 
// https://github.com/GoogleCloudPlatform/gradle-appengine-plugin 

buildscript { 
    repositories { 
     jcenter() 
    } 
    dependencies { 
     classpath 'com.google.appengine:gradle-appengine-plugin:1.9.34' 
    } 
} 

repositories { 
    jcenter() 
} 

apply plugin: 'java' 
apply plugin: 'war' 
apply plugin: 'appengine' 

sourceCompatibility = JavaVersion.VERSION_1_7 
targetCompatibility = JavaVersion.VERSION_1_7 

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:25.0.1' 
    compile 'com.google.appengine:appengine-endpoints:1.9.34' 
    compile 'com.google.appengine:appengine-endpoints-deps:1.9.34' 
    compile 'javax.servlet:servlet-api:2.5' 
    compile 'com.google.http-client:google-http-client-android:1.20.0' 
    compile 'com.google.api-client:google-api-client:1.20.0' 
    appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.34' 

    } 

appengine { 
    downloadSdk = true 
    appcfg { 
     oauth2 = true 
    } 
    endpoints { 
     getClientLibsOnBuild = true 
     getDiscoveryDocsOnBuild = true 
    } 
} 

私のプロジェクトをビルドするとき、それはエラーを与える:

Error:(25, 13) Failed to resolve: com.android.support:appcompat-v7:25.0.1 

私はの面で何かが足りませんアプリケーションエンジンモジュールが動作するか、私の問題はAppCompatではありませんか?メッセージウィンドウでは、「Install Repository and sync poject」オプションが表示されますが、クリックすると何も起こりません。

お手数をおかけしますようお願い申し上げます。

+0

あなたのコンパイルSDKのバージョンは何ですか? – manolodewiner

+0

compileSdkVersion 25、 buildToolsVersion "25.0.1"、クラスパス 'com.android.tools.build:gradle:2.2.3'(プロジェクトのグラデルファイル)。 – Dietmar

答えて

1

申し訳ありませんが、私は問題が何かを理解したと思います。私のEndpointsAsyncTaskは、AppEngineのものではなく、Appモジュール内にあることを意図しています。誰かがこれを確認できたら、私はそれを感謝します!

これは、このチュートリアルで混乱する可能性のある他の人に役立つことを願っています。

関連する問題