Android - error al ejecutar la aplicacion en el emulador

   
Vista:

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

error al ejecutar la aplicacion en el emulador

Publicado por Francisco (240 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

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

error al ejecutar la aplicacion en el emulador

Publicado por juanki (221 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

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

error al ejecutar la aplicacion en el emulador

Publicado por Francisco (240 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

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

error al ejecutar la aplicacion en el emulador

Publicado por Francisco (240 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

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