DiE_AucH
Usuario (Alemania)
Para el entendimiento de este procedimiento en android vamos a crear una pequeña y sencilla app que será como una pequeña agenda, la cual va a estar conectada con una Base de Datos en SQLite y almacenará los siguientes datos: id: INTEGER Nombre: Text Apellido: Text Telefono: Text // También puede ser de tipo INTEGER E-Mail: Text El objetivo de esta app será conectarse a la Base de Datos creada en SQLite y realizar las siguientes operaciones con los datos: 1.- Insertar Datos 2.- Consulta y Muestra de Datos 3.- Eliminar Uno o Todos los Datos Para no hacer tan largo el post por el momento sólo vamos a conectar con la base de datos e insertar los datos. En el primer ActivityMain creamos los botones para realizar la operaciones en otros Activities de la sigueinte manera: Después creamos el Activity para Insertar los Datos, para crear otro activity en Android Studio nos vamos al archivo AndroidManifest.xml, damos click derecho y en new- acitivity. En la siguiente ventana Blank, después siguiente, damos nombre y finalizar. Ya esta creado el segundo activity, el cual debe tener 4 text large, 4 editText y 2 botones de la siguiente manera: Ahora hacemos la función para pasar al segundo activity, es decir pasar del Principal al segundo Activity, nos vamos al MainActivity.java que es el que hace referencia al activity_main.xml: public void pasaSegundo(View view) { Intent i = new Intent(this, MainActivity2.class ); //MainActivity2 es el nombre del .java //Del segundo Activity startActivity(i); } código completo: package com.bd.bdapp.app; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.EditText; public class MainActivity extends ActionBarActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, 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(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public void pasaSegundo(View view) { Intent i = new Intent(this, MainActivity2.class ); startActivity(i); } } Para Asociarla al botón nos vamos al xml y en la vista diseño seleccionamos el botón y del lado derecho salen las propiedades y buscamos donde dice onClick y ponemos el nombre del método que hicimos en este caso debe ser pasaSegundo y damos enter. Ahora vamos a programar la clase que va a crear la BD, que va a gestionar la versiones de la BD y nos dará acceso a ésta. Para esto en android se hace uso de la clase SQLiteOpenHelper, por lo cual crearemos una clase que va a heredar de SQLiteOpenHelper. Al hacer esto automáticamente nos generará el constructor y los siguientes métodos: onCreate(SQLiteDatabase db) que sirve para crear la tablas una vez que crea la BD y otro es onUpgrade(SQLiteDatabase db, int i, int i2) que nos ayudará a gestionar la versiones de la BD. Queda de la siguiente forma: package com.bd.bdapp.app; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; /** * Created by root on 19/04/14. */ public class BD extends SQLiteOpenHelper { //Query para crear las tablas en la bd String query="CREATE TABLE personas (id INTEGER PRIMARY KEY AUTOINCREMENT, Nombre TEXT, Apellido TEXT, Telefono TEXT, Email TEXT)"; //Constructor de la clase public BD(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { //Ejecuta query para crear la tabla db.execSQL(query); } @Override public void onUpgrade(SQLiteDatabase db, int i, int i2) { db.execSQL("DROP TABLE IF EXISTS personas"); //Se crea la nueva versión de la tabla db.execSQL(query); } } Ahora crearemos otra clase para acceder a la base de datos y manejar los datos de ésta, vamos a empezar con el método de para inserta, le vamos a llamar ConexionBD: package com.bd.bdapp.app; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import java.util.ArrayList; import java.util.List; /** * Created by root on 19/04/14. */ public class ConexionBD { private SQLiteDatabase db; private Context nContext; private BD objBD; //Constructor de la Clase //Recibe como parámetro una variable de Tipo contexto // Esto debido a que Para acceder o crear la BD lo pide la Clase SQLiteOpenHelper public ConexionBD(Context c){ nContext=c; } public void abrirConexion(){ objBD =new BD(nContext,"BDAgenda",null,1 ); db=objBD.getWritableDatabase(); } public void cerrarConexion(){ db.close(); } public boolean insertar(String nombre, String apellido,String telefono,String email){ boolean resultado=false; try{ String query="INSERT INTO personas(Nombre, Apellido, Telefono, Email) VALUES('"+nombre+"','"+apellido+"','"+ telefono+"','"+email+"')"; db.execSQL(query); resultado=true; return resultado; } catch (Exception e){ resultado=false; return resultado; } } } Ahora vamos al .java del Segundo activity, en nuestro caso es MainActivity2.java y hacemos los eventos de los botones: primero el del botón limpiar //declaramos los editText y en el Oncreate se inicializan private EditText nombre,apellido,telefono,email; //método para limpiar los editText public void limpiar(View view){ nombre.setText(""); apellido.setText(""); telefono.setText(""); email.setText(""); } Después creamos el método para insertar public void agregar(View view){ //Declaramos variables String nombre,apellido,telefono,email; //Obtenemos Texto de los TextEdit nombre=this.nombre.getText().toString(); apellido=this.apellido.getText().toString(); telefono=this.telefono.getText().toString(); email=this.email.getText().toString(); Creamos el Objeto para acceder a la BD ConexionBD ObjCnx = new ConexionBD(this); ObjCnx.abrirConexion(); //Abrimos Conexión //Ejecuta el método para Insertar Datos if(ObjCnx.insertar(nombre,apellido,telefono,email)==true){ String texto ="Elemento Agregado Corectamente"; Toast toast = Toast.makeText(this, texto, Toast.LENGTH_LONG); toast.show(); } else{ String texto ="Error al Agregar Elemento"; Toast toast = Toast.makeText(this, texto, Toast.LENGTH_LONG); toast.show(); } Cerramos Conexión ObjCnx.cerrarConexion(); } Código comlpeto del ActivityMain2.java: package com.bd.bdapp.app; import android.app.AlertDialog; import android.app.Dialog; import android.content.DialogInterface; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import java.util.List; public class MainActivity2 extends ActionBarActivity { private EditText nombre,apellido,telefono,email; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); nombre=(EditText)findViewById(R.id.editText); apellido=(EditText)findViewById(R.id.editText2); telefono=(EditText)findViewById(R.id.editText3); email=(EditText)findViewById(R.id.editText4); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main_activity2, 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(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public void limpiar(View view){ nombre.setText(""); apellido.setText(""); telefono.setText(""); email.setText(""); } public void agregar(View view){ String nombre,apellido,telefono,email; nombre=this.nombre.getText().toString(); apellido=this.apellido.getText().toString(); telefono=this.telefono.getText().toString(); email=this.email.getText().toString(); ConexionBD ObjCnx = new ConexionBD(this); ObjCnx.abrirConexion(); if(ObjCnx.insertar(nombre,apellido,telefono,email)==true){ String texto ="Elemento Agregado Corectamente"; Toast toast = Toast.makeText(this, texto, Toast.LENGTH_LONG); toast.show(); } else{ String texto ="Error al Agregar Elemento"; Toast toast = Toast.makeText(this, texto, Toast.LENGTH_LONG); toast.show(); } ObjCnx.cerrarConexion(); } } Ya sólo nos resta asociar los métodos con cada botón. Capturas de la APP
Actualizado Asi c ve Mejor Programa Hecho Por Mi[CREATED BY DiE_AucH] Programa Que hace la Conversion de Numeros Binarios a Decimal acepta maximo 20 Digitos binarios lo q equivale a convertir los numeros a decimal en un rango de 1 - 1,048,755 esta Hecho en DEV C++. #include <iostream> #include <cstdlib> #include <math.h> int main(){ int BI[20]; int DI, CN=0,NB, AC=1,JK,BT,LI,UD=0,TQ=1,TU=0;; UP: system("cls"); printf("Cuantos Digitos es el Numero Binario?: "); scanf("%d",&DI); LI=DI-1; for(CN;CN<=LI;CN++){ system("cls"); BT=CN+1; printf("n Escribe el Digito Numero %d: ",BT); scanf("%d",&NB); if((NB!=0)&&(NB!=1)){printf("ESto es Incorrecto"); printf("nn"); system("PAUSE");goto UP;} BI=NB; } for(LI;LI>=0;LI--){ TQ=pow(2,TU); JK=BI*TQ; UD+=JK; TU++;}printf("n Numero Decimal Es: %d",UD); printf("nn"); system("PAUSE"); return 0; } Si kieren caps las subo
3 Dias Despues de que Anonymous Cumpliera su Primer Amenaza Vs los Z´s Rvelando Información Importante sobre estos decidieron declinar y Optaron por liberar al Integrante de Anonymous que habían secuestrado lanzando una amenaza que si Liberaban mas información matarían mas gente.Aki video del Primer gobernante Relacionado con los Z´sCita textual del Blog de Anonymous: En el día de hoy, nuestro compañero anonymous retenido por el cártel de los zetas ha sido liberado.Hemos prestado sumo cuidado en verificar su identidad mediante contactos con sus compañeros y amigos y podemos decir que aunque magullado, está sano y salvo.Nos ha hecho llegar un mensaje, si Anonymous desvela algún nombre relacionado con el cártel, la familia del anónimo retenido sufrirá las consecuencias, por cada nombre del cártel revelado, diez personas serán ajusticiadas.No está en nuestro ánimo que la lucha diaria que llevamos a cabo por la libertad en el mundo conlleve que personas inocentes sean víctimas de la violencia y la barbarie que diariamente azotan a los mexicanos por parte de los cárteles de la droga.El colectivo de Anonymous ha decidido por consenso que la información de la que disponemos no sea desvelada por el momento, ya que entendemos que no podemos obviar las amenazas que involucran a personas civiles inocentes que nada tienen que ver con nuestras acciones.El Conocimiento es LibreSomos Anónimos.Somos Legión.No Perdonamos.No Olvidamos.Esperádnos.
*Nuevas CAracteristicas en Facebook YA es Official *Facebook+Skype -Nuevo chat de grupo. Facebook se ha percatado que desde que se lanzaron los grupos, aproximadamente un 52% de los usuarios lo usan habitualmente. Había cierta limitación con el chat de grupo, con lo que han mejorado tanto su interface como la posibilidad de añadir a gente al chat, que no ha de estar forzosamente en el grupo. -Nuevo diseño para el chat. Como ya hemos comentado, el chat de Facebook era una de las cosas que Facebook no tenían del todo depuradas. Le han dado un lavado de cara y mejorado algunas cosas. Lo más destacado en el nuevo diseño es la barra lateral donde nos da la posibilidad de visualizar a todos nuestros contactos de manera más clara, más accesible y con más opciones. Hemos podido ver en la presentación unas imagenes de como es. -Videochat con Skype. Una novedad que ya se conocía desde hace una semana y que ya adelantamos en su momento. Gracias a la colaboración con Skype (Microsoft) han desarrollado la plataforma con la cual podemos realizar videollamadas con nuestros contactos. Las llamadas son one to one (con un sólo contacto a la vez). Destacable que no hace falta que el contacto con el que queramos hablar tenga ningún plugin o software adicional. Os dejamos una imagen del momento de la presentación. http://livestre.am/wBjp