Fala galera, estou com um problema. Fiz um webapi usando o Google AppEngine como backend para meu aplicativo. Seguindo um tuto aqui:
Porém, quando vou instanciar a classe chamando o .Builder o android studio não deixa.
QuoteEndpoint.Builder builder = new QuoteEndpoint.Builder(AndroidHttp.newCompatibleTransport(),
new AndroidJsonFactory(), null)
Segue a classe inteira:
package com.example.gregmachado.panapp;
import android.content.Context;
import android.os.AsyncTask;
import android.widget.Toast;
import com.example.gregmachado.panapp.backend.Quote;
import com.example.gregmachado.panapp.backend.QuoteEndpoint;
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 java.io.IOException;
import java.util.Collections;
import java.util.List;
/**
* Created by gregmachado on 02/04/16.
*/
class EndpointsAsyncTask extends AsyncTask<Void, Void, List<Quote>> {
private static QuoteEndpoint myApiService = null;
private Context context;
EndpointsAsyncTask(Context context) {
this.context = context;
}
@Override
protected List<Quote> doInBackground(Void... params) {
if(myApiService == null) { // Only do this once
QuoteEndpoint.Builder builder = new QuoteEndpoint.Builder(AndroidHttp.newCompatibleTransport(),
new AndroidJsonFactory(), null)
.setRootUrl("http://192.168.0.9:8080/_ah/api/")
.setGoogleClientRequestInitializer(new GoogleClientRequestInitializer() {
@Override
public void initialize(AbstractGoogleClientRequest<?> abstractGoogleClientRequest) throws IOException {
abstractGoogleClientRequest.setDisableGZipContent(true);
}
});
// end options for devappserver
myApiService = builder.build();
}
try {
return myApiService.listQuote().execute().getItems();
} catch (IOException e) {
return Collections.EMPTY_LIST;
}
}
@Override
protected void onPostExecute(List<Quote> result) {
for (Quote q : result) {
Toast.makeText(context, q.getWho() + " : " + q.getWhat(), Toast.LENGTH_LONG).show();
}
}
}
Se alguém souber ajudar fico grato. Nunca havia utilizado o builder para criar novas instãncias, então estou completamente perdido.