Android - error al ejecutar la aplicacion en el emulador

 
Vista:
sin imagen de perfil

error al ejecutar la aplicacion en el emulador

Publicado por liantony (5 intervenciones) el 26/03/2017 04:26:44
hola estoy haciendo una aplicacion sensilla resulta ser que me tope con un problema con un spinner y un switch , resulta ser que para lo que quiero que haga esa activity hace que el app se cierre


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
 
import java.util.ArrayList;
import java.util.List;
 
public class SenoCosenoTangente extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
 
    EditText ca,
             co,
              a,
              h;
 
 
 
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_seno_coseno_tangente);
 
 
        ca = (EditText)findViewById(R.id.cateto_acyasente);
        co = (EditText)findViewById(R.id.cateto_opuesto);
        a  = (EditText)findViewById(R.id.angulo);
        h  = (EditText)findViewById(R.id.hipotenusa);
 
 
            Spinner spinner = (Spinner) findViewById(R.id.spinner);
            spinner.setOnItemSelectedListener(this);
 
 
 
        List<String> funciones = new ArrayList<String>();
        funciones.add("sin");
        funciones.add("cos");
        funciones.add("tang");
 
 
        ArrayAdapter <String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item , funciones);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 
        spinner.setAdapter(dataAdapter);
 
 
 
 
 
    }
 
 
 
 
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
 
 
 
 
 
 
            double c_o = Integer.parseInt(co.getText().toString());
            double c_a = Integer.parseInt(ca.getText().toString());
 
            double hip = Integer.parseInt(h.getText().toString());
 
 
 
 
 
        switch (position){
 
 
 
            case 0 :
 
                    Toast.makeText(getApplicationContext(), "sin = " + (c_o/hip) , Toast.LENGTH_LONG ).show();
 
                    break;
            case 1 :
 
                    Toast.makeText(getApplicationContext(), "cos =  " + (c_a/hip) , Toast.LENGTH_LONG ).show();
                    break;
            case 2 :
 
                    Toast.makeText(getApplicationContext(), "tang = " + (c_a/ c_o), Toast.LENGTH_LONG).show();
                    break;
 
            default:
 
 
                break;
        }
 
 
 
 
 
 
    }
 
    @Override
    public void onNothingSelected(AdapterView<?> parent) {
 
    }
 
 
 
 
}


ese es el codigo que estoy usando el error de que se detiene la aplicacion sale cuando inserto las siguentes lineas de codigo


1
2
3
4
double c_o = Integer.parseInt(co.getText().toString());
double c_a = Integer.parseInt(ca.getText().toString());
 
double hip = Integer.parseInt(h.getText().toString());
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Francisco
Val: 466
Oro
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

error al ejecutar la aplicacion en el emulador

Publicado por Francisco (358 intervenciones) el 26/03/2017 11:07:35
Estas convirtiendo un integer a double;

Prueba con esto:

1
double c_o =Double.parseDouble((co.getText().toString());


Suerte;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

error al ejecutar la aplicacion en el emulador

Publicado por liantony (5 intervenciones) el 26/03/2017 22:41:49
todavia sigo teniendo el mismo problema el app se detiene en el emulador de android studio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 444
Oro
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

error al ejecutar la aplicacion en el emulador

Publicado por juanki (253 intervenciones) el 26/03/2017 22:49:32
Hola

El error, cual es el error, es fundamental, sin saber cual es el error es dar palos de ciego.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

error al ejecutar la aplicacion en el emulador

Publicado por liantony (5 intervenciones) el 26/03/2017 23:50:53
Screen-Shot-2017-03-26-at-5.48.24-PM
Screen-Shot-2017-03-26-at-5.48.36-PM


este es el error


03-26 17:48:14.678 3116-3116/com.example.liantonypozo.calculosmatematicos3 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.liantonypozo.calculosmatematicos3, PID: 3116
java.lang.NumberFormatException: empty String
at java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1071)
at java.lang.Double.parseDouble(Double.java:547)
at com.example.liantonypozo.calculosmatematicos3.SenoCosenoTangente.onItemSelected(SenoCosenoTangente.java:68)
at android.widget.AdapterView.fireOnSelected(AdapterView.java:931)
at android.widget.AdapterView.dispatchOnItemSelected(AdapterView.java:920)
at android.widget.AdapterView.-wrap1(AdapterView.java)
at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:890)
at android.os.Handler.handleCallback(Handler.java:751)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:154)
at android.app.ActivityThread.main(ActivityThread.java:6119)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)


como ven el capture pero solo pasa cuando utilizo

1
2
3
4
double c_o = Double.parseDouble(co.getText().toString());
        double c_a = Double.parseDouble(ca.getText().toString());
 
        double hip = Double.parseDouble(h.getText().toString());
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 466
Oro
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

error al ejecutar la aplicacion en el emulador

Publicado por Francisco (358 intervenciones) el 27/03/2017 10:24:07
1
2
3
double c_o = Double.parseDouble(co.getText().toString());
double c_a = Double.parseDouble(ca.getText().toString());
double hip = Double.parseDouble(h.getText().toString());

Prueba esto lo mismo estas poniendo los valores en los textView mal

1
2
3
4
double c_o = Double.parseDouble("2.1");
double c_a = Double.parseDouble("2.1");
 
double hip = Double.parseDouble("3.3");


El valor de un double es 2.3 con un punto si lo pones 2,3 con coma es incorrecto te salta error.


si te sigue fallando puedes probar a poner

1
2
3
double c_o = Double.parseDouble("2");
double c_a = Double.parseDouble("2");
double hip = Double.parseDouble("3");

o

1
2
3
douuble c_a = 2.4;
double hip = 2.6;
double hip =4.6;


con esto te tiene que aclarar un poco de donde te salta el error
Comenta si te sirvio.

Saludos:
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

error al ejecutar la aplicacion en el emulador

Publicado por Liantony (5 intervenciones) el 27/03/2017 12:36:58
No me deja ni poner los valores en el Text view la aplicación se cuelga solo de abrir el activity
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Francisco
Val: 466
Oro
Ha mantenido su posición en Android (en relación al último mes)
Gráfica de Android

error al ejecutar la aplicacion en el emulador

Publicado por Francisco (358 intervenciones) el 27/03/2017 14:58:07
Al iniciar la aplicacion el spinner toma como valor el item 0 y llama al metodo onItemSelected como los valores son cero
te lanza el error

java.lang.NumberFormatException: empty String
at java.lang.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1071)
at java.lang.Double.parseDouble(Double.java:547)

falla por que los valores iniciales que tienes en los edittext son nulos

Deberas asignarle un valor en archivo xml por ejemplo:

android:text=0 a todos los editText





y luego hacer una comparacion:



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int position,
	long arg3) {
 
	// comparacion
 
	if (co.getText().toString().length()==0 || ca.getText().toString().length()==0 || h.getText().toString().length()==0){
		return;
	}
 
	double c_o = Double.parseDouble(co.getText().toString());
	double c_a = Double.parseDouble(ca.getText().toString());
	double hip = Double.parseDouble(h.getText().toString());
 
 
 
 
 
    switch (position){
        case 0 :
            Toast.makeText(getApplicationContext(), "sin = " + (c_o/hip) , Toast.LENGTH_LONG ).show();
            break;
        case 1 :
            Toast.makeText(getApplicationContext(), "cos =  " + (c_a/hip) , Toast.LENGTH_LONG ).show();
            break;
        case 2 :
            Toast.makeText(getApplicationContext(), "tang = " + (c_a/ c_o), Toast.LENGTH_LONG).show();
            break;
 
        default:
            break;
    }
 
}

espero haberte podido ayudar
comenta si resolviste el problema.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

error al ejecutar la aplicacion en el emulador

Publicado por liantonyliantony (5 intervenciones) el 28/03/2017 00:30:11
perfecto funciono de esa manera gracias :D :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar