Autore Topic: [Problema]Crash App  (Letto 602 volte)

Offline IRobot

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S (Android 2.3.7)
  • Sistema operativo:
    Windows 7
[Problema]Crash App
« il: 24 Dicembre 2011, 00:34:16 CET »
0
Salve a tutti.

Beh per prima cosa volevo dirvi che sono un nuovo arrivato nel campo della programmazione android  :-P
Stavo facendo una semplice app.. Nulla di che complicato;
Dei button..ImageView, nulla di chè.

Il mio problema è il seguente:

Ho creato un'imageButton


Volevo fare in modo che appena clicco sul button mi apre un altro file xml.
In questo modo ho creato un altro main.xml (main2.xml) è un'altro file java (KnowYourMemeActivity2.java)




Ora passiamo agli script;

Questo è il contenuto del file main.xml
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/RelativeLayout1"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >

    <TextView
       android:id="@+id/TextView1"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true"
       android:text="@string/hello" />

    <ImageButton
       android:id="@+id/imageButton1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_below="@+id/TextView1"
       android:layout_centerHorizontal="true"
       android:layout_marginTop="40dp"
       android:src="@drawable/ic_launcher" />

</RelativeLayout>


Contenuto main2.xml

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/RelativeLayout1"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >

    <TextView
       android:id="@+id/TextView1"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true"
       android:text="@string/hello" />

</RelativeLayout>


Contenuto del 1° file java (KnowYourMemeActivity.java)

Codice (Java): [Seleziona]
package com.KYM.first;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.app.Activity;
import android.widget.ImageButton;

public class KnowYourMemeActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        ImageButton Portabilità=(ImageButton)findViewById(R.id.imageButton1);
        Portabilità.setOnClickListener(new View.OnClickListener() {
                public void onClick(View view) {
                Intent myIntent1 = new Intent(view.getContext(), KnowYourMemeActivity2.class);
                startActivityForResult(myIntent1, 0);
           
            } });
    }
}

Mentre il file java2 (KnowYourMemeActivity2.java)

Codice (Java): [Seleziona]
package com.KYM.first;

import android.app.Activity;
import android.os.Bundle;

public class KnowYourMemeActivity2 extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main2);
    }
}




Questo è il LogCat:

Codice: [Seleziona]
12-23 23:28:12.793: D/AndroidRuntime(275): Shutting down VM
12-23 23:28:12.793: W/dalvikvm(275): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
12-23 23:28:12.813: E/AndroidRuntime(275): FATAL EXCEPTION: main
12-23 23:28:12.813: E/AndroidRuntime(275): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.KYM.first/com.KYM.first.KnowYourMemeActivity2}; have you declared this activity in your AndroidManifest.xml?
12-23 23:28:12.813: E/AndroidRuntime(275):         at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404)
12-23 23:28:12.813: E/AndroidRuntime(275):         at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
12-23 23:28:12.813: E/AndroidRuntime(275):         at android.app.Activity.startActivityForResult(Activity.java:2817)
12-23 23:28:12.813: E/AndroidRuntime(275):         at com.KYM.first.KnowYourMemeActivity$1.onClick(KnowYourMemeActivity.java:21)
12-23 23:28:12.813: E/AndroidRuntime(275):         at android.view.View.performClick(View.java:2408)
12-23 23:28:12.813: E/AndroidRuntime(275):         at android.view.View$PerformClick.run(View.java:8816)
12-23 23:28:12.813: E/AndroidRuntime(275):         at android.os.Handler.handleCallback(Handler.java:587)
12-23 23:28:12.813: E/AndroidRuntime(275):         at android.os.Handler.dispatchMessage(Handler.java:92)
12-23 23:28:12.813: E/AndroidRuntime(275):         at android.os.Looper.loop(Looper.java:123)
12-23 23:28:12.813: E/AndroidRuntime(275):         at android.app.ActivityThread.main(ActivityThread.java:4627)
12-23 23:28:12.813: E/AndroidRuntime(275):         at java.lang.reflect.Method.invokeNative(Native Method)
12-23 23:28:12.813: E/AndroidRuntime(275):         at java.lang.reflect.Method.invoke(Method.java:521)
12-23 23:28:12.813: E/AndroidRuntime(275):         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-23 23:28:12.813: E/AndroidRuntime(275):         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-23 23:28:12.813: E/AndroidRuntime(275):         at dalvik.system.NativeStart.main(Native Method)


Spero che mi potrete aiutare  :-(

Offline Nicola_D

  • Moderatore
  • 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
Re:[Problema]Crash App
« Risposta #1 il: 24 Dicembre 2011, 01:14:21 CET »
0
Citazione
ActivityNotFoundException: Unable to find explicit activity class {com.KYM.first/com.KYM.first.KnowYourMemeActivity2}; have you declared this activity in your AndroidManifest.xml?

Il messaggio mi pare abbastanza esplicativo....
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 IRobot

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S (Android 2.3.7)
  • Sistema operativo:
    Windows 7
Re:[Problema]Crash App
« Risposta #2 il: 24 Dicembre 2011, 01:44:59 CET »
0
Il messaggio mi pare abbastanza esplicativo....

Grazie per la risposta.

Siccome non ho mai eseguito questa operazione vorrei che mi aiutaste;
Questo è il contenuto del AndroidManifest.xml:

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

    <uses-sdk android:minSdkVersion="8" />

    <application
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name" >
        <activity
           android:name=".KnowYourMemeActivity"
           android:label="@string/app_name" >
            <activity
           android:name=".KnowYourMemeActivity"
           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=".KnowYourMemeActivity"
           android:label="@string/app_name" >
            <activity
           android:name=".KnowYourMemeActivity"
           android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity><intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity><intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Offline Nicola_D

  • Moderatore
  • 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
Re:[Problema]Crash App
« Risposta #3 il: 24 Dicembre 2011, 10:02:19 CET »
0
Il tuo file manifest è un disastro... leggi qui che spiega bene come sistemarlo!

The AndroidManifest.xml File | Android Developers
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 IRobot

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S (Android 2.3.7)
  • Sistema operativo:
    Windows 7
Re:[Problema]Crash App
« Risposta #4 il: 24 Dicembre 2011, 10:29:35 CET »
0
Il tuo file manifest è un disastro... leggi qui che spiega bene come sistemarlo!

Il file AndroidManifest non l'ho mai toccato  :D

Comunque anche leggendo dalla guida continuo a non capire come fare per risolvere il problema del chrash

Zate

  • Visitatore
Re:[Problema]Crash App
« Risposta #5 il: 24 Dicembre 2011, 10:44:17 CET »
+1
Devi sempre dichiarare tutte le tue activity nel manifest con il tag <activity>. Per quanto ne so, un'activity non può essere parent di un'altra activity. Hai dichiarato la tua activity 4 volte ed hai aggiunto due <intent-filter> (che probabilmente pensavi appartenessero alle due activity rimaste senza).
Il link di Nicola_D spiega la corretta sintassi del manifest.
Comunque dovrebbe essere qualcosa tipo questo il manifest corretto:
Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.KYM.first"
  android:versionCode="1"
  android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="8" />

    <application
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name" >
        <activity
          android:name=".KnowYourMemeActivity"
          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=".KnowYourMemeActivity2"
          android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.KNOWYOURMEMEACTIVITY2" />
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>      
    </application>
</manifest>
Come vedi ho dichiarato ogni activity nel manifest, quella iniziale ha come action MAIN e come category LAUNCHER, nella seconda come category ho messo DEFAULT.
Leggiti bene il link postato e se hai dei dubbi chiedi pure :)
Il manifest dovrebbe funzionare, ma dato che l'ho modificato qui sul sito potrei aver commesso degli errori ;)

Offline IRobot

  • Nuovo arrivato
  • *
  • Post: 28
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S (Android 2.3.7)
  • Sistema operativo:
    Windows 7
Re:[Problema]Crash App
« Risposta #6 il: 02 Gennaio 2012, 15:29:38 CET »
0
Grazie mille. Funziona correttamente ora!