Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class SQLite extends SQLiteOpenHelper {
- //constructor.......
- public SQLite(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
- super(context, name, factory, version);
- }
- //aqui se crea la tabla...
- @Override
- public void onCreate(SQLiteDatabase db) {
- db.execSQL("create table usuarios (id integer primary key autoincrement, " +
- "nombre text, clave text)");
- db.execSQL("create table profesores (id integer primary key autoincrement, " +
- "nombre text, detalle text)");
- db.execSQL("create table materias (id integer primary key autoincrement, " +
- "nombre text, id_profesor integer, id_periodo integer, detalle text, " +
- "foreign key(id_profesor) references profesores (id)," +
- "foreign key(id_periodo) references periodo(id))");
- db.execSQL("create table periodo (id integer primary key autoincrement, " +
- "nombre text, id_usuario integer, fechainicio integer, fechacierre integer," +
- "foreign key(id_usuario) references usuarios(id))");
- db.execSQL("create table caracteristicas (id integer primary key autoincrement, " +
- "nombre text)");
- db.execSQL("create table asignacion (id integer primary key autoincrement, " +
- "detalle text, id_materia integer, fecha integer, id_periodo integer, id_tarea integer," +
- "foreign key(id_materia) references materias(id)," +
- "foreign key(id_periodo) references periodo(id)," +
- "foreign key(id_tarea) references tarea(id))");
- db.execSQL("create table tarea (id integer primary key autoincrement, " +
- "nombre text)");
- db.execSQL("create table caracteristica_profesor (id_profesor integer, id_caracteristica integer," +
- "foreign key(id_profesor) references profesores(id)," +
- "foreign key(id_caracteristica) references caracteristicas(id))");
- db.execSQL("insert into usuarios values('0','admin','admin')");
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- db.execSQL("create table usuarios (id integer primary key autoincrement, " +
- "nombre text, clave text)");
- db.execSQL("create table profesores (id integer primary key autoincrement, " +
- "nombre text, detalle text)");
- db.execSQL("create table materias (id integer primary key autoincrement, " +
- "nombre text, id_profesor integer, id_periodo integer, detalle text, " +
- "foreign key(id_profesor) references profesores (id)," +
- "foreign key(id_periodo) references periodo(id))");
- db.execSQL("create table periodo (id integer primary key autoincrement, " +
- "nombre text, id_usuario integer, fechainicio integer, fechacierre integer," +
- "foreign key(id_usuario) references usuarios(id))");
- db.execSQL("create table caracteristicas (id integer primary key autoincrement, " +
- "nombre text)");
- db.execSQL("create table asignacion (id integer primary key autoincrement, " +
- "detalle text, id_materia integer, fecha integer, id_periodo integer, id_tarea integer," +
- "foreign key(id_materia) references materias(id)," +
- "foreign key(id_periodo) references periodo(id)," +
- "foreign key(id_tarea) references tarea(id))");
- db.execSQL("create table tarea (id integer primary key autoincrement, " +
- "nombre text)");
- db.execSQL("create table caracteristica_profesor (id_profesor integer, id_caracteristica integer," +
- "foreign key(id_profesor) references profesores(id)," +
- "foreign key(id_caracteristica) references caracteristicas(id))");
- db.execSQL("insert into usuarios values('0','admin','admin')");
- }
- }
- package company.viral.organizadorjec.ActivitysPrincipales;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.support.v7.app.AlertDialog;
- import android.support.v7.app.AppCompatActivity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.EditText;
- import android.widget.Toast;
- import company.viral.organizadorjec.R;
- //aqui empieza...
- public class MainActivity extends AppCompatActivity {
- //creamos variables EditText para capturar los datos
- private EditText aetid,aetpass;
- private Cursor fila;
- //en este metodo SIEMPRE se dibuja la app correspondiente
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //antes de dibujar definimos las variables y a quienes pertecen en el layout
- aetid = (EditText) findViewById(R.id.etid);
- aetpass = (EditText) findViewById(R.id.etpass);
- }
- //creamos los metodos con los que reaccionan los btn (onClick)
- /*metodo para entrar y buscar (en construccion.... explorando metodos)*/
- public void onClickAcepta (View view) {
- String auxn = aetid.getText().toString();
- String auxp = aetpass.getText().toString();
- SQLite admin = new SQLite(this,"administracion", null, 1);
- SQLiteDatabase bd = admin.getWritableDatabase();
- //modifique el llamado de la base de datos agregando el id
- fila=bd.rawQuery("select nombre, clave, id from usuarios where nombre='"+auxn+"'and clave='"+auxp+"'",null);
- if(fila.moveToFirst()==true){
- //capturamos los valores del cursos y lo almacenamos en variable
- String usua=fila.getString(0);
- String pass=fila.getString(1);
- //y almacenandolo en esta variable
- int id=fila.getInt(2);
- //preguntamos si los datos ingresados son iguales
- if (auxn.equals(usua)&&auxp.equals(pass)){
- //si son iguales entonces vamos a otra ventana
- //Menu es una nueva actividad empty
- Intent ven=new Intent(this,MenuCentral.class);
- //agregue el put extra aqui...----
- ven.putExtra("identificador",id);
- //--------------------------------
- startActivity(ven);
- //limpiamos las las cajas de texto
- aetid.setText("");
- aetpass.setText("");
- finish();
- }
- }else {
- Toast.makeText(getApplicationContext(), "Usuario o contraseña erroneo", Toast.LENGTH_LONG).show();
- }
- bd.close();
- }
- //metodo para entrar a la actividad de registro
- public void onClickRegistro(View view){
- Intent i = new Intent(this,Registro.class);
- startActivity(i);
- finish();
- }
- @Override
- public void onBackPressed() {
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setMessage("¿Desea Salir de la Aplicación?");
- builder.setTitle("Alerta!");
- builder.setPositiveButton("SI", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- finish();
- }
- });
- builder.setNegativeButton("NO", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.cancel();
- }
- });
- AlertDialog dialog=builder.create();
- dialog.show();
- }
- }
- package company.viral.organizadorjec.ActivitysPrincipales;
- import android.content.DialogInterface;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.os.Bundle;
- import android.support.design.widget.FloatingActionButton;
- import android.support.v4.app.FragmentManager;
- import android.support.v7.app.AlertDialog;
- import android.view.Gravity;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.support.design.widget.NavigationView;
- import android.support.v4.view.GravityCompat;
- import android.support.v4.widget.DrawerLayout;
- import android.support.v7.app.ActionBarDrawerToggle;
- import android.support.v7.app.AppCompatActivity;
- import android.support.v7.widget.Toolbar;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.widget.Button;
- import android.widget.LinearLayout;
- import android.widget.PopupWindow;
- import android.widget.RelativeLayout;
- import android.widget.TextView;
- import company.viral.organizadorjec.FragmentMenu.CaracteristicasF;
- import company.viral.organizadorjec.FragmentMenu.PeriodosF;
- import company.viral.organizadorjec.FracmentPopUp.ConfiguracionActividadF;
- import company.viral.organizadorjec.FracmentPopUp.ConfiguracionMateriaF;
- import company.viral.organizadorjec.FracmentPopUp.ConfiguracionPeriodoF;
- import company.viral.organizadorjec.FracmentPopUp.ConfiguracionProfesorF;
- import company.viral.organizadorjec.FragmentMenu.InicioF;
- import company.viral.organizadorjec.FragmentMenu.MateriaF;
- import company.viral.organizadorjec.FragmentMenu.PerfilF;
- import company.viral.organizadorjec.FragmentMenu.ProfesoresF;
- import company.viral.organizadorjec.R;
- public class MenuCentral extends AppCompatActivity
- implements NavigationView.OnNavigationItemSelectedListener {
- private PopupWindow popupadicion;
- private DrawerLayout posicionpopup;
- //agregue el cursor----------
- private Cursor nombreid;
- //--------------------------
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_menu_central);
- Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- //codigo modificado-----------------------------------------------------------------
- //teoria implementada pero no corre :S
- Bundle bundle=getIntent().getExtras();
- int identificar = bundle.getInt("identificador");
- SQLite admin = new SQLite(this,"administracion",null,1);
- SQLiteDatabase bd = admin.getWritableDatabase();
- nombreid=bd.rawQuery("select nombre from usuarios where id='"+identificar+"'",null);
- TextView correo = (TextView) findViewById(R.id.textViewcorreo);
- if (nombreid.moveToFirst()==true){
- String usuarioid=nombreid.getString(0);
- correo.setText(usuarioid);
- }
- //---------------------------------------------------------------------------------
- posicionpopup = (DrawerLayout) findViewById(R.id.drawer_layout);
- //colocamos el fragment con que inicia el menu
- FragmentManager fragmentManager = getSupportFragmentManager();
- fragmentManager.beginTransaction().replace(R.id.contenedor,new InicioF()).commit();
- //este es el apartado para el botonsito flotante
- FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
- fab.setOnClickListener(new View.OnClickListener() {
- //metodo de escucha para el popup
- @Override
- public void onClick(View view) {
- if(popupadicion!=null){
- popupadicion.dismiss();
- }
- //implementamos el popup
- LayoutInflater inflater = (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);
- final View vistaadicion = inflater.inflate(R.layout.activity_pop_adicion,null);
- popupadicion = new PopupWindow(
- vistaadicion, RelativeLayout.LayoutParams.WRAP_CONTENT,
- RelativeLayout.LayoutParams.WRAP_CONTENT
- );
- //luego de clicear y abrir el popup le decimos...
- //si das al profe ve a profe
- LinearLayout btnprofe = (LinearLayout) vistaadicion.findViewById(R.id.btnagregarprofesor);
- btnprofe.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FragmentManager fragmentManager = getSupportFragmentManager();
- fragmentManager.beginTransaction().replace(R.id.contenedor,new ConfiguracionProfesorF()).commit();
- popupadicion.dismiss();
- }
- });
- //si le das actividad ve actividad
- LinearLayout btnactividad = (LinearLayout) vistaadicion.findViewById(R.id.btnagregaractividad);
- btnactividad.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FragmentManager fragmentManager = getSupportFragmentManager();
- fragmentManager.beginTransaction().replace(R.id.contenedor,new ConfiguracionActividadF()).commit();
- popupadicion.dismiss();
- }
- });
- //si le das a materias ve a materias
- LinearLayout btnmaterias = (LinearLayout) vistaadicion.findViewById(R.id.btnagregarmateria);
- btnmaterias.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FragmentManager fragmentManager = getSupportFragmentManager();
- fragmentManager.beginTransaction().replace(R.id.contenedor,new ConfiguracionMateriaF()).commit();
- popupadicion.dismiss();
- }
- });
- //si le das a periodo ve a periodo
- LinearLayout btnperiodo = (LinearLayout) vistaadicion.findViewById(R.id.btnagregarperiodo);
- btnperiodo.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- FragmentManager fragmentManager = getSupportFragmentManager();
- fragmentManager.beginTransaction().replace(R.id.contenedor,new ConfiguracionPeriodoF()).commit();
- popupadicion.dismiss();
- }
- });
- //luego le decimos que cierre el popup con el boton
- Button cerrarboton = (Button) vistaadicion.findViewById(R.id.btnpopupcerrar);
- cerrarboton.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- popupadicion.dismiss();
- }
- });
- //hubicamos donde queremos el popup
- popupadicion.showAtLocation(posicionpopup, Gravity.CENTER,0,0 );
- }
- });
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
- this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
- drawer.setDrawerListener(toggle);
- toggle.syncState();
- NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
- navigationView.setNavigationItemSelectedListener(this);
- }
- @Override
- public void onBackPressed() {
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- if (drawer.isDrawerOpen(GravityCompat.START)) {
- drawer.closeDrawer(GravityCompat.START);
- } else {
- AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setMessage("¿Desea Salir de la Aplicación?");
- builder.setTitle("Alerta!");
- builder.setPositiveButton("SI", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- finish();
- }
- });
- builder.setNegativeButton("NO", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- dialog.cancel();
- }
- });
- AlertDialog dialog=builder.create();
- dialog.show();
- }
- }
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
- // Inflate the menu; this adds items to the action bar if it is present.
- getMenuInflater().inflate(R.menu.menu_central, menu);
- return true;
- }
- @Override
- public boolean onOptionsItemSelected(MenuItem item) {
- // Handle action bar item clicks here. The action bar will
- // automatically handle clicks on the Home/Up button, so long
- // as you specify a parent activity in AndroidManifest.xml.
- int id = item.getItemId();
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- return true;
- }
- return super.onOptionsItemSelected(item);
- }
- @SuppressWarnings("StatementWithEmptyBody")
- @Override
- public boolean onNavigationItemSelected(MenuItem item) {
- // Handle navigation view item clicks here.
- int id = item.getItemId();
- FragmentManager fragmentManager = getSupportFragmentManager();
- if (id == R.id.nav_camera) {
- fragmentManager.beginTransaction().replace(R.id.contenedor,new InicioF()).commit();
- } else if (id == R.id.nav_gallery) {
- fragmentManager.beginTransaction().replace(R.id.contenedor,new ProfesoresF()).commit();
- } else if (id == R.id.nav_slideshow) {
- fragmentManager.beginTransaction().replace(R.id.contenedor,new PeriodosF()).commit();
- } else if (id == R.id.nav_manage) {
- fragmentManager.beginTransaction().replace(R.id.contenedor,new CaracteristicasF()).commit();
- } else if (id == R.id.nav_share) {
- fragmentManager.beginTransaction().replace(R.id.contenedor,new PerfilF()).commit();
- } else if (id == R.id.nav_send) {
- } else if (id == R.id.nav_materia){
- fragmentManager.beginTransaction().replace(R.id.contenedor,new MateriaF()).commit();
- }
- DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
- drawer.closeDrawer(GravityCompat.START);
- return true;
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:app="http://schemas.android.com/apk/res-auto"
- android:layout_width="match_parent"
- android:layout_height="@dimen/nav_header_height"
- android:background="@drawable/side_nav_bar"
- android:gravity="bottom"
- android:orientation="vertical"
- android:paddingBottom="@dimen/activity_vertical_margin"
- android:paddingLeft="@dimen/activity_horizontal_margin"
- android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- android:theme="@style/ThemeOverlay.AppCompat.Dark">
- <ImageView
- android:id="@+id/imageView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:paddingTop="@dimen/nav_header_vertical_spacing"
- app:srcCompat="@android:drawable/sym_def_app_icon" />
- <TextView
- android:id="@+id/textViewCabeza"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="@dimen/nav_header_vertical_spacing"
- android:text="Bienvenido"
- android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
- <TextView
- android:id="@+id/textViewcorreo"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="android.studio@android.com" />
- </LinearLayout>
- 01-19 00:56:06.383 16811-16811/company.viral.organizadorjec E/AndroidRuntime: FATAL EXCEPTION: main
- Process: company.viral.organizadorjec, PID: 16811
- java.lang.RuntimeException: Unable to start activity ComponentInfo{company.viral.organizadorjec/company.viral.organizadorjec.ActivitysPrincipales.MenuCentral}: java.lang.NullPointerException
- at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2338)
- at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
- at android.app.ActivityThread.access$800(ActivityThread.java:151)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
- at android.os.Handler.dispatchMessage(Handler.java:110)
- at android.os.Looper.loop(Looper.java:193)
- at android.app.ActivityThread.main(ActivityThread.java:5299)
- at java.lang.reflect.Method.invokeNative(Native Method)
- at java.lang.reflect.Method.invoke(Method.java:515)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
- at dalvik.system.NativeStart.main(Native Method)
- Caused by: java.lang.NullPointerException
- at company.viral.organizadorjec.ActivitysPrincipales.MenuCentral.onCreate(MenuCentral.java:69)
- at android.app.Activity.performCreate(Activity.java:5264)
- at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1088)
- at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2302)
- at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390)
- at android.app.ActivityThread.access$800(ActivityThread.java:151)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
- at android.os.Handler.dispatchMessage(Handler.java:110)
- at android.os.Looper.loop(Looper.java:193)
- at android.app.ActivityThread.main(ActivityThread.java:5299)
- at java.lang.reflect.Method.invokeNative(Native Method)
- at java.lang.reflect.Method.invoke(Method.java:515)
- at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:829)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:645)
- at dalvik.system.NativeStart.main(Native Method)
- fila=bd.rawQuery("select nombre, clave, id from usuarios where nombre='"+auxn+"'and clave='"+auxp+"'",null);
- intent.putExtra("id", fila.getInt(2));
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="@dimen/nav_header_vertical_spacing"
- android:text="Android Studio"
- android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
- <TextView
- android:id="@+id/textView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="android.studio@android.com" />
- <TextView
- android:id="@+id/textViewCabeza"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="@dimen/nav_header_vertical_spacing"
- android:text="Android Studio"
- android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
- <TextView
- android:id="@+id/textViewCorreo"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="android.studio@android.com" />
- TextView mTextViewCabeza = findViewById(R.id.textViewCabeza);
- TextView mTextViewCorreo = findViewById(R.id.textViewCorreo);
- public void setPreferences(String nombre){
- SharedPreferences preferences = MainActivity .this.getSharedPreferences("login", Context.MODE_PRIVATE);
- SharedPreferences.Editor editor = preferences.edit();
- //Agregar los datos que quieras almacenar
- editor.putString("nombre", nombre);
- editor.commit();
- }
- if(fila.moveToFirst()==true){
- //capturamos los valores del cursos y lo almacenamos en variable
- String usua=fila.getString(0);
- String pass=fila.getString(1);
- //mandas a llamar el método
- setPreferences(usua);
- //preguntamos si los datos ingresados son iguales
- if (auxn.equals(usua)&&auxp.equals(pass)){
- //si son iguales entonces vamos a otra ventana
- //Menu es una nueva actividad empty
- Intent ven=new Intent(this,MenuCentral.class);
- startActivity(ven);
- //limpiamos las las cajas de texto
- aetid.setText("");
- aetpass.setText("");
- finish();
- }
- }
- <TextView
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:paddingTop="@dimen/nav_header_vertical_spacing"
- android:text="Android Studio"
- android:id="@+id/usuario"
- android:textAppearance="@style/TextAppearance.AppCompat.Body1" />
- <TextView
- android:id="@+id/email"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="android.studio@android.com" />
- protected void onCreate(Bundle savedInstanceState) {
- TextView nombre = (TextView) findViewById(R.id.usuario);
- TextView email = (TextView) findViewById(R.id.email);
- //aqui obtenemos los datos enviados
- SharedPreferences preferences = getSharedPreferences("login", Context.MODE_PRIVATE);
- //para obtener es "nombre de la variable" y "valor por default"
- String nombre = preferences.getString("nombre","texto default en el caso que este null");
- //agregar el texto
- nombre.setText(nombre);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement