2012-05-10 14 views
1

こんにちは仲間の開発者は、AndroidのGoogleプレイスのAPI - createRequestFactory(GoogleHeader)

私はAndroidの開発の総初心者です、私はGoogleプレイスAPIを使用するアプリケーションを作成しようとしています。私はEclipseをセットアップし、さまざまなjarファイルをどこに置くべきかを調べるために多くの研究をしました。 (ボーイはプロジェクトyそのものだった)。さて、私の問題は、私がDavyのTech Blog(http://ddewaele.blogspot.com/2011/05/introducing-google-places-api.html)に従っていることです。私はいくつかの問題にぶち当たっています。 グーグル-API-クライアント1.4.1.beta(の依存性を持つ) グーグル-API-クライアント1.8.0.beta グーグル-収集-1.0-RC1

私は、次のJARをダウンロードしています

と私は、アプリケーションが正しくコンパイルすることができます私のlibsフォルダ

にこれらを追加したが、アプリケーションが、それは がログを見ると、「残念ながら、アプリケーションが停止しました」というエラーメッセージを思い付くAndroidのシミュレータ上で実行されるとき猫私は以下を見ることができます:

05-10 04:26:32.456:I/System.out(1408):検索を実行.... 05-10 04:26:32.456:I/System.out(1408):------ ------------- 05-10 04:26:32.486:I/dalvikvm(1408):メソッドcom.google.api.client.googleapis.GoogleHeaders.setUserAgentを参照できませんでした。メソッドcom.google.api.client.googleapis.GoogleHeaders.setApplicationName 05-10 04:26:32.486:W/dalvikvm(1408):VFY:仮想メソッドを解決できません279:Lcom/google/api/client/googleapis/GoogleHeaders; .setUserAgent(Ljava /ラング/文字列;)V 05-10 04:26:32.486:D/dalvikvm(1408):VFY:0000

方法で交換オペコード0x6eは次のようになります

public static HttpRequestFactory createRequestFactory(final HttpTransport transport) { 
    return transport.createRequestFactory(new HttpRequestInitializer() { 
     public void initialize(HttpRequest request) { 
      GoogleHeaders headers = new GoogleHeaders(); 
      headers.setApplicationName("MyFirstLocationApp"); 
      request.headers=headers; 
      JsonHttpParser parser = new JsonHttpParser(); 
      parser.jsonFactory = new JacksonFactory(); 
      request.addParser(parser); 
     } 
    }); 
} 

私はそれが私が含まれているJARファイルと関係があると思います。 setApplicationNameはgoogle-api-client-1.8.0.betaにあり、setUserAgentはgoogle-api-client-1.4.1.beta(Httpクラスの下にあります)にあります。

問題は、しかし、これらは私が必要私のオブジェクトのほとんどは、Google-API-クライアント1.8.0.betaではなく、Googleの-API-クライアント1.4.1.betaで発見されていないことを

です私が持っている輸入品:

import com.google.api.client.googleapis.GoogleHeaders; 
import com.google.api.client.http.GenericUrl; 
import com.google.api.client.http.HttpRequest; 
import com.google.api.client.http.HttpRequestFactory; 
import com.google.api.client.http.HttpRequestInitializer; 
import com.google.api.client.http.HttpResponseException; 
import com.google.api.client.http.HttpTransport; 
import com.google.api.client.http.javanet.NetHttpTransport; 
import com.google.api.client.http.json.JsonHttpParser; 
import com.google.api.client.json.jackson.JacksonFactory; 

何か助けていただければ幸いです。これは私をナットにしている。

/イムラン

答えて

4

だから私は、Eclipseを使用して、以下の場合のみ1.8.0のものを含めると(ジャストD & D'のlibのフォルダにそれらをd)の使い方ドキュメントのAPIのによって提案されたばかりのjarファイルが含まれてちょうどあなたがフォルダにファイルをドロップすることができます(ないことを確認バージョン、あなたが使用してが、藍は、以前のバージョン、その後、より良いこのようなものを扱う)藍

google-api-client-1.8.0-beta.jar 
google-api-client-android2-1.8.0-beta.jar 
google-http-client-1.8.3-beta.jar 
google-http-client-android2-1.8.3-beta.jar 
google-oauth-client-1.8.0-beta.jar 
gson-2.1.jar 
guava-11.0.1.jar 
jackson-core-asl-1.9.4.jar 
jsr305-1.3.9.jar 
protobuf-java-2.2.0.jar 

その後は少し新しいAPI

のためにコードを修正しました0

これはコンパイルされていて、些細なテストではうまくいくようですが、まっすぐ1.8.0を使って試してみることをお勧めします。

+0

さて、私はこれを今試してみましょう。本当にありがとうあなたのinout – user1386152

+0

Yah ...それは素晴らしく働いた...私はちょうど "Dependancies"フォルダの代わりにlibsフォルダに依存関係をコピーすると仮定していたと思います。そして、私は彼らがGoogleのAPIの新しいバージョンのために更新されていると思いますので、訂正も素晴らしかった...あなたの助けを借りて素晴らしい経験とおかげです。 – user1386152

+0

@ user1386152問題なく、うれしくて簡単な修正でした – Idistic

1

android studioを使用している場合は、google-api-client-1.5.0-beta.jarファイルをダウンロードしてプロジェクトのlibsフォルダに追加し、jarファイルを右クリックして[ライブラリとして追加]を選択します。あなたのbuild.gradleファイルにこのファイル '(libs/google-api-client-1.5.0-beta.jar)をコンパイルする'という行があることを確認してください。プロジェクトをビルドします。

関連する問題