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
-
Quote:
Originariamente inviato da
allmystery
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
logCat è un parametro che dai da prompt dei comandi al comando adb, nella tua cartella manca proprio adb?
-
Quote:
Originariamente inviato da
Orochi
logCat è un parametro che dai da prompt dei comandi al comando adb, nella tua cartella manca proprio adb?
Tanto per capire... che sistema operativo è?
Ci faresti un dir della directory tools tanto per ficcare il naso? :p
(ps, logcat, tutto minuscolo, la camelnotation, fuori dal codice JAVA, è malvista, soprattutto dalle shell ;))
-
Sì, hai ragione, tutto minuscolo, rispondendo al post di allmystery ho ricopiato involontariamente da lui il camel case roftl
Comunque io ho windows e questa è la mia cartella tools:
http://imgur.com/AOo8S.jpg
A questo punto immagino che voi usate Linux...
-
allora prima di rispondervi ho voluto verificare sui due portatili su cui programmo:
su windows seven, in tool ho adb
D:\android-sdk-windows\tools\adb.exe
su windows xp non ho adb
D:\android-sdk-windows\tools
in pratica io ho installato tutto l'occorrente per android su una partizione. per programmare poi ho fatto il collegamento di eclipse sulla partizione in cui ho il sistema operativo.
stessa cosa è stata fatta su entrambi i portatili...
Non saprei, perchè su xp non c'è adb.... :-[
-
uao! non ho nemmeno il keytool....:'(
-
per il keytool! chiedo scusa, errore mio! dovevo vedere nella jdk
-
Comunque non sei il primo che si trova senza pezzi su Windows... bisognerebbe capire come è possibile una cosa del genere...
-
comunque dopo provo a compiare e incollare adb da seven a xp... vedo un pò che succede e vi farò sapere