Android - Detencion brusca da la aplicacion al llamar a una activity.

   
Vista:

Detencion brusca da la aplicacion al llamar a una activity.

Publicado por bladimirs (3 intervenciones) el 22/03/2016 21:43:25
Hola a todos. Estoy desarrollando una aplicacion donde la MainActivity primeramente crea una base de datos y dentro de ella una tabla. Posteriormente se revisa si dicha tabla posee algun registro. Si no hay ni uno se llama a una clase y si hay por lo menos uno se llama a otra clase. Todo bien excepto que cuando llega el momento de llamar una clase. Dicha clase es una activity que ya esta registrada en el manifest. Si no se llama a esa clase y por el contrario aparece un toast este aparece y no pasa nada. No entiendo donde esta el error. Alguna ayuda se agradece. . El codigo que estoy usando es el sigueinte:

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
package com.bladimir.guardias;
 
 
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.database.Cursor;
 
import java.util.HashMap;
 
 
 
 
 
public class MainActivity extends Activity {
	private SQLiteDatabase baseDatos;
	private static final String nombreBD = "Guardias";
	 private static final String TAG = "bdguardias";
	 private Cursor c;
	 Context context;
	 String N;
 
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		//setContentView(R.layout.main);
		try    {
 
	      baseDatos = openOrCreateDatabase(nombreBD, MODE_WORLD_WRITEABLE, null);
	      baseDatos.execSQL("create table centros (codigo integer primary key autoincrement, nombre text not null unique, duracion integer not null)");
 
 
	      //Toast.makeText(this, "Hola", Toast.LENGTH_LONG).show();
	    }
	    catch (Exception e)
	    {
	      Log.i(TAG, "Error al abrir o crear la base de datos" + e);
	    }
		 c = this.baseDatos.rawQuery("select * from centros", null);
		 int n = c.getCount();
		  N = String.valueOf(n);
		  if (n == 0){
 
			  Toast.makeText(this, "No hay", Toast.LENGTH_LONG).show();
			  Intent i1m = new Intent(context, Registrarcentro.class);
	     	  i1m.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
	     		context.startActivity(i1m);
 
		  }else {
			  Toast.makeText(this, "Si hay", Toast.LENGTH_LONG).show();
 
		  }
		  }
		 //Toast.makeText(this, N, Toast.LENGTH_LONG).show();	
 
}

El manifest es:
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
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bladimir.guardias"
    android:versionCode="1"
    android:versionName="1.0" >
 
    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />
 
    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        >
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Registrarcentro"></activity>
        <activity android:name=".Seleccionarcentro"></activity>
    </application>
 
</manifest>
Alguna ayuda sera apreciada. Saludos.
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

Detencion brusca da la aplicacion al llamar a una activity.

Publicado por Yamil Bracho (68 intervenciones) el 22/03/2016 21:57:36
No veo donde inicializas la variable context...
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

Detencion brusca da la aplicacion al llamar a una activity.

Publicado por bladimirs (3 intervenciones) el 22/03/2016 22:50:25
Ya lo resolvi. Cambié context por this y se resolvio el asunto. Gracias por todo.
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