Autore Topic: problema chiusura forzata  (Letto 3846 volte)

Offline RAN3000

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Sistema operativo:
    Ubuntu 12.04 LTS con Unity
problema chiusura forzata
« il: 10 Novembre 2011, 21:13:19 CET »
Salve a tutti,
Ho appena finito la mia prima applicazione Random! di cui ho già parlato qui:http://www.anddev.it/index.php/topic,4877.msg29410.html#msg29410
Anche se il codice è un po cambiato.

Vi scrivo perché quando clicco un qualsiasi bottone l'applicazione rimane bloccata per circa 5 secondi e poi mi fa la chiusura forzata; qualcuno ha idea di quale possa essere il problema??
Se ce bisogno del codice lo posto!

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:problema chiusura forzata
« Risposta #1 il: 10 Novembre 2011, 21:43:10 CET »
Vi scrivo perché quando clicco un qualsiasi bottone l'applicazione rimane bloccata per circa 5 secondi e poi mi fa la chiusura forzata; qualcuno ha idea di quale possa essere il problema??

C'è un errore nel codice.

Se ce bisogno del codice lo posto!

Eheh, a volte mi riesce, ma non è così semplice trovare l'errore senza vedere il codice. Ma più che altro è il LogCat ad essere ASSOLUTAMENTE NECESSARIO.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline RAN3000

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Sistema operativo:
    Ubuntu 12.04 LTS con Unity
Re:problema chiusura forzata
« Risposta #2 il: 13 Novembre 2011, 14:46:13 CET »
codice:

Codice (Java): [Seleziona]
package ranzzgt.random;


import java.util.ArrayList;
import java.util.Random;

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

public class RandomActivity extends Activity {
       
        public int noe = 0;
        Random randInt = new Random();
        public int elistSize = 0;
       
        @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        final EditText et = (EditText) findViewById(R.id.et);
        final Button ok = (Button) findViewById(R.id.ok);
        Button randombt = (Button) findViewById(R.id.randombt);
        Button clear = (Button) findViewById(R.id.clear);
        final TextView txt = (TextView) findViewById(R.id.txt);
        final ArrayList <RandomActivity> elist = new ArrayList <RandomActivity>();
        ok.setOnClickListener(new OnClickListener() {
                public void onClick(View v){
                        String elements = txt.getText().toString();
                        elements += et.getText().toString();
                        txt.setText(elements);
                                elist.add((RandomActivity) et.getText());
                }
        });
        clear.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                                txt.setText(null);
                        }
               
        });
        Button oknumber = (Button) findViewById(R.id.oknumber);
        final EditText number = (EditText) findViewById(R.id.number);
        oknumber.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                                String snumber = number.getText().toString();
                                noe = Integer.parseInt(snumber);
                               
                                }
        });
        randombt.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                                int rint = 0;
                                for(noe = 0; noe>1; noe--)
                                        rint = randInt.nextInt(noe);
                                    String rString = elist.get(rint).toString();
                                    elist.remove(rint);
                                    setContentView(R.layout.result);
                                    TextView rText = (TextView) findViewById(R.id.rText);
                                    Button backButton = (Button) findViewById(R.id.backButton);
                                    rText.setText( rString + ";");
                                    backButton.setOnClickListener(new OnClickListener() {
                                        @Override
                                        public void onClick(View v) {
                                                setContentView(R.layout.main);
                                        }
                                    });
                        }
        });
        }

}

XLM 1 :

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:weightSum="1">
    <LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <EditText android:layout_weight="1" android:layout_width="216dp" android:id="@+id/et" android:layout_height="wrap_content"></EditText>
        <Button android:layout_width="wrap_content" android:id="@+id/ok" android:layout_height="wrap_content" android:text="Ok"></Button>
        <Button android:layout_width="wrap_content" android:layout_weight="1" android:id="@+id/clear" android:layout_height="wrap_content" android:text="Clear"></Button>
    </LinearLayout>
    <LinearLayout android:id="@+id/linearLayout2" android:layout_width="fill_parent" android:orientation="vertical" android:layout_height="wrap_content" android:layout_gravity="bottom">
    </LinearLayout>
    <LinearLayout android:id="@+id/linearLayout3" android:layout_height="wrap_content" android:layout_width="fill_parent">
        <TextView android:id="@+id/textView1" android:layout_weight="1" android:text="number of elements" android:layout_height="wrap_content" android:layout_width="wrap_content"></TextView>
        <EditText android:id="@+id/number" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1" android:inputType="number">
            <requestFocus></requestFocus>
        </EditText>
        <Button android:id="@+id/oknumber" android:layout_weight="1" android:layout_height="wrap_content" android:text="Ok" android:layout_width="wrap_content"></Button>
    </LinearLayout>
    <Button android:layout_gravity="bottom" android:layout_height="wrap_content" android:layout_width="fill_parent" android:text="Random!" android:id="@+id/randombt"></Button>
    <TextView android:id="@+id/txt" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_weight="1"></TextView>
</LinearLayout>

XLM 2:

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:id="@+id/rText"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="" />

    <Button
       android:id="@+id/backButton"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="go back" />

</LinearLayout>


Questo è il codice

Offline blackgin

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1387
    • Google+
    • blackgins
    • blackginsoft
    • Mostra profilo
  • Dispositivo Android:
    Galaxy Nexus
  • Sistema operativo:
    Mac OSX 10.8
Re:problema chiusura forzata
« Risposta #3 il: 13 Novembre 2011, 18:15:04 CET »
Perché il logcat, che ti é stato indicato come NECESSARIO, non l'hai postato?
Postate il LogCat LogCat LogCat LogCat LogCat

Offline RAN3000

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Sistema operativo:
    Ubuntu 12.04 LTS con Unity
Re:problema chiusura forzata
« Risposta #4 il: 13 Novembre 2011, 19:08:58 CET »
Perché il logcat, che ti é stato indicato come NECESSARIO, non l'hai postato?

Lo so che è necessario ma non va l' emulatorehttp://www.anddev.it/index.php/topic,5099.msg30451.html#msg30451 e se connetto il cellulare mi dice che adb ha smesso di funzionare e quindi non so come fare adesso sto provando con qualche applicazione che c'è nel market.

Offline RAN3000

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Sistema operativo:
    Ubuntu 12.04 LTS con Unity
R: problema chiusura forzata
« Risposta #5 il: 14 Novembre 2011, 15:59:21 CET »
Logcat:

 I/ActivityManager( 2661): Displayed ranzzgt.random/.RandomActivity: +420ms
I/ActivityManager( 2661): Displayed ranzzgt.random/.RandomActivity: +450ms
I/ActivityManager( 2661): Displayed ranzzgt.random/.RandomActivity: +363ms
I/ActivityManager( 2661): Displayed ranzzgt.random/.RandomActivity: +413ms
E/InputDispatcher( 2661): channel '407e5760 ranzzgt.random/ranzzgt.random.RandomActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
E/InputDispatcher( 2661): channel '407e5760 ranzzgt.random/ranzzgt.random.RandomActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
I/ActivityManager( 2661): Displayed ranzzgt.random/.RandomActivity: +411ms
E/InputDispatcher( 2661): channel '4087e6d8 ranzzgt.random/ranzzgt.random.RandomActivity (server)' ~ Consumer closed input channel or an error occurred.  events=0x8
E/InputDispatcher( 2661): channel '4087e6d8 ranzzgt.random/ranzzgt.random.RandomActivity (server)' ~ Channel is unrecoverably broken and will be disposed!
I/ActivityManager( 2661): Displayed ranzzgt.random/.RandomActivity: +404ms
I/ActivityManager( 2661): Displayed ranzzgt.random/.RandomActivity: +426ms

Inviato dal mio GT-I9100 usando Tapatalk

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:problema chiusura forzata
« Risposta #6 il: 14 Novembre 2011, 16:18:38 CET »
Ho provato a leggere il codice Java... ma non capisco un po' di cose.

Esempio, a cosa serve elist di tipo RandomActivity?

Codice (Java): [Seleziona]
final ArrayList <RandomActivity> elist = new ArrayList <RandomActivity>();
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline RAN3000

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Sistema operativo:
    Ubuntu 12.04 LTS con Unity
Re:problema chiusura forzata
« Risposta #7 il: 14 Novembre 2011, 17:23:19 CET »
Ho provato a leggere il codice Java... ma non capisco un po' di cose.

Esempio, a cosa serve elist di tipo RandomActivity?

Codice (Java): [Seleziona]
final ArrayList <RandomActivity> elist = new ArrayList <RandomActivity>();

Volevo creare un ArrayList (che era la prima volta che usavo ) e guardando gli esempi ho visto che tra le quadre mettevano il nome dell'attività o_O o_O o_O, potresti spiegarmi cosa ci devo mettere?

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:problema chiusura forzata
« Risposta #8 il: 14 Novembre 2011, 17:50:28 CET »
Volevo creare un ArrayList (che era la prima volta che usavo ) e guardando gli esempi ho visto che tra le quadre mettevano il nome dell'attività o_O o_O o_O, potresti spiegarmi cosa ci devo mettere?

Mi sa che dovresti rispolverare un po' il Java, se scrivi codice senza capire cosa fa il tempo di debug potrebbe essere infinito. Questo è un esempio: Java ArrayList example


Più in generale per la tua applicazione devi fare questo:
- commenta tutto il tuo codice sino a lasciare il minimo indispensabile
- esegui l'app nell'emulatore e verifica che tutto sia a posto
- comincia a togliere pian piano i commenti al codice e correggi eventuali errori che insorgono
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline RAN3000

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Sistema operativo:
    Ubuntu 12.04 LTS con Unity
Re:problema chiusura forzata
« Risposta #9 il: 14 Novembre 2011, 18:29:55 CET »
Ok, ma l'emulatore non va http://www.anddev.it/index.php/topic,5099.msg30451.html#msg30451 e poi non ho capito ancora cosa dovrei mettere tra le parentesi quadre dell' Arraylist o_O

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:problema chiusura forzata
« Risposta #10 il: 14 Novembre 2011, 19:18:37 CET »
Prima cosa sistema l'emulatore.
Seconda cosa studia come si usa ArrayList nell'esempio che ti ho linkato.
Poi torni all'app e fai il debug un pezzo alla volta.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline RAN3000

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Sistema operativo:
    Ubuntu 12.04 LTS con Unity
R: problema chiusura forzata
« Risposta #11 il: 14 Novembre 2011, 20:33:11 CET »
L'emulatore non lo ho sistemato ma l'arraylist si

Inviato dal mio GT-I9100 usando Tapatalk

Offline RAN3000

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Sistema operativo:
    Ubuntu 12.04 LTS con Unity
Re:problema chiusura forzata
« Risposta #12 il: 16 Novembre 2011, 18:57:36 CET »
Dopo aver sistemato l' ArrayList ho trovato un altro problema che forza la chiusura dell' applicazione, non potendo utilizzare il logcat non so dove possa essere l'errore. Qualcuno ha qualche consiglio da darmi ??

Codice (Java): [Seleziona]
public int noe;
Random randInt = new Random();
public int elistSize;
public int rint;
public int itr;
public int tNoe;

...

 final EditText number = (EditText) findViewById(R.id.number);
        randombt.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                                Button backButton = (Button) findViewById(R.id.backButton);
                                final TextView rText = (TextView) findViewById(R.id.rText);
                                String snumber = number.getText().toString();
                                String rString = rText.getText().toString();
                                for(noe = Integer.parseInt(snumber);noe>0;noe--)
                                        elistSize = elist.size();
                                        rint = randInt.nextInt(elistSize);
                                        rString += elist.get(rint).toString();
                            rString += "; ";
                            rText.setText(rText + rString);
                            for(;;)
                                if (noe<1) break;
                                itr = elist.indexOf(rString);
                                elist.remove(itr);
                                txt.setText("");
                                setContentView(R.layout.result);
                                backButton.setOnClickListener(new OnClickListener() {
                                        @Override
                                        public void onClick(View v) {
                                                setContentView(R.layout.main);
                                                elist.clear();
                                                rText.setText("");
                                        }
                                    });
                        }
        });

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:problema chiusura forzata
« Risposta #13 il: 16 Novembre 2011, 19:08:35 CET »
non potendo utilizzare il logcat non so dove possa essere l'errore.

Il regolamento del forum dice chiaramente che per avere aiuto sugli errori è obbligatorio postare il LogCat.

Non è un vezzo e nemmeno un dispetto, il punto è che per trovare gli errori serve il LogCat, a tutti, anche agli esperti.

Qualcuno ha qualche consiglio da darmi ??

Ti rinnovo il consiglio dato sopra: sistema i tool di sviluppo per poter usare il LogCat.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline RAN3000

  • Nuovo arrivato
  • *
  • Post: 43
    • Mostra profilo
  • Dispositivo Android:
    Samsung Galaxy S 2
  • Sistema operativo:
    Ubuntu 12.04 LTS con Unity
R: problema chiusura forzata
« Risposta #14 il: 16 Novembre 2011, 19:57:10 CET »
Il problema dell' emulatore (per il logcat) potrebbe essere che nell' SDK Android SDK tools non e aggiornato ( non mi lascia aggiornarlo non so perché)??

Inviato dal mio GT-I9100 usando Tapatalk