Dificuldades em consumir JSON do Google Books
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
Clique aqui para fazer login e interagir na Comunidade :)