Visualizzazione stampabile
-
Tutorial per Tab Widget
Ciao ragazzi,
è il mio primo giorno quì e sono già attivo a fare un sacco di domande :)
Stavo cercando di impratichirmi un po' con le varie view e le widget. Sto seguendo il tutorial sul sito apposito:
Tab Layout | Android Developers
Ho realizzato già tutto il package, ma quando lancio l'applicazione sull'emulatore mi compare una finestra che dice che l'applicazione è terminata in modo inaspettato e non posso fare altro che cliccare sul pulsante "Force close". Il fatto è che l'applicazione viene installata correttamente, mo poi sfocia in questo problema e non ho modo di visualizzare da console quello che accade.
Come posso capire dove sta il problema?
Vi ringrazio,
8Strings.
-
Quote:
Originariamente inviato da
8Strings
Ciao ragazzi,
Come posso capire dove sta il problema?
Esistono dei log :)
Vai sotto la directory tools di android e lancia adb logcat poi riproduci l'errore. A prompt/terminale vedrai l'eccezione java sottesa al popup di sminchio.
-
Grazie mille Cymon, lo faccio a breve :) E' sempre come girare per la prima volta in una grande città quando si cambia linguaggio, environment e soprattutto tecnologia :P
-
Quote:
Originariamente inviato da
8Strings
Grazie mille Cymon, lo faccio a breve :) E' sempre come girare per la prima volta in una grande città quando si cambia linguaggio, environment e soprattutto tecnologia :P
Non temere! MOlto presto si ridurrà tutto alla solita solfa di correre dietro ai NullPointerException roftl
-
Perfetto ho seguito il tuo consiglio Cymon ed ora forse riuscirò a capirci qualcosa:
codice:
E/gralloc ( 59): [unregister] handle 0x125908 still locked (state=40000001)
W/InputManagerService( 59): Window already focused, ignoring focus gain of: co
m.android.internal.view.IInputMethodClient$Stub$Proxy@43ce9940
I/ActivityManager( 59): Starting activity: Intent { act=android.intent.action.
MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=android.hello.tab
widget/.HelloTabWidget }
I/ActivityManager( 59): Start proc android.hello.tabwidget for activity androi
d.hello.tabwidget/.HelloTabWidget: pid=231 uid=10024 gids={1015}
D/ddm-heap( 231): Got feature list request
D/AndroidRuntime( 231): Shutting down VM
W/dalvikvm( 231): threadid=3: thread exiting with uncaught exception (group=0x4
001b188)
E/AndroidRuntime( 231): Uncaught handler: thread main exiting due to uncaught e
xception
E/AndroidRuntime( 231): java.lang.RuntimeException: Unable to start activity Co
mponentInfo{android.hello.tabwidget/android.hello.tabwidget.HelloTabWidget}: and
roid.content.ActivityNotFoundException: Unable to find explicit activity class {
android.hello.tabwidget/android.hello.tabwidget.ArtistsActivity}; have you decla
red this activity in your AndroidManifest.xml?
E/AndroidRuntime( 231): at android.app.ActivityThread.performLaunchActiv
ity(ActivityThread.java:2496)
E/AndroidRuntime( 231): at android.app.ActivityThread.handleLaunchActivi
ty(ActivityThread.java:2512)
E/AndroidRuntime( 231): at android.app.ActivityThread.access$2200(Activi
tyThread.java:119)
E/AndroidRuntime( 231): at android.app.ActivityThread$H.handleMessage(Ac
tivityThread.java:1863)
E/AndroidRuntime( 231): at android.os.Handler.dispatchMessage(Handler.ja
va:99)
E/AndroidRuntime( 231): at android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime( 231): at android.app.ActivityThread.main(ActivityThrea
d.java:4363)
E/AndroidRuntime( 231): at java.lang.reflect.Method.invokeNative(Native
Method)
E/AndroidRuntime( 231): at java.lang.reflect.Method.invoke(Method.java:5
21)
E/AndroidRuntime( 231): at com.android.internal.os.ZygoteInit$MethodAndA
rgsCaller.run(ZygoteInit.java:860)
E/AndroidRuntime( 231): at com.android.internal.os.ZygoteInit.main(Zygot
eInit.java:618)
E/AndroidRuntime( 231): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime( 231): Caused by: android.content.ActivityNotFoundException: U
nable to find explicit activity class {android.hello.tabwidget/android.hello.tab
widget.ArtistsActivity}; have you declared this activity in your AndroidManifest
.xml?
E/AndroidRuntime( 231): at android.app.Instrumentation.checkStartActivit
yResult(Instrumentation.java:1404)
E/AndroidRuntime( 231): at android.app.ActivityThread.resolveActivityInf
o(ActivityThread.java:2305)
E/AndroidRuntime( 231): at android.app.LocalActivityManager.startActivit
y(LocalActivityManager.java:277)
E/AndroidRuntime( 231): at android.widget.TabHost$IntentContentStrategy.
getContentView(TabHost.java:648)
E/AndroidRuntime( 231): at android.widget.TabHost.setCurrentTab(TabHost.
java:320)
E/AndroidRuntime( 231): at android.widget.TabHost.addTab(TabHost.java:21
3)
E/AndroidRuntime( 231): at android.hello.tabwidget.HelloTabWidget.onCrea
te(HelloTabWidget.java:28)
E/AndroidRuntime( 231): at android.app.Instrumentation.callActivityOnCre
ate(Instrumentation.java:1047)
E/AndroidRuntime( 231): at android.app.ActivityThread.performLaunchActiv
ity(ActivityThread.java:2459)
E/AndroidRuntime( 231): ... 11 more
I/Process ( 59): Sending signal. PID: 231 SIG: 3
I/dalvikvm( 231): threadid=7: reacting to signal 3
E/dalvikvm( 231): Unable to open stack trace file '/data/anr/traces.txt': Permi
ssion denied
W/ActivityManager( 59): Launch timeout has expired, giving up wake lock!
W/ActivityManager( 59): Activity idle timeout for HistoryRecord{43d9aec8 andro
id.hello.tabwidget/.HelloTabWidget}
I/Process ( 231): Sending signal. PID: 231 SIG: 9
I/ActivityManager( 59): Process android.hello.tabwidget (pid 231) has died.
I/UsageStats( 59): Unexpected resume of com.android.launcher while already res
umed in android.hello.tabwidget
W/InputManagerService( 59): Window already focused, ignoring focus gain of: co
m.android.internal.view.IInputMethodClient$Stub$Proxy@43d5c9f0
E/gralloc ( 59): [unregister] handle 0x479c60 still locked (state=40000001)
Di problemini ne vedo diversi :P
Ripararli? forse aahahahah
-
Quote:
Unable to find explicit activity class {
android.hello.tabwidget/android.hello.tabwidget.ArtistsActivity}; have you decla
red this activity in your AndroidManifest.xml
Ricorda che ogni classe dichiari come activity (o erede) deve essere registrata nell'AndridManifest.xml almeno con le sue caratteristiche minime altrimenti nel momento in cui cercherai di invocarla (tramite intent o quant'altro) il framework non saprà dove pescarla :p
Altri "errori" non ne vedo, il log in realtà si riempie di ciarpame per i motivi più vari (imparare i filtri di logcat è il secondo step ;))
-
Ecco, questa problema mi è saltato all'occhio e sono andato a controllare il file manifest. Seguendo il tutorial mi veniva detto di inserire la activity nel seguente modo:
Tab Layout | Android Developers
codice:
<activity android:name=".HelloTabWidget" android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
ecco diciamo che questo è quello che ho, ma forse mi manca ancora qualche strumento per comprenderlo.
-
Quote:
Originariamente inviato da
8Strings
Ecco, questa problema mi è saltato all'occhio e sono andato a controllare il file manifest. Seguendo il tutorial mi veniva detto di inserire la activity nel seguente modo:
Tab Layout | Android Developers
codice:
<activity android:name=".HelloTabWidget" android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
ecco diciamo che questo è quello che ho, ma forse mi manca ancora qualche strumento per comprenderlo.
Spetta... nel log parla di una classe ArtistsActivity, quindi il nome della activity da inserire nel manifest è quello (campo android:name). Per farlo funzionare basta quello... per le caratteristiche più "evolute" c'è tempo ;)
-
Ahhhh!!! Ora ho capito!
Cymon grazie mille per i tuoi suggerimenti, sono stati più che provvidenziali!
Finalmente ho la base per la mia app :) Ora devo capire come posizionare gli oggetti (pulsanti slider e quant'altro nelle varie tab che ho creato!).
In caso aprirò un altro thread :)
Grazie ancora! :D
8Strings.
-
Salve ragazzi. anche io son nuovo qui.
a me adb logCat non c'è proprio nella cartella tools. Eppure ho scaricato il tutto 2 giorni fà. aiuto...o_O