Autore Topic: Spiacenti! Interruzione imprevista dell'applicazione activity_name(package) Ripr  (Letto 2712 volte)

Offline sgaglio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows vista
sono uno studente di ICD a bari e sto imparando a sviluppare con android, per la teoria sto utilizzando il buon libro dell'apogeo e, arrivati al capitolo 04, quello per la gestione di più attività con le intent mi propone un esempio ma nell'emulatore mi compare una schermata con scritto: "Spiacenti! Interruzione imprevista dell'applicazione LyfecicleActivitytest (processoit.apogeo.cap04.LifeCycleActivityTest).Ri prova" con un tasto che mi consente di terminare forzatamente l'applcazione, volevo sapere di che genere di problema si tratta e come si potrebbe risolvere, comunque se volete posto anche il codice completo del progetto così potete capire se sono io a sbagliare o può essere un problema di qualche altro genere, vi ringrazio anticipatamente per l'aiuto.

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline sgaglio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows vista
0
grazie per la risposta, ho capito dov'è il problema e ho verificato anche che nel logcat mi da errori simili a quelli che hai postato, ma non riesco a capire dove sto sbagliando perchè questo è l'errore del logcat che mi dà:

06-20 12:19:12.469: ERROR/AndroidRuntime(715): Caused by: java.lang.ClassNotFoundException: it.apogeo.android.cap04.LifeCicleActivityTest.LifeCicleActivityTestActivity in loader dalvik.system.PathClassLoader@43597fb8

Quello che ti voglio far capire è che questa è solo una semplice applicazione quindi già so che il problema sarà banale, ma voglio una mano da chi ne capisce di più per poter risolverla.
Adesso ti posto il codice.
Questa è l'attività principale:
Codice (Java): [Seleziona]
package it.apogeo.android.cap04.LifeCicleActivityTest;

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;
import android.widget.TextView;

public class LifeCycleActivityTestActivity extends Activity {

        // Valore per il Tag del Log
        private final static String ACTIVITY_TAG = "LIFECYCLE_TEST";

        // Contatore che descrive un possibile stato
        protected int counter = 0;

        /** Called when the activity is first created. */
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                // Visualizziamo messaggio di Log
                Log.i(ACTIVITY_TAG, "ON_CREATE " + getActivityName());
                // Impostiamo il Layout
                setContentView(R.layout.main);
                // Bottone che permette di visualizzare la seconda Activity
                Button navButton = (Button) findViewById(R.id.navButton);
                navButton.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View arg0) {
                                // Andiamo in modo esplicito alla seconda
                                // Activity
                                Log.i(ACTIVITY_TAG, "LAUNCHING SECOND ACTIVITY ");
                                Intent intent = new Intent(LifeCycleActivityTestActivity.this,
                                                SecondActivity.class);
                                startActivity(intent);
                               
                        }


                });
                // Bottone che permette di terminare l'attività corrente
                Button killButton = (Button) findViewById(R.id.killButton);
                killButton.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View arg0) {
                                Log.i(ACTIVITY_TAG, "finish() on " + getActivityName());
                                finish();
                        }
                });
                // Bottone che incrementa il contatore come stato della attività
                Button countButton = (Button) findViewById(R.id.countButton);
                countButton.setOnClickListener(new OnClickListener() {
                        @Override
                        public void onClick(View arg0) {
                                Log.i(ACTIVITY_TAG, "finish() on " + getActivityName());
                                counter++;
                                showCounterState();
                        }
                });
                showCounterState();
        }

        @Override
        protected void onSaveInstanceState(Bundle outState) {
                super.onSaveInstanceState(outState);
                Log.i(ACTIVITY_TAG, "ON_SAVE_INSTANCE_STATE " + getActivityName());
                // Salviamo lo stato del contatore
                outState.putInt("counter", counter);
        }

        protected void onRestoreInstanceState(Bundle savedInstanceState) {
                super.onSaveInstanceState(savedInstanceState);
                Log.i(ACTIVITY_TAG, "ON_RESTORE_INSTANCE_STATE " + getActivityName());
                counter = savedInstanceState.getInt("counter");
                showCounterState();
        }

        protected String getActivityName() {
                return "FIRST ACTIVITY";
        }

        @Override
        protected void onDestroy() {
                super.onDestroy();
                Log.i(ACTIVITY_TAG, "ON_DESTROY " + getActivityName());
        }

        @Override
        protected void onPause() {
                super.onPause();
                Log.i(ACTIVITY_TAG, "ON_PAUSE " + getActivityName());
        }

        @Override
        protected void onRestart() {
                super.onRestart();
                Log.i(ACTIVITY_TAG, "ON_RESTART" + getActivityName());
        }

        @Override
        protected void onResume() {
                super.onResume();
                Log.i(ACTIVITY_TAG, "ON_RESUME " + getActivityName());
        }

        @Override
        protected void onStart() {
                super.onStart();
                Log.i(ACTIVITY_TAG, "ON_START " + getActivityName());
        }

        @Override
        protected void onStop() {
                super.onStop();
                Log.i(ACTIVITY_TAG, "ON_STOP " + getActivityName());
        }

        // Metodo di utilità che permette la visualizzazione dello stato del
        // contatore nella TextView
        private void showCounterState() {
                TextView textView = (TextView) findViewById(R.id.counterValue);
                textView.setText(" Counter: " + counter);
        }

}

Questa è quella secondaria:

Codice (Java): [Seleziona]
package it.apogeo.android.cap04.LifeCicleActivityTest;


import android.os.Bundle;
import android.widget.TextView;

/**
 * @author MASSIMO
 *
 */

public class SecondActivity extends LifeCycleActivityTestActivity {

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
        TextView output = (TextView)findViewById(R.id.output);
        String text = getResources().getString(R.string.second_label);
        output.setText(text);
        }
       
    protected String getActivityName(){
        return "SECOND ACTIVITY";
    }  
       

}

Questo è il manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="it.apogeo.android.cap04.LifeCicleActivityTest"
      android:versionCode="1"
      android:versionName="1.0">
    <uses-sdk android:minSdkVersion="3" />

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".LifeCicleActivityTestActivity" android:label="@string/app_name">
          <intent-filter>
            <action android:name= "android.intent.action.MAIN" />
<category android:name= "android.intent.category.LAUNCHER" />
  </intent-filter>
  <intent-filter>
   <action android:name="it.apogeo.android.cap04.senderproject.intent.action.CUSTOM_ACTION" >
   </action>
 <category android:name="android.intent.category.DEFAUlT"></category>
 </intent-filter>
 </activity>

    </application>
</manifest>
Codice (XML): [Seleziona]
 
e per finire questo è il main della cartella layout:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical">
<TextView  
   android:layout_width="fill_parent"
   android:layout_height="wrap_content" android:text="@string/first_label" android:id="@+id/output"/>
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/counterValue"></TextView><Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/navButton" android:text="navButton"></Button>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/killButton" android:text="killButton"></Button>
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/countButton" android:text="countButton"></Button>

</LinearLayout>

E' una semplice applicazione che lancia un attivtà principale e grazie a dei pulsanti navButton e KillButton permette di entrare ed uscire da un'altra attività secondaria.
Quando vado ad eseguire l'applicazione mi compare questo messaggio di errore nel dispositivo virtuale:



Uploaded with ImageShack.us

Questo è tutto, spero di essere stato chiaro e spero nell'aiuto di qualcuno di voi. Grazie anticipatamente.

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
0
Hai aggiunto tutte le activity al manifest?

Sent from my HTC Desire

Offline sgaglio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows vista
0
infatti non lo avevo fatto...grazie...adesso il mio manifest è questo:

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="it.apogeo.android.cap04.LifeCicleActivityTest"
     android:versionCode="1"
     android:versionName="1.0">
   

    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".LifeCicleActivityTestActivity" android:label="@string/app_name"
       android:launchMode="standard">
          <intent-filter>
            <action android:name= "android.intent.action.MAIN" />
<category android:name= "android.intent.category.LAUNCHER" />
  </intent-filter>
 </activity>
  <!--  activity android:name="SecondActivity" android:process=":new_process"></activity
 -->
  <activity android:name=".SecondActivity" />
  </application>
<uses-sdk android:minSdkVersion="3" />
</manifest>

però non va lo stesso e mi presenta lo stesso ed identico errore...se hai qualche idea...forse sto sbagliando a dichiarare la SecondActivity?? oppure è la minSdkVersion che deve essere 5 e non 3??non so davvero come fare :( help!!

Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
0
Scusa ma cosa non ti è chiaro del fatto che devi postare l'intero logcat?

Offline sgaglio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows vista
0
Non mi è possibile postare l'intero logcat perchè è enorme...cmq questa è la parte relativa agli errori che mi si presentano quando apro l'applicazione:



Uploaded with ImageShack.us

Offline Qlimax

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 757
  • Respect: +202
    • Google+
    • _Qlimax
    • Mostra profilo
    • www.egsolutions.ch
  • Dispositivo Android:
    Galaxy Nexus - Nexus One - Wildfire - Magic
  • Play Store ID:
    egsolutions.ch
  • Sistema operativo:
    Ubuntu 12.04, Windows 7
0
Evidenzi le righe del logcat rosse , ctrl-c .
Poi nel post fai crtl-v  (magari con un tag code ) :D

Offline sgaglio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows vista
0
Si, grazie del consiglio...questi sono tutti gli errori che mi si presentano all'avvio dell'applicazione:


Codice: [Seleziona]
06-21 09:27:02.119: ERROR/vold(538): Error opening switch name path '/sys/class/switch/test2' (No such file or directory)
06-21 09:27:02.119: ERROR/vold(538): Error bootstrapping switch '/sys/class/switch/test2' (m)
06-21 09:27:02.119: ERROR/vold(538): Error opening switch name path '/sys/class/switch/test' (No such file or directory)
06-21 09:27:02.119: ERROR/vold(538): Error bootstrapping switch '/sys/class/switch/test' (m)
06-21 09:27:02.249: ERROR/flash_image(544): can't find recovery partition
06-21 09:27:12.109: ERROR/MemoryHeapBase(563): error opening /dev/pmem: No such file or directory
06-21 09:27:12.119: ERROR/SurfaceFlinger(563): Couldn't open /sys/power/wait_for_fb_sleep or /sys/power/wait_for_fb_wake
06-21 09:27:12.209: ERROR/GLLogger(563): couldn't load <libhgl.so> library (Cannot find library)
06-21 09:27:12.289: ERROR/GLLogger(563): couldn't load <libhgl.so> library (Cannot find library)
06-21 09:27:15.229: ERROR/BatteryService(563): Could not open '/sys/class/power_supply/usb/online'
06-21 09:27:15.229: ERROR/BatteryService(563): Could not open '/sys/class/power_supply/battery/batt_vol'
06-21 09:27:15.229: ERROR/BatteryService(563): Could not open '/sys/class/power_supply/battery/batt_temp'
06-21 09:27:15.810: ERROR/EventHub(563): could not get driver version for /dev/input/mouse0, Not a typewriter
06-21 09:27:15.850: ERROR/EventHub(563): could not get driver version for /dev/input/mice, Not a typewriter
06-21 09:27:15.890: ERROR/System(563): Failure starting core service
06-21 09:27:15.890: ERROR/System(563): java.lang.SecurityException
06-21 09:27:15.890: ERROR/System(563):     at android.os.BinderProxy.transact(Native Method)
06-21 09:27:15.890: ERROR/System(563):     at android.os.ServiceManagerProxy.addService(ServiceManagerNative.java:146)
06-21 09:27:15.890: ERROR/System(563):     at android.os.ServiceManager.addService(ServiceManager.java:72)
06-21 09:27:15.890: ERROR/System(563):     at com.android.server.ServerThread.run(SystemServer.java:163)
06-21 09:27:15.890: ERROR/AndroidRuntime(563): Crash logging skipped, no checkin service
06-21 09:27:16.749: ERROR/LockPatternKeyguardView(563): Failed to bind to GLS while checking for account
06-21 09:27:20.079: ERROR/ApplicationContext(563): Couldn't create directory for SharedPreferences file shared_prefs/wallpaper-hints.xml
06-21 09:27:26.739: ERROR/MediaPlayerService(542): Couldn't open fd for content://settings/system/notification_sound
06-21 09:27:26.749: ERROR/MediaPlayer(563): Unable to to create media player
06-21 09:27:20.545: ERROR/ActivityThread(610): Failed to find provider info for android.server.checkin
06-21 09:27:21.745: ERROR/ActivityThread(610): Failed to find provider info for android.server.checkin
06-21 09:27:21.865: ERROR/ActivityThread(610): Failed to find provider info for android.server.checkin
06-21 09:27:26.104: ERROR/AndroidRuntime(712): Uncaught handler: thread main exiting due to uncaught exception
06-21 09:27:26.114: ERROR/AndroidRuntime(712): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{it.apogeo.android.cap04.LifeCycleActivityTest/it.apogeo.android.cap04.LifeCycleActivityTest.LifecycleActivityTestActivity}: java.lang.ClassNotFoundException: it.apogeo.android.cap04.LifeCycleActivityTest.LifecycleActivityTestActivity in loader dalvik.system.PathClassLoader@43598448
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2194)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2284)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at android.app.ActivityThread.access$1800(ActivityThread.java:112)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1692)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at android.os.Handler.dispatchMessage(Handler.java:99)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at android.os.Looper.loop(Looper.java:123)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at android.app.ActivityThread.main(ActivityThread.java:3948)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at java.lang.reflect.Method.invokeNative(Native Method)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at java.lang.reflect.Method.invoke(Method.java:521)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:782)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:540)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at dalvik.system.NativeStart.main(Native Method)
06-21 09:27:26.114: ERROR/AndroidRuntime(712): Caused by: java.lang.ClassNotFoundException: it.apogeo.android.cap04.LifeCycleActivityTest.LifecycleActivityTestActivity in loader dalvik.system.PathClassLoader@43598448
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at android.app.Instrumentation.newActivity(Instrumentation.java:1097)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2186)
06-21 09:27:26.114: ERROR/AndroidRuntime(712):     ... 11 more


Offline Ricky`

  • Amministratore
  • Utente storico
  • *****
  • Post: 3489
  • Respect: +506
    • Github
    • Google+
    • rciovati
    • Mostra profilo
0
Nel manifest hai messo:

LifeCicleActivityTestActivity

mentre la classe si chiama

LifeCycleActivityTestActivity

Strano che ti compili :)

Offline sgaglio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows vista
0
si infatti in quel manifest che ti ho postato avevo sbagliato a scrivere...cmq non era quello il problema...l'errore si presenta comunque...nel logcat mi dice:

Codice: [Seleziona]
06-21 09:27:26.114: ERROR/AndroidRuntime(712): Caused by: java.lang.ClassNotFoundException: it.apogeo.android.cap04.LifeCycleActivityTest.LifecycleActivityTestActivity in loader dalvik.system.PathClassLoader@43598448
dove l'errore sembrerebbe causato dalla classe di nome ClassNotFoundException....ma sinceramente non so che significa..voi guardando il logcat non riuscite proprio a capire di che si tratta e dove devo modificare?? :)

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
0
...magari sono completamente fuori strada, ma come mai nella riga dell'errore la "c" è minuscola in LifecycleActivityTestActivity ?
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline sgaglio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows vista
0
anche cambiando la c piccola con la C maiuscola nel manifest cambia l''errore che adesso è così:

Codice: [Seleziona]
06-21 10:54:15.222: ERROR/AndroidRuntime(716): Caused by: java.lang.ClassNotFoundException: it.apogeo.android.cap04.LifeCycleActivityTest.LifeCyleActivityTestActivity in loader dalvik.system.PathClassLoader@43598b58

ma comunque il problema mi si presenta sempre!!!:S

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
0
Hai cambiato la i in y anche nel nome del package vero?  (nei file java delle due activity intendo)

Codice (Java): [Seleziona]
package it.apogeo.android.cap04.LifeCicleActivityTest;
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline sgaglio88

  • Nuovo arrivato
  • *
  • Post: 42
  • Respect: 0
    • Mostra profilo
  • Sistema operativo:
    windows vista
0
si si altrimenti nemmeno me lo avrebbe compilato!!!