Autore Topic: L'app si arresta in modo anomalo  (Letto 1306 volte)

Offline chaw359

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus 4
  • Sistema operativo:
    windows 7
L'app si arresta in modo anomalo
« il: 31 Luglio 2013, 12:01:52 CEST »
0
Salve ragazzi, sono un nuovo android developer :-),da poco infatti ho iniziato a smanettare un pò con l'SDK di android.
Sto sviluppando per ora applicazioni stupide solo per effettuare calcoli.
Il mio problema è questo:
Sto facendo un app per mio fratello che calcola il Prezzo Medio Carico delle azioni, ho impostato un bel background alla mia app, ho messo dei EditText e dei ViewText e dei button ovviamente,ho scritto il codice e non ci sono errori.Però quando vado a provarla sull'emulatore mi dice che l'app si è arrestata in modo anomalo perchè?Dove sbaglio?
Di seguito vi lascio delle screen per farvi capire meglio:
graficaApp.png

questo è il codice XML:
Codice (XML): [Seleziona]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
   android:background="@drawable/celeste"
   android:paddingBottom="@dimen/activity_vertical_margin"
   android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   tools:context=".PMCActivity" >

    <TextView
       android:id="@+id/textView1"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_alignParentTop="true"
       android:text="N°Azioni Possedute"
       android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
       android:id="@+id/AzioniPoss"
       android:layout_width="100dp"
       android:layout_height="30dp"
       android:layout_alignLeft="@+id/textView1"
       android:layout_below="@+id/textView1"
       android:background="@drawable/bianco"
       android:ems="10"
       android:inputType="numberDecimal"
       android:text="0" >

        <requestFocus />
    </EditText>

    <TextView
       android:id="@+id/textView2"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBottom="@+id/AzioniPoss"
       android:layout_toRightOf="@+id/textView1"
       android:text="x"
       android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
       android:id="@+id/textView3"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBottom="@+id/textView1"
       android:layout_centerHorizontal="true"
       android:layout_marginLeft="23dp"
       android:text="Costo"
       android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
       android:id="@+id/Costo"
       android:layout_width="100dp"
       android:layout_height="30dp"
       android:layout_alignLeft="@+id/textView3"
       android:layout_alignTop="@+id/AzioniPoss"
       android:background="@drawable/bianco"
       android:ems="10"
       android:inputType="number"
       android:text="0" />

    <TextView
       android:id="@+id/textView5"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_above="@+id/Costo"
       android:layout_alignParentRight="true"
       android:text="Risultato"
       android:textAppearance="?android:attr/textAppearanceMedium" />

    <Button
       android:id="@+id/resultButton"
       style="?android:attr/buttonStyleSmall"
       android:layout_width="30dp"
       android:layout_height="30dp"
       android:layout_alignBaseline="@+id/Costo"
       android:layout_alignBottom="@+id/Costo"
       android:layout_marginLeft="14dp"
       android:layout_toRightOf="@+id/Costo"
       android:text="=" />

    <TextView
       android:id="@+id/resultText1"
       android:layout_width="100dp"
       android:layout_height="wrap_content"
       android:layout_alignBaseline="@+id/resultButton"
       android:layout_alignBottom="@+id/resultButton"
       android:layout_alignRight="@+id/textView5"
       android:text="0"
       android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
       android:id="@+id/textView6"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_centerVertical="true"
       android:text="N°Azioni da comprare"
       android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
       android:id="@+id/AzioniComp"
       android:layout_width="100dp"
       android:layout_height="30dp"
       android:layout_alignLeft="@+id/textView6"
       android:layout_below="@+id/textView6"
       android:background="@drawable/bianco"
       android:ems="10"
       android:inputType="number"
       android:text="0" />

    <TextView
       android:id="@+id/textView7"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBottom="@+id/AzioniComp"
       android:layout_alignLeft="@+id/textView2"
       android:layout_alignRight="@+id/textView6"
       android:text="x"
       android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
       android:id="@+id/textView8"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_above="@+id/AzioniComp"
       android:layout_alignLeft="@+id/Costo"
       android:text="Prezzo"
       android:textAppearance="?android:attr/textAppearanceMedium" />

    <EditText
       android:id="@+id/editPrezzo"
       android:layout_width="100dp"
       android:layout_height="30dp"
       android:layout_alignLeft="@+id/textView8"
       android:layout_alignTop="@+id/AzioniComp"
       android:background="@drawable/bianco"
       android:ems="10"
       android:inputType="number"
       android:text="0" />

    <Button
       android:id="@+id/resultButton2"
       style="?android:attr/buttonStyleSmall"
       android:layout_width="30dp"
       android:layout_height="30dp"
       android:layout_alignLeft="@+id/resultButton"
       android:layout_alignTop="@+id/editPrezzo"
       android:text="=" />

    <TextView
       android:id="@+id/textView9"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignBottom="@+id/textView8"
       android:layout_alignParentRight="true"
       android:text="Risultato"
       android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
       android:id="@+id/resultText2"
       android:layout_width="100dp"
       android:layout_height="30dp"
       android:layout_alignBottom="@+id/resultButton2"
       android:layout_alignParentRight="true"
       android:text="0"
       android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
       android:id="@+id/textView4"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentBottom="true"
       android:layout_alignRight="@+id/textView1"
       android:layout_marginBottom="18dp"
       android:layout_marginRight="14dp"
       android:text="P.M.C"
       android:textAppearance="?android:attr/textAppearanceMedium" />

    <TextView
       android:id="@+id/resultText3"
       android:layout_width="100dp"
       android:layout_height="30dp"
       android:layout_alignBaseline="@+id/textView4"
       android:layout_alignBottom="@+id/textView4"
       android:layout_toRightOf="@+id/textView7"
       android:text="0"
       android:textAppearance="?android:attr/textAppearanceMedium" />

</RelativeLayout>

Se ho dimenticato di postare qualcosa ditemelo, accetto anche consigli :-) Grazie in anticipo

Offline kalacta269

  • Utente normale
  • ***
  • Post: 152
  • Respect: +14
    • Mostra profilo
  • Dispositivo Android:
    Asus Transformer pad tf300
  • Sistema operativo:
    windows7
Re:L'app si arresta in modo anomalo
« Risposta #1 il: 31 Luglio 2013, 12:04:59 CEST »
0
dovresti postare anche il codice java e sopratutto il LOGCAT senza postare il logcat è difficile aiutarti

Offline chaw359

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus 4
  • Sistema operativo:
    windows 7
Re:L\'app si arresta in modo anomalo
« Risposta #2 il: 31 Luglio 2013, 12:16:28 CEST »
0
Ecco il codice java:
Codice (Java): [Seleziona]
package myapp.prezzomediocarico;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class PMCActivity extends Activity
{
        private int result1;
        private int result2;
        private EditText numAzioniPoss= (EditText) findViewById(R.id.AzioniPoss);
        private EditText numAzioniComp= (EditText) findViewById(R.id.AzioniComp);
       
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pmc);
       
       
        final EditText costoAzioni= (EditText) findViewById(R.id.Costo);
       
        final EditText prezzoAzioni= (EditText) findViewById(R.id.editPrezzo);
       
        Button resultButton1 = (Button) findViewById(R.id.resultButton);
        Button resultButton2 = (Button) findViewById(R.id.resultButton2);
       
        final TextView resultText1= (TextView) findViewById(R.id.resultText1);
        final TextView resultText2= (TextView) findViewById(R.id.resultText2);
        final TextView resultText3= (TextView) findViewById(R.id.resultText3);
       
        resultButton1.setOnClickListener(new OnClickListener(){

                        @Override
                        public void onClick(View v)
                        {
                               
                                int x=Integer.parseInt(numAzioniPoss.getText().toString());
                                int y=Integer.parseInt(costoAzioni.getText().toString());
                               
                                result1= x*y;
                                resultText1.setText(""+ result1);
                               
                               
                        }
               
        });
       
        resultButton2.setOnClickListener(new OnClickListener(){

                        @Override
                        public void onClick(View v)
                        {
                                int x= Integer.parseInt(numAzioniComp.getText().toString());
                                int y= Integer.parseInt(prezzoAzioni.getText().toString());
                               
                                result2=x*y;
                                resultText2.setText(""+ result2);
                                int azioniPoss= Integer.parseInt(numAzioniPoss.getText().toString());
                                int azioniComp= Integer.parseInt(numAzioniComp.getText().toString());
                                float s= result1 + result2;
                                float s2= azioniPoss + azioniComp;
                               
                                float resultPmc= s/s2;
                               
                                resultText3.setText(""+ resultPmc);
                               
                        }
               
        });
       
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.pmc, menu);
        return true;
    }
   
}

E questo è il logcat:

http://www.mediafire.com/?3o8pga3k2yo3pti


Post unito: 31 Luglio 2013, 12:18:23 CEST
Ti posto anche il manifest:

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

    <uses-sdk
       android:minSdkVersion="5"
       android:targetSdkVersion="14" />

    <application
       android:allowBackup="true"
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >
        <activity
           android:name="myapp.prezzomediocarico.PMCActivity"
           android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>
« Ultima modifica: 31 Luglio 2013, 12:18:24 CEST da chaw359, Reason: Merged DoublePost »

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:L'app si arresta in modo anomalo
« Risposta #3 il: 31 Luglio 2013, 13:38:27 CEST »
0
il logcat va postato come testo all'interno dei post. Non va postato TUTTO il logcat ma quello relativo al crash
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 crbin1

  • Utente junior
  • **
  • Post: 61
  • Respect: +6
    • labeltodo
    • Mostra profilo
    • Do Androids Dream of Electric Sheep?
  • Dispositivo Android:
    Galaxy Nexus
Re:L'app si arresta in modo anomalo
« Risposta #4 il: 31 Luglio 2013, 14:13:51 CEST »
0
A parte il LogCat come immagine, a me quelle due EditText definite come variabile membro della classe e quindi istanziate prima di chiamare setContentView mi piacciono poco

Offline chaw359

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus 4
  • Sistema operativo:
    windows 7
Re:L'app si arresta in modo anomalo
« Risposta #5 il: 31 Luglio 2013, 14:16:38 CEST »
0
Ho messo il log.txt come allegato, spero che vada bene

Offline crbin1

  • Utente junior
  • **
  • Post: 61
  • Respect: +6
    • labeltodo
    • Mostra profilo
    • Do Androids Dream of Electric Sheep?
  • Dispositivo Android:
    Galaxy Nexus
Re:L'app si arresta in modo anomalo
« Risposta #6 il: 31 Luglio 2013, 14:41:49 CEST »
0
Hai visto il mio post precedente?

Il problema sono le due EditText che non pui mettere lì
Codice (Java): [Seleziona]
        private EditText numAzioniPoss= (EditText) findViewById(R.id.AzioniPoss);
        private EditText numAzioniComp= (EditText) findViewById(R.id.AzioniComp);

Offline chaw359

  • Nuovo arrivato
  • *
  • Post: 7
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    nexus 4
  • Sistema operativo:
    windows 7
Re:L\\\'app si arresta in modo anomalo
« Risposta #7 il: 31 Luglio 2013, 15:03:37 CEST »
0
Grazie!!! :-) Ora funziona tutto :-)

Post unito: 31 Luglio 2013, 15:07:05 CEST
Solo un'ultima cosa...come faccio ad impostare che l'app deve aprirsi e mettersi in orizzontale?

Post unito: 31 Luglio 2013, 15:07:53 CEST
cioè intendo dire che l'app deve girare solo in orizzontale
« Ultima modifica: 31 Luglio 2013, 15:07:53 CEST da chaw359, Reason: Merged DoublePost »

Offline crbin1

  • Utente junior
  • **
  • Post: 61
  • Respect: +6
    • labeltodo
    • Mostra profilo
    • Do Androids Dream of Electric Sheep?
  • Dispositivo Android:
    Galaxy Nexus
Re:L\\\'app si arresta in modo anomalo
« Risposta #8 il: 31 Luglio 2013, 15:29:06 CEST »
0
Grazie!!! :-) Ora funziona tutto :-)

Post unito: 31 Luglio 2013, 15:07:05 CEST
Solo un'ultima cosa...come faccio ad impostare che l'app deve aprirsi e mettersi in orizzontale?

Post unito: 31 Luglio 2013, 15:07:53 CEST
cioè intendo dire che l'app deve girare solo in orizzontale

Nel manifest per ogni Activity devi specificare lo screenOrientation che vuoi.

Codice (Java): [Seleziona]
<activity android:name="PMCActivity"
android:screenOrientation="portrait"
android:configChanges="keyboardHidden|orientation|screenSize">

Il configChanges serve per evitare la chiamata dei metodi onResume() e onPause() quandi ruoti lo schermo.


Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:L\\\'app si arresta in modo anomalo
« Risposta #9 il: 31 Luglio 2013, 22:56:42 CEST »
0
Grazie!!! :-) Ora funziona tutto :-)

Post unito: 31 Luglio 2013, 15:07:05 CEST
Solo un'ultima cosa...come faccio ad impostare che l'app deve aprirsi e mettersi in orizzontale?

Post unito: 31 Luglio 2013, 15:07:53 CEST
cioè intendo dire che l'app deve girare solo in orizzontale

Non lo fare, è completamente fuori dalle linee guida.
Non hai nessun vantaggio.