Fórum Dificuldades em consumir JSON do Google Books #454263
05/09/2013
0
Galera,
Sou iniciante na área, estou criando um App para consultar livros no Google, porém não consigo trazer o Json, da um erro na minha aplicação :(
Por favor me ajudem, me indiquem um tutorial que na pratica funcione, pois comprei um e-book de R$30,00 e não explica direito, pois o que ele explica é com o Twitter e a API do mesmo mudou.
Veja o meu código:
Agora Meu Layout
Agora o erro que está no Log
09-05 07:04:19.036: E/WindowManager(1374): Activity br.com.mamboo.buscalivros.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{417a38f8 V.E..... R.....ID 0,0-228,72} that was originally added here
09-05 07:04:19.036: E/WindowManager(1374): android.view.WindowLeaked: Activity br.com.mamboo.buscalivros.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{417a38f8 V.E..... R.....ID 0,0-228,72} that was originally added here
09-05 07:04:19.036: E/WindowManager(1374): at android.view.ViewRootImpl.<init>(ViewRootImpl.java:345)
09-05 07:04:19.036: E/WindowManager(1374): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:239)
09-05 07:04:19.036: E/WindowManager(1374): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
09-05 07:04:19.036: E/WindowManager(1374): at android.app.Dialog.show(Dialog.java:281)
09-05 07:04:19.036: E/WindowManager(1374): at br.com.mamboo.buscalivros.MainActivity$LivrosTask.onPreExecute(MainActivity.java:75)
09-05 07:04:19.036: E/WindowManager(1374): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:586)
09-05 07:04:19.036: E/WindowManager(1374): at android.os.AsyncTask.execute(AsyncTask.java:534)
09-05 07:04:19.036: E/WindowManager(1374): at br.com.mamboo.buscalivros.MainActivity.buscaLivros(MainActivity.java:62)
09-05 07:04:19.036: E/WindowManager(1374): at java.lang.reflect.Method.invokeNative(Native Method)
09-05 07:04:19.036: E/WindowManager(1374): at java.lang.reflect.Method.invoke(Method.java:525)
09-05 07:04:19.036: E/WindowManager(1374): at android.view.View$1.onClick(View.java:3628)
09-05 07:04:19.036: E/WindowManager(1374): at android.view.View.performClick(View.java:4240)
09-05 07:04:19.036: E/WindowManager(1374): at android.view.View$PerformClick.run(View.java:17721)
09-05 07:04:19.036: E/WindowManager(1374): at android.os.Handler.handleCallback(Handler.java:730)
09-05 07:04:19.036: E/WindowManager(1374): at android.os.Handler.dispatchMessage(Handler.java:92)
09-05 07:04:19.036: E/WindowManager(1374): at android.os.Looper.loop(Looper.java:137)
09-05 07:04:19.036: E/WindowManager(1374): at android.app.ActivityThread.main(ActivityThread.java:5103)
09-05 07:04:19.036: E/WindowManager(1374): at java.lang.reflect.Method.invokeNative(Native Method)
09-05 07:04:19.036: E/WindowManager(1374): at java.lang.reflect.Method.invoke(Method.java:525)
09-05 07:04:19.036: E/WindowManager(1374): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-05 07:04:19.036: E/WindowManager(1374): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-05 07:04:19.036: E/WindowManager(1374): at dalvik.system.NativeStart.main(Native Method)
Estou pesquisando muito, e conto com a ajuda de vocês
Estou estudando para desenvolver um APP da Plataforma que criei de Vendas e Compras Online.
Conheçam: [url ]www.mamboo.com.br[/url]
Sou iniciante na área, estou criando um App para consultar livros no Google, porém não consigo trazer o Json, da um erro na minha aplicação :(
Por favor me ajudem, me indiquem um tutorial que na pratica funcione, pois comprei um e-book de R$30,00 e não explica direito, pois o que ele explica é com o Twitter e a API do mesmo mudou.
Veja o meu código:
package br.com.mamboo.buscalivros;
import org.json.JSONArray;
import org.json.JSONObject;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
Button btnBuscar;
EditText campoBusca;
AlertDialog janela;
String filtro;
TextView resposta;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnBuscar = (Button) findViewById(R.id.btnBuscar);
campoBusca = (EditText) findViewById(R.id.campoBusca);
resposta = (TextView) findViewById(R.id.RespostaDaTask);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void AlertaBtn(String titulo, String mensagem) {
AlertDialog.Builder janela = new AlertDialog.Builder(MainActivity.this);
janela.setTitle(titulo);
janela.setMessage(mensagem);
janela.setNeutralButton("Ok", null);
janela.show();
}
public void buscaLivros(View v){
filtro = campoBusca.getText().toString();
//ProgressDialog dialog = new ProgressDialog(MainActivity.this);
//dialog.setMessage("Buscando "+ filtro);
new LivrosTask().execute(filtro);
}
private class LivrosTask extends AsyncTask<String, Void, String[]>{
ProgressDialog dialog;
@Override
protected void onPreExecute() {
dialog = new ProgressDialog(MainActivity.this);
dialog.setMessage("Buscando: " + filtro);
dialog.show();
}
protected void onPostExecute(String[] result) {
dialog.dismiss();
}
@Override
protected String[] doInBackground(String... params) {
try {
String filtro = params[0];
if (TextUtils.isEmpty(filtro)) {
return null;
}
String urlGoogleBooks = "https://www.googleapis.com/books/v1/volumes?q=";
String url = Uri.parse(urlGoogleBooks + filtro).toString();
String conteudo = HTTPUtils.acessar(url);
// pegamos o resultado
JSONObject jsonObject = new JSONObject(conteudo);
JSONArray resultados = jsonObject.getJSONArray("results");
String[] livros = new String[resultados.length()];
return livros;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
}
Agora Meu Layout
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".MainActivity" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="horizontal"
>
<EditText
android:layout_width="180dp"
android:layout_height="wrap_content"
android:id="@+id/campoBusca"
android:inputType="text"
/>
<Button
android:id="@+id/btnBuscar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/btnBusca"
android:onClick="buscaLivros"
/>
</LinearLayout>
<EditText
android:id="@+id/RespostaDaTask"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:inputType="text"
/>
</LinearLayout>
Agora o erro que está no Log
09-05 07:04:19.036: E/WindowManager(1374): Activity br.com.mamboo.buscalivros.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{417a38f8 V.E..... R.....ID 0,0-228,72} that was originally added here
09-05 07:04:19.036: E/WindowManager(1374): android.view.WindowLeaked: Activity br.com.mamboo.buscalivros.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{417a38f8 V.E..... R.....ID 0,0-228,72} that was originally added here
09-05 07:04:19.036: E/WindowManager(1374): at android.view.ViewRootImpl.<init>(ViewRootImpl.java:345)
09-05 07:04:19.036: E/WindowManager(1374): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:239)
09-05 07:04:19.036: E/WindowManager(1374): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
09-05 07:04:19.036: E/WindowManager(1374): at android.app.Dialog.show(Dialog.java:281)
09-05 07:04:19.036: E/WindowManager(1374): at br.com.mamboo.buscalivros.MainActivity$LivrosTask.onPreExecute(MainActivity.java:75)
09-05 07:04:19.036: E/WindowManager(1374): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:586)
09-05 07:04:19.036: E/WindowManager(1374): at android.os.AsyncTask.execute(AsyncTask.java:534)
09-05 07:04:19.036: E/WindowManager(1374): at br.com.mamboo.buscalivros.MainActivity.buscaLivros(MainActivity.java:62)
09-05 07:04:19.036: E/WindowManager(1374): at java.lang.reflect.Method.invokeNative(Native Method)
09-05 07:04:19.036: E/WindowManager(1374): at java.lang.reflect.Method.invoke(Method.java:525)
09-05 07:04:19.036: E/WindowManager(1374): at android.view.View$1.onClick(View.java:3628)
09-05 07:04:19.036: E/WindowManager(1374): at android.view.View.performClick(View.java:4240)
09-05 07:04:19.036: E/WindowManager(1374): at android.view.View$PerformClick.run(View.java:17721)
09-05 07:04:19.036: E/WindowManager(1374): at android.os.Handler.handleCallback(Handler.java:730)
09-05 07:04:19.036: E/WindowManager(1374): at android.os.Handler.dispatchMessage(Handler.java:92)
09-05 07:04:19.036: E/WindowManager(1374): at android.os.Looper.loop(Looper.java:137)
09-05 07:04:19.036: E/WindowManager(1374): at android.app.ActivityThread.main(ActivityThread.java:5103)
09-05 07:04:19.036: E/WindowManager(1374): at java.lang.reflect.Method.invokeNative(Native Method)
09-05 07:04:19.036: E/WindowManager(1374): at java.lang.reflect.Method.invoke(Method.java:525)
09-05 07:04:19.036: E/WindowManager(1374): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
09-05 07:04:19.036: E/WindowManager(1374): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-05 07:04:19.036: E/WindowManager(1374): at dalvik.system.NativeStart.main(Native Method)
Estou pesquisando muito, e conto com a ajuda de vocês
Estou estudando para desenvolver um APP da Plataforma que criei de Vendas e Compras Online.
Conheçam: [url ]www.mamboo.com.br[/url]
Francisco Oliveira
Curtir tópico
+ 0
Responder
Posts
04/10/2013
Eduardo Pessoa
alguem com conhecimentos de intermediario em android poderia ajudar nosso amigo?
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)