Foros del Web » Programación para mayores de 30 ;) » Programación General »

Funcionalidad de android con java

Estas en el tema de Funcionalidad de android con java en el foro de Programación General en Foros del Web. Necesito hacer una calculadora, el caso es que para programar la funcionalidad usamos java. este es el código Código: package com.example.usuario.calculadora; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; ...
  #1 (permalink)  
Antiguo 16/11/2015, 02:19
 
Fecha de Ingreso: abril-2007
Mensajes: 166
Antigüedad: 11 años, 1 mes
Puntos: 2
Funcionalidad de android con java

Necesito hacer una calculadora, el caso es que para programar la funcionalidad usamos java.

este es el código

Código:
package com.example.usuario.calculadora;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity implements Button.OnClickListener{

    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        Button miboton;
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);



        //7
        miboton=(Button)findViewById(R.id.b7);
        miboton.setOnClickListener(this);
        //8
        miboton=(Button)findViewById(R.id.b8);
        miboton.setOnClickListener(this);
        //9
        miboton=(Button)findViewById(R.id.b9);
        miboton.setOnClickListener(this);
        //4,5 y 6
        miboton=(Button)findViewById(R.id.b4);
        miboton.setOnClickListener(this);
        miboton=(Button)findViewById(R.id.b5);
        miboton.setOnClickListener(this);
        miboton=(Button)findViewById(R.id.b6);
        miboton.setOnClickListener(this);
        //1,2 y3
        miboton=(Button)findViewById(R.id.b1);
        miboton.setOnClickListener(this);
        miboton=(Button)findViewById(R.id.b2);
        miboton.setOnClickListener(this);
        miboton=(Button)findViewById(R.id.b3);
        miboton.setOnClickListener(this);


    }

    public void teclaNumericaContorl(View v)
    {
        String textobotonpulsado , mensaje, resul;

        Button botonpulsado=(Button)v;
        textobotonpulsado=botonpulsado.getText().toString();
        mensaje="has pulsado una tecla"+textobotonpulsado;
        Toast.makeText(this,mensaje,Toast.LENGTH_SHORT).show();

    }

    public void onClick(View v)
    {
        teclaNumericaContorl(v);

    }



}

la aplicacion me da un error y me sale un mensaje en inglés que me dice "se cerró la aplicacion inesperadamente" , nisiquiera ejecutandose, esta es la salida que me da el ide

11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: FATAL EXCEPTION: main
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.usuario.calculadora/com.example.usuario.calculadora.MainActivity}: java.lang.NullPointerException
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2180)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2230)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThre ad.java:141)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1234)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99 )
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.jav a:5041)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:793)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:560)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: Caused by: java.lang.NullPointerException
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at com.example.usuario.calculadora.MainActivity.onCre ate(MainActivity.java:31)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:5 104)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(I nstrumentation.java:1080)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(A ctivityThread.java:2144)
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(Ac tivityThread.java:2230)*
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.app.ActivityThread.access$600(ActivityThre ad.java:141)*
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(Activit yThread.java:1234)*
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99 )*
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.os.Looper.loop(Looper.java:137)*
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.jav a:5041)*
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at java.lang.reflect.Method.invokeNative(Native Method)*
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at java.lang.reflect.Method.invoke(Method.java:511)*
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:793)*
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:560)*
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at dalvik.system.NativeStart.main(Native Method)*
11-16 09:14:33.076 1163-1163/? I/Process: Sending signal. PID: 1163 SIG: 9


No se porqué nisiquiera me abre la app. Echadme una mano por favor.
  #2 (permalink)  
Antiguo 16/11/2015, 03:23
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.322
Antigüedad: 3 años, 9 meses
Puntos: 182
Respuesta: Funcionalidad de android con java

Buenas,

Deberias poner el post en el subforo de Android.

Por otro lado, las trazas te dicen exactamente lo que pasa, especialmente esta parte:
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: Caused by: java.lang.NullPointerException
11-16 09:14:27.532 1163-1163/? E/AndroidRuntime: at com.example.usuario.calculadora.MainActivity.onCre ate(MainActivity.java:31)


Te esta diciendo que hay un intento de acceso a una variable nula en la linea 31 de tu clase: com.example.usuario.calculadora.MainActivity

Uno de los finds que realizas devuelve nulo, por lo que al intentar llamar al metodo setOnClickListener te da la excepcion.

Procura comprobar siempre si la variable es nula antes de utilizarla:
if (miboton != null)
//operamos con la variable
else
//Tratamiento: logs, excepciones, etc



Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: android, aplicacion, funcionalidad, java, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:50.