|
Página 1 de 1
|
[ 16 Mensagens ] |
|
| Autor |
Mensagem |
|
Felipe Ferreira
Anatomy of an App
Data de registro: 16 Fev 2009, 21:17 Mensagens: 102 Localização: SP
|
 [DICA] Usando LogCat
Fala pessoal blz? Criei este tópico para dar algumas dicas sobre o LogCat, onde os erros realmente aparecem. Além de ser possível a visualização dos erros no LogCat, pode-se inserir "filtros", que possibilitam apenas as mensagens de sua app, e como também os erros especificamente. Para se habilitar o LogCat no eclipse vá em, Window > Show View > Other > Android > LogCat. No LogCat existe um sinal de + em verde, o "Create Filter", clique nele. Aparecerá uma tela chamda "Log Filter". Ela possui os campos "Filter Name", que você deve preencher com "filtro", e "by Log Tag", preencha-o com filtro. Clique em OK. Bom, está criado o filtro para sua aplicação. Na pagina criada aparecerão apenas as mensagens difinidas por você em suas apps. Observe o exemplo: main.xml - este xml possui um TextView e dois Botões <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Tela 1 - Exemplo de LogCat" android:textSize="26px" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/btnTela2NoActivity" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Tela 2 Not Activity"> </Button> <Button android:id="@+id/btnTela2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Tela 2"> </Button> </LinearLayout>
AndroidManifest.xml - O xml raiz do projeto - lembre-se, sempre que criar uma nova classe Activity, deve delará-la neste arquivo, ou o android gerará um erro. <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="android.com.LogCat" android:versionCode="1" android:versionName="1.0.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".Tela1" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".Tela2" /> </application> </manifest>
Activity Tela1 - A principal do exemplo - esta Actitty implementa os dois botões, sendo que um deles chama uma classe que não extende de Activity, então um erro será gerado no LogCat package android. com. LogCat; import android. app. Activity; import android. content. Intent; import android. os. Bundle; import android. util. Log; import android. view. View; import android. view. View. OnClickListener; import android. widget. Button; public class Tela1 extends Activity { private static final String FILTRO = "filtro"; @Override public void onCreate (Bundle savedInstanceState ) { super. onCreate(savedInstanceState ); setContentView (R. layout. main); Button btnTela2NotActivity = (Button) findViewById (R. id. btnTela2NoActivity); btnTela2NotActivity. setOnClickListener(new OnClickListener (){ /* * Chamando proxima tela * Neste caso, a próxima tela NÃO extende de activity, então um erro * será exibido no LogCat */ @Override public void onClick (View v ) { try { startActivity (new Intent (Tela1. this, Tela2NotActivity. class)); } catch(Throwable e ) { Log. e(FILTRO, "LOG DE ERRO: " + e. getMessage()); } } }); Button btnTela2 = (Button) findViewById (R. id. btnTela2); btnTela2. setOnClickListener(new OnClickListener (){ /* * Chamando proxima tela * Agora sim a próxima tela extende de activity * A chamada de uma nova tela, não é uma operação que corra risco * de se gerar um erro, por isso não é necessário colocar o trecho de código * entre Try{}Catch(){} * O Try foi usado no botão acima, apenas para exemplificar o erro */ @Override public void onClick (View v ) { startActivity (new Intent (Tela1. this, Tela2. class)); } }); }} A suposta Activity - Tela2NotActivity package android.com.LogCat;
public class Tela2NotActivity { }
E finalmente a Activity Tela2, que será chamada corretamente - esta classe apenas exibirá na tela um TextView com o texto "Tela 2", repare nos Logs. O LogCat, possui 5 diferentes tipos de Logs, sendo eles: Debug, Verbose, Info, Warm, Error. Você deve usá-los conforme a necessida em sua app. Por exemplo: Quando se exibe uma mensagem de erro, usa-se Log.e, o log de erro. Um alerta? Log.w. Apenas uma mensagem Informativa? Log.i... package android. com. LogCat; import android. app. Activity; import android. os. Bundle; import android. util. Log; import android. widget. TextView; public class Tela2 extends Activity { private static final String FILTRO = "filtro"; @Override public void onCreate (Bundle savedInstanceState ) { super. onCreate(savedInstanceState ); TextView tv = new TextView (this); tv. setText("TELA 2"); setContentView (tv ); Log. d(FILTRO, "LOG DE DEBUG"); Log. v(FILTRO, "LOG DE VERBOSE"); Log. i(FILTRO, "LOG DE INFO"); Log. w(FILTRO, "LOG DE WARM"); Log. e(FILTRO, "LOG DE ERROR - JA APRESENTADO NO BOTAO Tela2NotActivity"); }} Testem o código acima e verifiquem os Logs gerados. Repare que, quando a classe que gera o erro é chamada, nenhuma mensagem aparece para o usuário, você pode resolver isso usando um alerta de confirmação, por exemplo. Repare também, que usando o Log.e() no try{}Catch(){}, o sistema não é travado, permitindo ao usuário continuar utilizando sua app normalmente. Ae pessoal, está explicado como se usa o LogCat. Espero tê-los ajudado. Isso me foi bem útil quando aprendi. Qualquer dúvida pessoal, é só postar. Ok? Abrass e bom trabalho. 
_________________ Felipe Ferreira Cel.: (19) 8816-5514
Bacharelando em Estatística - IMECC - UNICAMP Tel.: (19) 3521 6073
Técnico em Informática - COTUCA - UNICAMP
|
| 30 Set 2009, 11:18 |
|
 |
|
ramonrabello
Anatomy of an App
Data de registro: 03 Fev 2008, 03:05 Mensagens: 175 Localização: Belém - Pará
|
 Re: [DICA] Usando LogCat
Ótimo tutorial sobre o LogCat, Felipe Ferreira, parabéns!  []s
|
| 07 Out 2009, 11:39 |
|
 |
|
Felipe Ferreira
Anatomy of an App
Data de registro: 16 Fev 2009, 21:17 Mensagens: 102 Localização: SP
|
 Re: [DICA] Usando LogCat
Opa ramonrabello blz? Obrigado cara. Precisando é só pedir, a medida do possível ajudarei. Abrass. Até mais.
_________________ Felipe Ferreira Cel.: (19) 8816-5514
Bacharelando em Estatística - IMECC - UNICAMP Tel.: (19) 3521 6073
Técnico em Informática - COTUCA - UNICAMP
|
| 07 Out 2009, 17:52 |
|
 |
|
David
What is Android?
Data de registro: 16 Fev 2009, 21:26 Mensagens: 2
|
 Re: [DICA] Usando LogCat
Fala Felipe.
Ótimo tutorial sobre log cat. Me ajudou bastante. Parabéns.
|
| 09 Dez 2009, 19:29 |
|
 |
|
Felipe Ferreira
Anatomy of an App
Data de registro: 16 Fev 2009, 21:17 Mensagens: 102 Localização: SP
|
 Re: [DICA] Usando LogCat
Opa Davisão blz? Ooo cara vlw. Fico feliz. Precisando de alguma coisa é só pedir. Abrass.
_________________ Felipe Ferreira Cel.: (19) 8816-5514
Bacharelando em Estatística - IMECC - UNICAMP Tel.: (19) 3521 6073
Técnico em Informática - COTUCA - UNICAMP
|
| 09 Dez 2009, 20:39 |
|
 |
|
albertoLourenco
Android application
Data de registro: 16 Set 2010, 17:01 Mensagens: 88 Localização: . Recife - PE
|
 Re: [DICA] Usando LogCat
E aew Felipe, beleza? Antes de tudo, parabéns pelo tuto, ta bem legal e intuitivo. Bom, vendo que precisando é so pedir.. eeheh! Estou com um probleminha na minha app, e não consigo compreender o LogCat. Poderias me ajudar, cara? Valeu, abração!
_________________ As grandes idéias surgem da observação dos pequenos detalhes.
|
| 27 Set 2010, 16:15 |
|
 |
|
Felipe Ferreira
Anatomy of an App
Data de registro: 16 Fev 2009, 21:17 Mensagens: 102 Localização: SP
|
 Re: [DICA] Usando LogCat
Acho que sim. Posta o problema ae cara pra eu dar uma olhada noque esta acontecendo...
_________________ Felipe Ferreira Cel.: (19) 8816-5514
Bacharelando em Estatística - IMECC - UNICAMP Tel.: (19) 3521 6073
Técnico em Informática - COTUCA - UNICAMP
|
| 27 Set 2010, 17:52 |
|
 |
|
albertoLourenco
Android application
Data de registro: 16 Set 2010, 17:01 Mensagens: 88 Localização: . Recife - PE
|
 Re: [DICA] Usando LogCat
Felipe, Este é o meu problema. O código dá erro, mas o LogCat não acusa nada. viewtopic.php?f=5&t=4412
_________________ As grandes idéias surgem da observação dos pequenos detalhes.
|
| 27 Set 2010, 17:59 |
|
 |
|
albertoLourenco
Android application
Data de registro: 16 Set 2010, 17:01 Mensagens: 88 Localização: . Recife - PE
|
 Re: [DICA] Usando LogCat
Felipe, Consegui resolver meu problema e entender o funcionamento do LogCat. Eu acho.. eheh! Mais uma vez parabéns! Abração e valeu, brother!
_________________ As grandes idéias surgem da observação dos pequenos detalhes.
|
| 28 Set 2010, 10:36 |
|
 |
|
Felipe Ferreira
Anatomy of an App
Data de registro: 16 Fev 2009, 21:17 Mensagens: 102 Localização: SP
|
 Re: [DICA] Usando LogCat
Fala Alberto blz? Cara me desculpa ae, não deu tempo de responder sua mensagem...hehehe Desculpa mesmo. Resolveu o problema então? Parabens cara...nem ajudei nada...hehe Qq coisa pode escrever, tento responder... Se quiser add msn essas coisas fica a vontade, tem no meu cadastro. Abraço cara...ah, vlw.
_________________ Felipe Ferreira Cel.: (19) 8816-5514
Bacharelando em Estatística - IMECC - UNICAMP Tel.: (19) 3521 6073
Técnico em Informática - COTUCA - UNICAMP
|
| 28 Set 2010, 21:58 |
|
 |
|
albertoLourenco
Android application
Data de registro: 16 Set 2010, 17:01 Mensagens: 88 Localização: . Recife - PE
|
 Re: [DICA] Usando LogCat
Relaxa, Felipe. Tá tranquilo!! Valeu, brother! 
_________________ As grandes idéias surgem da observação dos pequenos detalhes.
|
| 29 Set 2010, 09:36 |
|
 |
|
Paulinho_hps
What is ADT?
Data de registro: 14 Out 2010, 21:01 Mensagens: 26
|
 Re: [DICA] Usando LogCat
Olá a todos,
Estou começando a desenvolver para Android, gostaria de saber exatamente o que é o LogCat e o que ele faz.
Desde já agradeço o todos.
|
| 09 Nov 2010, 14:55 |
|
 |
|
albertoLourenco
Android application
Data de registro: 16 Set 2010, 17:01 Mensagens: 88 Localização: . Recife - PE
|
 Re: [DICA] Usando LogCat
Paulinho_hps escreveu: Olá a todos,
Estou começando a desenvolver para Android, gostaria de saber exatamente o que é o LogCat e o que ele faz.
Desde já agradeço o todos. Fala Paulinho_hps, Cara, o LogCat nada mais é do que um "console" (se eu estiver errado, alguém me corrija, por favor), que apenas te dar o poder de visualizar toda tarefa executada pelo mobile. No caso, o emulador. Tudo que é carregado no boot, e tudo que é carregado nos apps, você visualiza nele. A melhor parte, é que voce pode utilizar as ferramentas dele, para depurar bugs. Ou pode até mesmo utilizar o do java, para debugar seu código, e nele (o LogCat) aparecerá o que precisas no momento de excução daquela parte do teu código. Espero que tenha ajudado em algo, ehehe. Como já pedi, por favor, se minha idéa sobre o LogCat estiver errada ou faltando algo, me corrijam! Abraço à todos!
_________________ As grandes idéias surgem da observação dos pequenos detalhes.
|
| 12 Nov 2010, 10:25 |
|
 |
|
Paulinho_hps
What is ADT?
Data de registro: 14 Out 2010, 21:01 Mensagens: 26
|
 Re: [DICA] Usando LogCat
albertoLourenco, Muito obrigado pela resposta! me tirou uma dúvida que não conseguia acha em lugar algum  Vlw
|
| 12 Nov 2010, 11:42 |
|
 |
|
jcom
What is Android?
Data de registro: 08 Mai 2011, 23:02 Mensagens: 1
|
 Re: [DICA] Usando LogCat
Olá,
Muito bom o tutorial sobre LogCat. Parabéns.
Você sabe se no Eclipse é possível criar um filtro do LogCat usando caracteres coringa?
Valeu J.
|
| 28 Jul 2011, 01:09 |
|
 |
|
rafaelfm93
Anatomy of an App
Data de registro: 25 Out 2011, 14:53 Mensagens: 152
|
 Re: [DICA] Usando LogCat
Muito bom tudo cara, Ja que você ofereceu ajuda vou aceitar Meu logcat esta aprensentando o seguinte erro ao tentar criar uma tablerow via codigo. Obs: o mesmo codigo em um novo programa compila perfeitamente. ate criei um post ninguem consguiu me ajudar ainda: http://www.portalandroid.org/comunidade/viewtopic.php?f=5&t=17192Grato, Rafael 02-02 15:13:55.868: W/dalvikvm(2508): threadid=1: thread exiting with uncaught exception (group=0x2aac87d8) 02-02 15:13:56.478: E/AndroidRuntime(2508): FATAL EXCEPTION: main 02-02 15:13:56.478: E/AndroidRuntime(2508): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.bymoncargo/com.bymoncargo.TAB_Produtos}: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2666) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.app.ActivityThread.startActivityNow(ActivityThread.java:2506) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.app.LocalActivityManager.moveToState(LocalActivityManager.java:127) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.app.LocalActivityManager.startActivity(LocalActivityManager.java:339) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.widget.TabHost$IntentContentStrategy.getContentView(TabHost.java:673) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.widget.TabHost.setCurrentTab(TabHost.java:345) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.widget.TabHost$2.onTabSelectionChanged(TabHost.java:138) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.widget.TabWidget$TabClickListener.onClick(TabWidget.java:453) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.view.View.performClick(View.java:2413) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.view.View$PerformClick.run(View.java:8832) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.os.Handler.handleCallback(Handler.java:587) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.os.Handler.dispatchMessage(Handler.java:92) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.os.Looper.loop(Looper.java:123) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.app.ActivityThread.main(ActivityThread.java:4644) 02-02 15:13:56.478: E/AndroidRuntime(2508): at java.lang.reflect.Method.invokeNative(Native Method) 02-02 15:13:56.478: E/AndroidRuntime(2508): at java.lang.reflect.Method.invoke(Method.java:521) 02-02 15:13:56.478: E/AndroidRuntime(2508): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876) 02-02 15:13:56.478: E/AndroidRuntime(2508): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634) 02-02 15:13:56.478: E/AndroidRuntime(2508): at dalvik.system.NativeStart.main(Native Method) 02-02 15:13:56.478: E/AndroidRuntime(2508): Caused by: java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first. 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.view.ViewGroup.addViewInner(ViewGroup.java:1973) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.view.ViewGroup.addView(ViewGroup.java:1868) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.view.ViewGroup.addView(ViewGroup.java:1848) 02-02 15:13:56.478: E/AndroidRuntime(2508): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:217) 02-02 15:13:56.478: E/AndroidRuntime(2508): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.app.Activity.setContentView(Activity.java:1690) 02-02 15:13:56.478: E/AndroidRuntime(2508): at com.bymoncargo.TAB_Produtos.onCreate(TAB_Produtos.java:54) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 02-02 15:13:56.478: E/AndroidRuntime(2508): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2630) 02-02 15:13:56.478: E/AndroidRuntime(2508): ... 18 more
_________________ Grato, Rafael
|
| 06 Fev 2012, 10:38 |
|
|
|
Página 1 de 1
|
[ 16 Mensagens ] |
|
Quem está online |
Usuários vendo este fórum: Abraao, agtavares, alexsander.miranda, Alexsandro Tirloni, amos, Analista, andi, andreluiz, andreluzz, andrewort, antoniodourado, attomweb, augustomig, austonrd, beeshop, Biggs Darklighter, bruno.abd, Brunohc, Bruto_JPO, btminzon, C0GuM3I0, caciara, caiodemarco, Carlos Alexandre, cehills, Celso Jr., cfranca, cleber, Costa, dalmeidabr, Damiani Oliveira, Darth Maul, Deiapinh, diemesleno, Douglas Siviotti, drjunior, Emanuella, Erik Patekoski, estratec, estratecnologia, Felipe Marcondes, Fernando Cardia, fmakula, frederico.affini, fredjpa, furlanrapha, Gabriel, gamito, geeks, Gomes, gustavobarbosa, HAMSES, henrique.garcia, hopper.frf, igor_meneguzzo, itsN, JeffCF, jhonguitar, jrsilva, juliana_costa, juliaojunior, juliherms, Julio Assis, kristopher, laucode, lillian.brandao, Liviosousa, LordElfo, lucianno, Lucious, Lúcio Zanette, Marcelo Lima, marcosf63, marcosrogel, Matheus562, mauriciobreide, mmiottobarbosa, mvoto, n3t0, nfaria, nightwatch, niloleite, nq6, On_7, onedroid, Orivalde, paulokiller, peterson.bah, phfmendes, PicsearchDroid, Rainha Amidala/Padmé, ramonsiebra, rerp7, ricardo, ricardzanella, Robson Florentino, rodrigo_corinthians, rodrigo_mg, rotilho, Samuka, scattonevi, SEO Crawler, shadow, sidnei.gs, Silvio Vaz, silvio.carlos, Stryder, suissa, tchou, tiagocordeiro, tiagofalcao, Topeca, wcaciano, Wendel Carvalho, wil, wilson.slima, WiseNut, woyzeck, Zam Wesell e 5 visitantes |
|
Você não pode criar novos tópicos neste fórum Você não pode responder tópicos neste fórum Você não pode editar suas mensagens neste fórum Você não pode excluir suas mensagens neste fórum Você não pode enviar anexos neste fórum
|
|