login android y registro con php, mysql y sqlite.pdf

Upload: arrietajohn

Post on 09-Oct-2015

517 views

Category:

Documents


2 download

TRANSCRIPT

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    1/43

    0 comentarios Tweet

    31 de enero 2012 8:37 AM

    Login Android y Registro con PHP, MySQL ySQLite

    En mi artculo anterior Android Login y Diseo de pantalla

    de Registro i explica el diseo de las interfaces de inicio

    de sesin y de registro, pero no tiene ninguna

    funcionalidad. En este tutorial estoy explicando cmo

    construir de inicio de sesin y el registro completo del

    sistema en android utilizando PHP, MySQL y SQLite.

    Tambin este tutorial se explica cmo construir API

    simple con PHP y MySQL.

    704Like

    http://download.androidhive.info/download?code=DQ5LE0wMo2ao6g84ZhIpzt8BcolDdJzdqcDAxhnakDSShAWrYuVJVKmjB%2Fv%2B0XBw4N3Vj644b0va1K3qNFx5YSxYWQGcZhQKskpqMZjxvQXp5IzfdfYIUHM8w%3D%3DtXJxYCQ2GFrDsezVxjMCySoNmGRds1glL3shttp://www.androidhive.info/2011/10/android-login-and-registration-screen-design/http://www.androidhive.info/2011/10/android-login-and-registration-screen-design/http://www.pinterest.com/pin/create/button/?url=http%3A%2F%2Fwww.androidhive.info%2F2012%2F01%2Fandroid-login-and-registration-with-php-mysql-and-sqlite%2F&media=http%3A%2F%2Fwww.androidhive.info%2Fwp-content%2Fuploads%2F2012%2F01%2Fbanner_android_php1.png&guid=oUqAHrJzQDu4-0&description=Android%20Login%20and%20Registration%20with%20PHP,%20MySQL%20and%20SQLitehttps://twitter.com/intent/tweet?original_referer=http%3A%2F%2Fwww.androidhive.info%2F2012%2F01%2Fandroid-login-and-registration-with-php-mysql-and-sqlite%2F&text=%23Android%20Login%20and%20Registration%20with%20%23PHP%2C%20%23MySQL%20and%20%23SQLite&tw_p=tweetbutton&url=http%3A%2F%2Fwww.androidhive.info%2F2012%2F01%2Fandroid-login-and-registration-with-php-mysql-and-sqlite%2F&via=RaviTamada%20%23Androidhivehttp://www.pinterest.com/pin/create/button/?url=http%3A%2F%2Fwww.androidhive.info%2F2012%2F01%2Fandroid-login-and-registration-with-php-mysql-and-sqlite%2F&media=http%3A%2F%2Fwww.androidhive.info%2Fwp-content%2Fuploads%2F2012%2F01%2Fbanner_android_php1.png&guid=oUqAHrJzQDu4-0&description=Android%20Login%20and%20Registration%20with%20PHP,%20MySQL%20and%20SQLitehttp://download.androidhive.info/download?code=DQ5LE0wMo2ao6g84ZhIpzt8BcolDdJzdqcDAxhnakDSShAWrYuVJVKmjB%2Fv%2B0XBw4N3Vj644b0va1K3qNFx5YSxYWQGcZhQKskpqMZjxvQXp5IzfdfYIUHM8w%3D%3DtXJxYCQ2GFrDsezVxjMCySoNmGRds1glL3shttp://www.androidhive.info/2011/10/android-login-and-registration-screen-design/https://twitter.com/intent/tweet?original_referer=http%3A%2F%2Fwww.androidhive.info%2F2012%2F01%2Fandroid-login-and-registration-with-php-mysql-and-sqlite%2F&text=%23Android%20Login%20and%20Registration%20with%20%23PHP%2C%20%23MySQL%20and%20%23SQLite&tw_p=tweetbutton&url=http%3A%2F%2Fwww.androidhive.info%2F2012%2F01%2Fandroid-login-and-registration-with-php-mysql-and-sqlite%2F&via=RaviTamada%20%23Androidhive
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    2/43

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    3/43

    1. Creacin de bases de datos MySQL y tablas

    Mientras escribo API en PHP que he seleccionado la base de datos MySql para mantener a los usuario

    otra informacin relacionada. Abre la consola de mysql o phpmyadmin y ejecutar consulta siguien

    para crear la base de datos y la tabla de usuarios.

    crear android_api base de datos / ** Crear base de datos ** /

    utilizar android_api / ** Seleccin de base de datos ** /

    crear usuarios de tabla ( UID int ( 11 ) auto_increment clave principal, varchar id_exclusivo ( 23 ) no solo nulo,

    nombre varchar ( 50 ) no nulo,

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    4/43

    2. Clases de API Edificio PHP

    Para que sea mnimo trat de utilizar menos cantidad de archivos php. A continuacin estn los archiv

    son necesarios para construir API en php. Usted puede encontrar la descripcin de cada archivo en

    imagen de abajo.

    config.php- Este archivo contiene variables constantes para conectarse a la base de datos.

    varchar correo electrnico ( 100 ) no slo nulo, varchar encrypted_password ( 80 ) no nulo, varchar sal ( 10 ) no nulo, datetime created_at, updated_at nula datetime); / ** Crear Tabla de usuarios ** /

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    5/43

    Db_connect.php- Este archivo se utiliza para conectar o desconectar la base de datos.

    DB_Functions.php - Este archivo contiene funciones para almacenar el usuario en la base de dat

    obtener el usuario de base de datos. Tambin puede agregar mtodos como la actualizacin de usuari

    eliminar usuarios. usuario id nico - estoy generando identificador de usuario nico en PHP usan

    uniqid (", true) funcin. Identificacin del usuario Muestra ser como 4f074eca601fb8.880159

    cifrado con contrasea - Esta contrasea se almacena utilizando base64_encode mtodo. Ca

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    6/43

    contrasea tendr dos columnas para almacenar la base de datos. Una es la de almacenar la contrase

    cifraday la segunda columna es para almacenar la salutilizada para cifrar la contrasea.

    Functions {

    o $ db ;

    ner el cdigo aqu structor

    n __construct () {quire_once 'db_connect.php' ;

    / Conectarse a la base de datosThis -> db = nueva db_connect ();This -> db-> connect ();

    tructorn __destruct () {

    acenamiento de nuevo usuario uelve los detalles del usuario

    o la funcin storeUser ( $ name , $ email , $ password ) {

    Uuid = uniqid ( '' , true);Hash = $ este -> hashSSHA ( $ password );Encrypted_password = $ hash [ "encriptada" ]; / / contrasea cifradaSalt = $ hash [ "sal" ]; / / salResultado = mysql_query ( "INSERT INTO usuarios (id_exclusivo, nombre, correo / Comprobar si hay tienda de xito ( $ resultado ) {

    Detalles / / de Usuarios$ UID = mysql_insert_id (); / / ltima Identificacin insertado$ Resultado = mysql_query ( "SELECT * FROM usuarios WHERE uid = $ uid" );Detalles / / usuario de retornovolver mysql_fetch_array ( $ resultado );

    ms {

    devolver false;

    usuario por correo electrnico y contrasea

    o la funcin getUserByEmailAndPassword ( $ email , $ password ) {Resultado = mysql_query ( "SELECT * FROM usuarios WHERE email = '$ email'" ) o/ Cheque por resultadoNo_of_rows = mysql_num_rows ( $ resultado ); ( no_of_rows $ > 0) {

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    7/43

    $ Resultado = mysql_fetch_array ( $ resultado );$ Salt = $ result [ 'sal' ];$ Encrypted_password = $ result [ 'encrypted_password' ];$ Hash = $ este -> checkhashSSHA ( $ salt , $ password );/ / Cheque de la igualdad contraseasi ( $ encrypted_password == $ hash ) {

    / / Detalles de autenticacin de usuario son correctasdevolver $ resultado ;

    }ms {

    / / El usuario no se encuentradevolver false;

    gada usuario est existi o no

    o la funcin isUserExisted ( $ email ) {Resultado = mysql_query ( "SELECT email FROM usuarios WHERE email = '$ email'"No_of_rows = mysql_num_rows ( $ resultado ); ( no_of_rows $ > 0) {

    / / Existido usuariodevolver true;

    ms {/ / Usuario no existedevolver false;

    trasea de cifrado aram password lve sal y contrasea cifrada

    o la funcin hashSSHA ( $ password ) {

    Salt = sha1 (rand ());salt = substr ( $ salinas , 0, 10);Cifrado = base64_encode (sha1 ( $ password . $ salt , true). $ salt );Hash = array ( "sal" => $ salt , "encriptado" => $ cifrada );volver $ hash ;

    cifrar contrasea aram sal, contrasea

    uelve cadena de hash

    o la funcin checkhashSSHA ( $ salt , $ password ) {

    Hash = base64_encode (sha1 ( $ password . $ salt , true). $ salt );

    volver $ hash ;

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    8/43

    index.php- Este archivo se reproduce papel de la recepcin de solicitudes y dar respuesta. Este arch

    acepta todas peticiones GET y POST. En cada solicitud se hablar con base de datos y le dar u

    respuesta apropiada en formato JSON.

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    9/43

    Tipos de respuestas JSON API

    Los siguientes son los diferentes tipos de respuestas de JSON generados por la API. Registro

    Respuesta xito - Cdigo xito = 1 (User xito Almacenado)

    $ Email = $ _POST [ 'email' ]; $ Password = $ _POST [ 'password' ];

    / / Comprobar si el usuario est ya exista si ( $ db -> isUserExisted ( $ email )) { / / Usuario ya ha existido - respuesta de error $response["error"] = 2; $ Respuesta [ "error_msg" ] = "El usuario ya existe" ; echojson_encode($response); } ms { / / Usuario del almacn $ Usuario = $ db -> storeUser ( $ name , $ email , $ password ); si ( $ usuario ) { / / Usuario almacenado con xito $ Respuesta [ "xito" ] = 1; $ Respuesta [ "uid" ] = $ usuario [ "id_exclusivo" ]; $ Respuesta [ "usuario" ] [ "name" ] = $ usuario [ "nombre" ]; $ Respuesta [ "usuario" ] [ "email" ] = $ usuario [ "email" ]; $ Respuesta [ "usuario" ] [ "created_at" ] = $ usuario [ "crea

    $ Respuesta [ "usuario" ] [ "updated_at" ] = $ usuario [ "updaechojson_encode($response);

    } ms {

    / / Usuario no pudo almacenar $response["error"] = 1; $ Respuesta [ "error_msg" ] = "Ocurri un error en registartio

    echojson_encode($response); } } } ms { echo"Invalid Request"; }} ms { echo "Acceso denegado" ;}

    ?>

    { "Etiqueta" : "registrar" , "xito" : 1, "error": 0, "Uid" : "4f074ca1e3df49.06340261" , "Usuario" : { "Nombre" : "Tamada Tratamiento" , "Correo electrnico" : "[email protected]" , "Created_at" : "2012-01-07 01:03:53" , "Updated_at" : null }

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    10/43

    Respuesta de registro de error - Cdigo de error = 1 (Error en el almacenamiento)

    Respuesta de registro de error - Cdigo de error = 2 (Usuario ya exista)

    Acceda Respuesta xito - Cdigo xito = 1 (Usuario conectado)

    Respuesta Iniciar Sesin Error - Cdigo de error = 1 (Entrar Error - incorrecta nombre de usuario

    contrasea)

    Aqu se completa la parte de la API y de iniciar el proyecto Android.

    }

    { "Etiqueta" : "registrar" , "xito" : 0,

    "error": 1, "Error_msg" : "Ocurri un error en registartion"}

    { "Etiqueta" : "registrar" , "xito" : 0, "error": 2, "Error_msg" : "El usuario ya existe"

    }

    { "Etiqueta" : "login" , "xito" : 1, "error": 0, "Uid" : "4f074eca601fb8.88015924" , "Usuario" : {

    "Nombre" : "Tamada Tratamiento" , "Correo electrnico" : "[email protected]" , "Created_at" : "2012-01-07 01:03:53" , "Updated_at" : null }}

    { "Etiqueta" : "login" , "xito" : 0, "error": 1, "Error_msg" : "email o la contrasea son incorrectos!"}

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    11/43

    3. A partir del proyecto Android

    Hasta ahora hemos escrito programacin del lado del servidor para crear simples api. Lo siguiente

    construir aplicaciones android para interactuar con la API. En este proyecto estoy codificando aplicac

    sencilla que contar con tres pantallas de pantalla de acceso , pantalla de registro y una bienven

    de la pantalla del tablero de instrumentos . As que vamos a empezar por la creacin de nuevproyectos en que Eclipse IDE.

    1 . Cree un nuevo proyecto, vaya a File Proyecto Nuevo Android . Rellene todos los datos y

    nombre de su actividad como DashboardActivity . 2. El siguiente paso es crear un nuevo paque

    para almacenar todos nuestros archivos de la biblioteca. Haga clic derecho sobre src Nue

    paquetey el nombre como la biblioteca.

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    12/43

    JSON Parser Class

    3 . Lo siguiente que necesitamos clase analizador para analizar la respuesta api JSON. As que crear u

    nueva clase en el nombre del paquete de la biblioteca como JSONParser.java y llenarlo con siguie

    cdigo.

    JSONParser.java

    paquete com.example.androidhive.library;

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    13/43

    importacin java.io.BufferedReader;importacin java.io.IOException;importacin java.io.InputStream;importacin java.io.InputStreamReader;importacin java.io.UnsupportedEncodingException;importacin java.util.List;importacin org.apache.http.HttpEntity;importacin org.apache.http.HttpResponse;importacin org.apache.http.NameValuePair;importar org.apache.http.client.ClientProtocolException;importacin org.apache.http.client.entity.UrlEncodedFormEntity;importacin org.apache.http.client.methods.HttpPost;importacin org.apache.http.impl.client.DefaultHttpClient;importar org.json.JSONException;importacin org.json.JSONObject;importacin android.util.Log;publicclassJSONParser {

    esttica InputStream is = NULL ;

    esttica JSONObject jObj = NULL ; esttica json String = "" ;

    // constructor publicJSONParser() {

    }

    publicJSONObject getJSONFromUrl(String url, List params) {

    Peticin HTTP / / Making tratar {

    / / DefaultHttpClient DefaultHttpClient HttpClient = nueva DefaultHttpClient (); HttpPost HttpPost = nueva HttpPost (url); httpPost.setEntity ( nueva UrlEncodedFormEntity (params));

    HttpResponse httpResponse = httpClient.execute (HttpPost); HttpEntity httpEntity = httpResponse.getEntity (); es = httpEntity.getContent ();

    } catch (UnsupportedEncodingException e) { e.printStackTrace (); } catch (ClientProtocolException e) { e.printStackTrace ();

    } catch (IOException e) { e.printStackTrace (); }

    tratar { BufferedReader lector = nueva BufferedReader ( nuevo InputStream

    es decir, "ISO-8859-1" ), 8 ); StringBuilder sb = nuevo StringBuilder (); Line String = NULL ; mientras que ((line = reader.readLine ())! = NULL ) { sb.append (line + "n" ); }

    is.close ();

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    14/43

    Manejador de Base de datos SQLite Clase

    4 . En la aplicacin para almacenar la informacin del usuario que estoy utilizando de base de dat

    SQLite. Por lo tanto crear nueva clase en que carpeta del paquete de la biblioteca y el nombre com

    DatabaseHandler.javay llenar la clase con siguiente cdigo. Este archivo de clase tiene funciones pa

    manejar las operaciones de base de datos como el almacenamiento de usuario y conseguir usuario.

    json = sb.toString (); Log.e ( "JSON" , json); } catch (Exception e) { Log.e ( "Error de bfer" , "Error al convertir el resultado" + e. }

    / / Intentar analizar la cadena en un objeto JSON tratar { jObj = nueva JSONObject (JSON);

    } catch (JSONException e) { Log.e("JSON Parser", "Error parsing data "+ e.toString()); }

    / / Devuelve JSON Cadena volver jObj;

    }}

    DatabaseHandler.java

    paquete com.example.androidhive.library;

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    15/43

    importacin java.util.HashMap;importacin android.content.ContentValues;importacin android.content.Context;importacin android.database.Cursor;importacin android.database.sqlite.SQLiteDatabase;importacin android.database.sqlite.SQLiteOpenHelper;pblico de clase DatabaseHandler extiende SQLiteOpenHelper {

    / / Todas las variables estticas / / Database Versin privada esttica definitiva int DATABASE_VERSION = 1 ;

    / / Base de datos Nombre privada esttica ltima DATABASE_NAME String = "android_api" ;

    / / Inicio de sesin nombre de la tabla privada esttica ltima TABLE_LOGIN String = "Login" ;

    / / Inicio de nombres columnas de tabla

    privada esttica ltima key_id String = "id" ; privada esttica ltima cuerda Key_name = "nombre" ; privada esttica ltima KEY_EMAIL String = "email" ; privada esttica ltima cuerda KEY_UID = "uid" ; privada esttica ltima KEY_CREATED_AT String = "created_at" ;

    pblica DatabaseHandler (contexto Contexto) { sper (contexto, DATABASE_NAME, nula , DATABASE_VERSION); }

    / / Creacin de tablas @ Override

    pblico void onCreate (SQLiteDatabase db) { Cadena CREATE_LOGIN_TABLE = "CREATE TABLE" + TABLE_LOGIN + "(" + + Key_id "INTEGER PRIMARY KEY," + + Key_name "TEXTO" + + KEY_EMAIL "TEXTO NICO" + + KEY_UID "TEXTO" + + KEY_CREATED_AT "TEXT" + ")" ; db.execSQL (CREATE_LOGIN_TABLE); }

    / Database / actualizacin @ Override pblico void ONUPGRADE (SQLiteDatabase db, int oldVersion, int NewVers

    / / Eliminar la tabla anterior si exista db.execSQL ( "DROP TABLE IF EXISTS" + TABLE_LOGIN);

    / / Crear tablas de nuevo onCreate (db); }

    / ** * Almacenamiento de datos de usuario en la base de datos ** / pblico void addUser (String nombre, email String, String uid Cadena cre SQLiteDatabase db = esta getWritableDatabase ().;

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    16/43

    Valores ContentValues = nuevos ContentValues (); values.put (Key_name, nombre); / / Nombre values.put (KEY_EMAIL, correo electrnico); / / E-mail values.put (KEY_UID, uid) / / Email values.put (KEY_CREATED_AT, created_at); / / Creado el

    / / Insertar Fila db.insert (TABLE_LOGIN, nulo , valores); db.close (); / / conexin de base de Cierre }

    / ** * Obtencin de datos de usuario de base de datos ** / pblicas getUserDetails HashMap () { Usuario HashMap = nuevo HashMap (); SelectQuery String = "SELECT * FROM" + TABLE_LOGIN;

    SQLiteDatabase db = esta getReadableDatabase ().; Cursor cursor = db.rawQuery(selectQuery, null); / / Ir a la primera fila cursor.moveToFirst ();

    si (cursor.getCount ()> 0 ) { user.put ( "nombre" , cursor.getString ( 1 )); user.put ( "email" , cursor.getString ( 2 )); user.put ( "uid" , cursor.getString ( 3 )); user.put ( "created_at" , cursor.getString ( 4 )); } cursor.close (); db.close (); / / Usuario de retorno devolver el usuario; }

    / ** * Obtener el estado de inicio de sesin de usuario * Return true si hay filas en la tabla ** / publicintgetRowCount() { Cadena countQuery = "SELECT * FROM" + TABLE_LOGIN; SQLiteDatabase db = esta getReadableDatabase ().; Cursor cursor = db.rawQuery(countQuery, null); int rowCount = cursor.getCount (); db.close (); cursor.close ();

    / / Devuelve el nmero de filas

    volver rowCount; }

    / ** * Base de datos del cajn Re * Eliminar todas las tablas y crear de nuevo ** / pblicos vacos resetTables () { SQLiteDatabase db = esta getWritableDatabase ().; / / Eliminar todas las filas db.delete(TABLE_LOGIN, null, null); db.close ();

    }

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    17/43

    Funciones de usuario Clase

    5 . Crear un nuevo archivo de clases bajo el paquete de la biblioteca y el nombre com

    UserFunctions.java . Esta clase tendr funciones para manejar todos los eventos del usuario com

    loginUser () RegisterUser () getLoginStatus () logoutUser ().

    En esta clase de todas las funciones van a interactuar con las clases JSONParser, DatabaseHandler. Est

    probando API en localhost usando software xampp. Normalmente localhost se ejecutar en el pue

    http://127.0.0.1 o http://localhost/. En AVD para conectar a localhost es necesario utilizar

    http://10.0.2.2/lugar de http://localhost/ . Si desea implementar el api en el sitio web el uso de la

    http://yoursite.com/api/

    }

    UserFunctions.java

    paquete com.example.androidhive.library;importjava.util.ArrayList;importacin java.util.List;importacin org.apache.http.NameValuePair;importacin org.apache.http.message.BasicNameValuePair;

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    18/43

    importacin org.json.JSONObject;importacin android.content.Context;pblico de clase UserFunctions {

    privada JSONParser jsonParser;

    / / Pruebas en localhost usando wamp o xampp/ / Utilizar http://10.0.2.2/ para conectarse a su localhost es decir http:

    privada esttica Cadena loginURL = " http://10.0.2.2/ah_login_api/ " ; privada esttica Cadena registerURL = " http://10.0.2.2/ah_login_api/ " ;

    privada esttica login_tag String = "Login" ; privada esttica register_tag String = "registro" ;

    // constructor pblicas UserFunctions () { jsonParser = newJSONParser(); }

    / **

    * La funcin de marca Ingresar Solicitud * @ Param email * @ Param password ** / pblica JSONObject loginUser (String correo electrnico, contrasea String

    / / Parmetros de construccin Lista params = nuevo ArrayList (); params.add ( nueva BasicNameValuePair ( "tag" , login_tag)); params.add ( nueva BasicNameValuePair ( "e-mail" , correo electrnico) params.add ( nueva BasicNameValuePair ( "password" , contrasea)); JSONObject json = jsonParser.getJSONFromUrl(loginURL, params); / / Devolver json

    / / Log.e ("JSON", json.toString ()); volver json; }

    / ** * La funcin de marca Ingresar Solicitud Nombre * @ Param * @ Param email * @ Param password ** / pblica JSONObject RegisterUser (String nombre, email cadena, String passw

    / / Parmetros de construccin Lista params = nuevo ArrayList ();

    params.add ( nueva BasicNameValuePair ( "tag" , register_tag)); params.add ( nueva BasicNameValuePair ( "name" , nombre)); params.add ( nueva BasicNameValuePair ( "e-mail" , correo electrnico) params.add ( nueva BasicNameValuePair ( "password" , contrasea));

    / / Obtener objeto JSON JSONObject json = jsonParser.getJSONFromUrl(registerURL, params); / / Devolver json volver json; }

    / **

    * Estado de la funcin get Login

    http://10.0.2.2/ah_login_api/http://10.0.2.2/ah_login_api/http://localhost/http://10.0.2.2/
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    19/43

    El diseo de las pantallas

    6. Hasta ahora hemos desarrollado las clases de biblioteca necesarios en esta aplicacin. Lo siguiente

    construir pantallas. Necesitamos tres pantallas de la pantalla de conexin, pantalla de registro y

    pantalla del tablero de instrumentos.

    Crear 3 archivos xml bajo res diseo folde r y el nombre de ellos como login.xml , register.xm

    dashboard.xml

    login.xml - diseo de diseo de la pantalla de inicio de sesin

    ** / pblica boolean isUserLoggedIn (contexto Contexto) { Db Transferencias Database = nuevo manejador de base de datos (context int count = db.getRowCount (); Si (recuento de> 0 ) { / / Usuario conectado devolver cierto ; } volver falsa ; }

    / ** * Funcin de cierre de sesin de usuario * Restaurar Base de Datos ** / pblica boolean logoutUser (contexto Contexto) { Db Transferencias Database = nuevo manejador de base de datos (context db.resetTables (); devolver cierto ; }}

    login.xml

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    20/43

    android: layout_marginBottom = "10dip" android: text = "LOGIN" android: TEXTSIZE = "25dip" android: TextStyle = "bold" /> < TextView android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: text = "Email" /> < EditarTexto android: id = "@ + id / loginEmail" android: layout_width = "fill_parent" android: layout_height = "wrap_content" />

    < TextView android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_marginTop = "15dip" android: text = "Contrasea" />

    < EditarTexto android: id = "@ + id / loginPassword" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: password = "true" />

    < TextView android: id = "@ + id / login_error" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: textColor = "# e30000" android: padding = "10dip"

    android: TextStyle = "bold" />< Botn

    android: id = "@ + id / btnLogin" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_marginTop = "20DIP" android: text = "Login" />

    < Botn android: id = "@ + id / btnLinkToRegisterScreen"

    android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_marginTop = "40DIP" android: Fondo = "@ nula" android: text = "No tengo cuenta Registre M." android: textColor = "# 21dbd4" android: TextStyle = "bold" />

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    21/43

    register.xml - diseo de diseo de la pantalla de registro

    register.xml

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    22/43

    android: layout_height = "wrap_content" android: layout_marginBottom = "10dip" android: text = "Registrar" android: TEXTSIZE = "25dip" android: TextStyle = "bold" /> < TextView android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: text = "nombre completo" /> < EditarTexto android: id = "@ + id / RegisterName" android: layout_width = "fill_parent" android: layout_height = "wrap_content" />

    < TextView android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: text = "Email" />

    < EditarTexto android: id = "@ + id / registerEmail" android: layout_width = "fill_parent" android: layout_height = "wrap_content" />

    < TextView android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_marginTop = "15dip" android: text = "Contrasea" />

    < EditarTexto android: id = "@ + id / RegistrarsePassword" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: password = "true" />

    < TextView android: id = "@ + id / register_error" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: textColor = "# e30000" android: padding = "10dip" android: TextStyle = "bold" />

    < Botn

    android: id = "@ + id / btnRegister" android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: layout_marginTop = "20DIP" android: text = "Registrar" />

    < Botn android: id = "@ + id / btnLinkToLoginScreen"

    android: layout_width = "fill_parent"

    Search ..ERRORESARGAR

    http://download.androidhive.info/http://errors.androidhive.info/http://www.androidhive.info/
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    23/43

    dashboard.xml - diseo diseo de pantalla salpicadero

    android: layout_height = "wrap_content" android: layout_marginTop = "40DIP" android: Fondo = "@ nula" android: text = ". Ya cuenta Entra m!" android: textColor = "# 21dbd4" android: TextStyle = "bold" />

    dashboard.xml

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    24/43

    android: Orientacin = "vertical" android: Fondo = "# 3b3b3b" >

    < TextView android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: text = "WELCOME" android: TEXTSIZE = "40DIP" android: Gravedad = "center" android: layout_marginTop = "20DIP" />

    < Botn android: layout_width = "fill_parent" android: layout_height = "wrap_content" android: text = "Salir de m" android: TEXTSIZE = "20DIP" android: textColor = "# 21dbd4" android: TextStyle = "bold" android: id = "@ + id / btnLogout" android: layout_marginTop = "80dip" android: Fondo = "@ null" />

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    25/43

    El cambio entre Activites

    7lo siguiente. Ahora la parte de diseo de la aplicacin se lleva a cabo es la creacin de actividades pa

    cada diseo y funcionalidad para conseguir escribir login y registro del proceso.

    Crear nuevas actividades LoginActivity.javay RegisterActivity.java y llenarlos con respectivo cd

    de abajo.

    LoginActivity.java - Actividad para manejar eventos de inicio de sesin

    LoginActivity.java

    paquete com.example.androidhive;

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    26/43

    importacin java.util.HashMap;importar org.json.JSONException;importacin org.json.JSONObject;importacin android.app.Activity;importacin android.content.Intent;importacin android.os.Bundle;importacin android.util.Log;importacin android.view.View;importacin android.widget.Button;importacin android.widget.EditText;importacin android.widget.TextView;importacin com.example.androidhive.library.DatabaseHandler;importacin com.example.androidhive.library.UserFunctions;pblico de clase LoginActivity extiende Actividad { Botn btnLogin; Botn btnLinkToRegister; EditarTexto inputEmail; EditarTexto inputPassword;

    TextView loginErrorMsg;

    Nombres de nodo de respuesta / / JSON privada esttica Cadena KEY_SUCCESS = "xito" ; privada esttica Cadena KEY_ERROR = "error" ; privada esttica KEY_ERROR_MSG String = "error_msg" ; privada esttica Cadena KEY_UID = "uid" ; privada esttica Cadena Key_name = "nombre" ; privada esttica Cadena KEY_EMAIL = "email" ; privada esttica Cadena KEY_CREATED_AT = "created_at" ;

    @ Override

    pblico void onCreate (Bundle savedInstanceState) { sper . onCreate (savedInstanceState); setContentView (R.layout.login);

    / / Importacin de todos los activos como botones, campos de texto inputEmail = (EditarTexto) findViewById (R.id.loginEmail); inputPassword = (EditarTexto) findViewById (R.id.loginPassword); btnLogin = (Button) findViewById (R.id.btnLogin); btnLinkToRegister = (Button) findViewById (R.id.btnLinkToRegisterScree loginErrorMsg = (TextView) findViewById (R.id.login_error);

    / / Inicio de evento Click del botn btnLogin.setOnClickListener ( nueva View.OnClickListener () {

    pblico void onClick (View view) {

    Email String = inputEmail.getText () toString ().; String password = inputPassword.getText () toString ().; UserFunctions userFunction = nuevos UserFunctions (); JSONObject json = userFunction.loginUser (correo electrnico,

    / / Comprobar la respuesta de inicio de sesin tratar { si (json.getString (KEY_SUCCESS)! = NULL ) { loginErrorMsg.setText ( "" ); Res de Cuerda = json.getString (KEY_SUCCESS);

    si (Integer.parseInt (res) == 1 ) {

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    27/43

    RegisterActivity.java - Actividad para manejar evento de registro

    / / Usuario que ha iniciado con xito en Detalles de usuario / / Tienda en Base de datos SQ DatabaseHandler db = nueva DatabaseHandler (getAp JSONObject json_user = json.getJSONObject ( "usuar

    / / Eliminar todos los datos existentes en la baseuserFunction.logoutUser (getApplicationContext ())

    db.addUser (json_user.getString (Key_name) json_us

    / / Lanzamiento Dashboard Screen Salpicadero Intento = nueva Intencin (getApplica

    / / Cerrar todos los puntos de vista antes de lanzdashboard.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP

    startActivity (tablero de instrumentos);

    / / Cerrar la pantalla de conexin acabado (); } ms { / / Error de inicio de sesin loginErrorMsg.setText ( "Incorrecto nombre de usua

    }

    } } catch (JSONException e) { e.printStackTrace (); } } });

    / / Link para registrarse Pantalla btnLinkToRegister.setOnClickListener ( nueva View.OnClickListener ()

    pblico void onClick (View view) { Intent i = nueva Intencin (getApplicationContext (),

    . RegisterActivity clase ); startActivity (i); acabado (); } }); }}

    LoginActivity.java

    paquete com.example.androidhive;importar org.json.JSONException;importacin org.json.JSONObject;importacin com.example.androidhive.library.DatabaseHandler;importacin com.example.androidhive.library.UserFunctions;importacin android.app.Activity;importacin android.content.Intent;

    importacin android.os.Bundle;

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    28/43

    importacin android.util.Log;importacin android.view.View;importacin android.widget.Button;importacin android.widget.EditText;importacin android.widget.TextView;pblico de clase RegisterActivity extiende Actividad { Botn btnRegister; Botn btnLinkToLogin; EditarTexto inputFullName; EditarTexto inputEmail; EditarTexto inputPassword; TextView registerErrorMsg;

    Nombres de nodo de respuesta / / JSON privada esttica Cadena KEY_SUCCESS = "xito" ; privada esttica Cadena KEY_ERROR = "error" ; privada esttica KEY_ERROR_MSG String = "error_msg" ; privada esttica Cadena KEY_UID = "uid" ; privada esttica Cadena Key_name = "nombre" ; privada esttica Cadena KEY_EMAIL = "email" ; privada esttica Cadena KEY_CREATED_AT = "created_at" ;

    @ Override

    pblico void onCreate (Bundle savedInstanceState) { sper . onCreate (savedInstanceState); setContentView (R.layout.register);

    / / Importacin de todos los activos como botones, campos de texto Nombre completo de entrada = (EditarTexto) findViewById (R.id.register inputEmail = (EditarTexto) findViewById (R.id.registerEmail); inputPassword = (EditarTexto) findViewById (R.id.registerPassword); btnRegister = (Button) findViewById (R.id.btnRegister); btnLinkToLogin = (Button) findViewById (R.id.btnLinkToLoginScreen);

    registerErrorMsg = (TextView) findViewById (R.id.register_error);/ / Registro de eventos Click del botn

    btnRegister.setOnClickListener ( nueva View.OnClickListener () {pblico void onClick (View view) {

    String nombre = inputFullName.getText () toString ().; Email String = inputEmail.getText () toString ().; String password = inputPassword.getText () toString ().; UserFunctions userFunction = nuevos UserFunctions (); JSONObject json = userFunction.registerUser (nombre, correo el

    / / Comprobar la respuesta de inicio de sesin tratar {

    si (json.getString (KEY_SUCCESS)! = NULL ) { registerErrorMsg.setText ( "" ); Res de Cuerda = json.getString (KEY_SUCCESS);

    si (Integer.parseInt (res) == 1 ) { / / Usuario correctamente registradas Detalles de usuario / / Tienda en Base de datos SQ DatabaseHandler db = nueva DatabaseHandler (getAp JSONObject json_user = json.getJSONObject ( "usuar

    / / Eliminar todos los datos existentes en la baseuserFunction.logoutUser (getApplicationContext ())

    db.addUser (json_user.getString (Key_name) json_us

    / / Lanzamiento Dashboard Screen

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    29/43

    DashboardActivity.java - Actividad para manejar evento salpicadero

    Salpicadero Intento = nueva Intencin (getApplica / / Cerrar todos los puntos de vista antes de lanz

    dashboard.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP startActivity (tablero de instrumentos); / / Cerrar la pantalla de Registro acabado (); } ms { / / Error en el registro registerErrorMsg.setText ( "Ocurri un error en el

    } } } catch (JSONException e) { e.printStackTrace (); } } });

    / / Enlace a inicio de la pantalla btnLinkToLogin.setOnClickListener ( nueva View.OnClickListener () {

    pblico void onClick (View view) { Intent i = nueva Intencin (getApplicationContext (),

    . LoginActivity clase ); startActivity (i); / / Cerrar Registro View acabado (); } }); }}

    LoginActivity.java

    paquete com.example.androidhive;importacin android.app.Activity;importacin android.content.Intent;importacin android.os.Bundle;importacin android.view.View;importacin android.widget.Button;importacin com.example.androidhive.library.UserFunctions;pblico de clase DashboardActivity extiende Actividad { UserFunctions userFunctions; Botn btnLogout; @ Override pblico void onCreate (Bundle savedInstanceState) { sper . onCreate (savedInstanceState);

    / ** * Pantalla de Dashboard para la aplicacin ** /

    / / Consultar el estado de conexin de la base de datos

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    30/43

    Actualizacin de ltimo AndroidManifest.xml

    No te olvides de ponerle al da AndroidManifest.xml archivo. Cambiar siguientes modificaciones

    Aadir Persmissions InternetAgregar los comentarios de cada actividad

    userFunctions = nuevos UserFunctions (); si (userFunctions.isUserLoggedIn (getApplicationContext ())) { / / Usuario ya ha iniciado sesin en el espectculo databoard setContentView (R.layout.dashboard); btnLogout = (Button) findViewById (R.id.btnLogout);

    btnLogout.setOnClickListener ( nueva View.OnClickListener () {

    pblico void onClick (Ver arg0) { / / Generados automticamente TODO cdigo auxiliar del mt userFunctions.logoutUser (getApplicationContext ()); Entrar Intento = nueva Intencin (getApplicationContext (

    login.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity (login); / / Pantalla salpicadero Clausura acabado (); } });

    } ms { / / Usuario no se registra en el espectculo pantalla de login Entrar Intento = nueva Intencin (getApplicationContext (), Login

    login.addFlags (Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity (login); / / Pantalla salpicadero Clausura acabado (); }

    }}

    AndroidManifest.xml

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    31/43

    8. Asegrese de que tiene los archivos colocados como en la siguiente imagen

    < intencin de filtro > < accin android: name = "android.intent.action.MAIN" />

    < categora android: name = "android.intent.category.LAUNCHER

    < actividad android: label = "Tu cuenta" android: name = ". LoginActivity" >

    < actividad android: label = "Registrar nueva cuenta" android: name = ". RegisterActivity" >

    < usos permiso android: name = "android.permission.INTERNET" />

  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    32/43

    Tweet

    69

    Ejecute el proyecto haciendo clic derecho sobre la carpeta del proyecto Ejecutar como

    Aplicacin para Android.

    Comparte este artculo en

    Informar de un error en este artculo

    (Si encuentra algn error en el cdigo o contenido, por favor que me ayude en la improvisacin el contenido)

    704

    Like

    http://www.pinterest.com/pin/create/button/?url=http%3A%2F%2Fwww.androidhive.info%2F2012%2F01%2Fandroid-login-and-registration-with-php-mysql-and-sqlite%2F&media=http%3A%2F%2Fwww.androidhive.info%2Fwp-content%2Fuploads%2F2012%2F01%2Fbanner_android_php1.png&guid=oUqAHrJzQDu4-1&description=Android%20Login%20and%20Registration%20with%20PHP,%20MySQL%20and%20SQLitehttps://twitter.com/intent/tweet?original_referer=http%3A%2F%2Fwww.androidhive.info%2F2012%2F01%2Fandroid-login-and-registration-with-php-mysql-and-sqlite%2F&text=%23Android%20Login%20and%20Registration%20with%20%23PHP%2C%20%23MySQL%20and%20%23SQLite&tw_p=tweetbutton&url=http%3A%2F%2Fwww.androidhive.info%2F2012%2F01%2Fandroid-login-and-registration-with-php-mysql-and-sqlite%2F&via=RaviTamada%20%23Androidhive
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    33/43

    Email address / Full name

    Give brief description about the bug...

    Informe

    1277 Comments

    Gauresh

    Hi,

    I run this code n I got a problem when I click on submit button the application "unfortunately stop

    I am using xampp server. So can any1 plz help me in this. I m giving path as

    http://localhost/folder_name_in _htdoc. plz help.

    Indra

    Change loginURL = "http://10.0.2.2/ah_login_api/

    to loginURL = "http://10.0.2.2/android_login_api/

    in userfunctions.java

    and make sure you have not set "root" password in phpmyadmin.

    zaryab

    hi! i'm facing a problem with this code.the code itself is working just fine but when i try to add

    android targetsdkversion=19 to this tag in manifest f

    and run it.the app stops in emulator displaying"unfortunately,this app has stopped"

    is there a way to add targetsdk version?and what is the possible reason for this error?

    http://disqus.com/disqus_kMQyXU9k4s/http://disqus.com/disqus_kMQyXU9k4s/
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    34/43

    Vin

    Every instance where R is used in gives me an error as in

    setContentView(R.layout.register);

    inputPassword = (EditText) findViewById(R.id.registerPassword);

    it's not recognizing the variable R. Any idea how to fix this.

    Charles

    please in your rssreaderapplication, i imported the code into my eclipse, no error, but after clickig o

    the "submit" button to add new site, it says "unfortunately, androidrssreasder aplication has stoped

    please help

    Rudi TheJack

    hai , i want to change database to posgreSQL in this case, but i cant login again, the database look

    already converted in postgreSQL:

    Table users

    uid integer NOT NULL nextval('users_uid_seq'::regclass) [pk]

    unique_id character varying(23) NOT NULL

    name character varying(50) NOT NULL

    nim character varying(100) NOT NULL

    encrypted_password character varying(80) NOT NULL

    salt character varying(10) NOT NULL

    created_at timestamp without time zone

    updated_at timestamp without time zone

    i cant convert PHP JSON connecting to postgreSQL.maybe some error in function.php andindex.php

    please help me, thanks

    Chi

    I encounter errors. "Error parsing data org.json.JSONException: End of input at character 0 of"

    "Error converting result java.lang.NullPointerException". How to solve it?

    Rudi TheJack

    hai Chi, please check path of your server is same as your path in ADT

    ex your server:

    http://localhost/ah_login_api/

    on your ADT:

    http://10.0.2.2/ah_login_api/

    i hope this can help for you

    Old Woo

    '

    http://disqus.com/old_woo/http://disqus.com/rudithejack/http://disqus.com/rudithejack/
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    35/43

    , ,

    period of time and cannot fix it. Would you please mind to upload the updated one into this tutoria

    page?

    If not, can you please sent me the example by email,

    my Email:

    [email protected]

    Thank you very much.

    Afri Yanti

    Excuse me, friend ....

    I want to ask .. I have my thesis project tasks, which in the project there are three types of users, a

    each of those users have different menus look different .. I want to ask here, or how to code in eclip

    differentiate the log ..

    thank you, friend

    Rudi TheJack

    hai afri, just simple

    1.adding column [usertypes]

    2.add your column to persing JSON in index.php

    3. add textview to catch your JSON in your ADT

    that may be help you

    Afri Yanti

    Can you give a detailed explanation about the source code .... I really really need thi

    ... for my final project

    Paul Tikhonov

    I have an error. Error parsing data org.json.JSONException: Value of type

    ava.lang.String cannot be converted to JSONObject. How can I solve it ?

    Mando Basha

    why you imported ( android.util.Log; ) but never used it !!

    Mando Basha

    1st of all i would like to thank u for this amazing tutorial .. but i still have a problem when i launch

    this application .. here is the errors that i get

    ------------------------------------------------------------------------------------------------------------

    ----------

    03-18 02:09:41.281: E/AndroidRuntime(1776): FATAL EXCEPTION: main

    03-18 02:09:41.281: E/AndroidRuntime(1776): Process: com.example.androidhive, PID: 1776

    http://disqus.com/mandobasha/http://disqus.com/mandobasha/http://disqus.com/paultikhonov/http://disqus.com/rudithejack/http://disqus.com/afriyanti/http://disqus.com/old_woo/
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    36/43

    03-18 02:09:41.281: E/AndroidRuntime(1776): android.os.NetworkOnMainThreadException

    03-18 02:09:41.281: E/AndroidRuntime(1776): at

    android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)

    03-18 02:09:41.281: E/AndroidRuntime(1776): at

    libcore.io.BlockGuardOs.connect(BlockGuardOs.java:84)

    03-18 02:09:41.281: E/AndroidRuntime(1776): atlibcore.io.IoBrid e.connectErrno IoBrid e. ava:12

    mat

    NetworkOnMainThreadException means that you try to call http comunucation on main

    application thread... it means you are trying to block this thread... pack this http

    communication into AsyncTask class

    Old Woo

    i meet this error too. However, i followed Ravi's code which change method to Asyn

    task below, but many error produce and i feel very frustrate that i cannot Debug all

    error. Does any one can post the perfect sample?

    Ben

    Sorry :

    instead of

    if(json.getInt(KEY_SUCCESS) == 1)

    Ben

    Thanks a lot for this tutorial. Just one question : any reason for using

    String res = json.getString(KEY_SUCCESS);

    if(Integer.parseInt(res) == 1)

    instead of

    if(json.getString(KEY_SUCCESS) == 1)

    krishna kanth

    the application has stoped working...

    and crashes...

    plz help me guys...!!!!

    http://disqus.com/old_woo/http://disqus.com/disqus_PNFFjUJNAI/
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    37/43

    ee a

    Does this code work on any version? Like what should be the value for minsdkversion? Please help

    Anuj

    Works Perfect for me.....

    Change loginURL = "http://10.0.2.2/ah_login_api/

    to loginURL = "http://10.0.2.2/android_login_api/

    in userfunctions.java

    and make sure you have not set "root" password in phpmyadmin.

    Yasser Jennani

    the application crashes whenever i click on register or login , some help please

    kudakwashe madzana

    if you're using an emulator, select the "use host gpu" option in the AVD manager and/or

    Change loginURL = "http://10.0.2.2/ah_login_api/

    to loginURL = "http://10.0.2.2/android_login_api/

    in userfunctions.java

    and make sure you have not set "root" password in phpmyadmin.

    Trnh Huy Hong

    I think you understand it wrong, this folder "ah_login_api" is in your php server roo

    directory, change it to "android_login_api", it mean you have a folder

    "android_login_api" in root directory. This can't fix the problem

    zion

    same! facing this problem too anyone can help ?

    Guest

    good

    Govind

    Need Your help on this application is gettin closed and showing this errors.

    03-04 10:45:25.404: E/AndroidRuntime(883): FATAL EXCEPTION: main

    03-04 10:45:25.404: E/AndroidRuntime(883): Process: com.example.androidhive, PI D: 883

    http://disqus.com/trnhhuyhong/http://disqus.com/kudakwashemadzana/http://disqus.com/yasserjennani/
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    38/43

    03-04 10:45:25.404: E An ro Runt me 883 : ava. ang.Nu Po nterExcept on

    03-04 10:45:25.404: E/AndroidRuntime(883): at

    com.example.androidhive.RegisterActivity$1.onClick(RegisterActivity.java:64)

    03-04 10:45:25.404: E/AndroidRuntime(883): at android.view.View.performClick(View.java:442

    03-04 10:45:25.404: E/AndroidRuntime(883): at

    android.view.View$PerformClick.run(View.java:18383)

    03-04 10:45:25.404: E/AndroidRuntime(883): at

    android.os.Handler.handleCallback(Handler.java:733)

    03-04 10:45:25.404: E/AndroidRuntime(883): at

    SweetySmilez

    Having the same prob.. :(

    deepak

    Replace String loginURL = "http://10.0.2.2/ah_login_api/"; and

    registerURL = "http://10.0.2.2/android_login_api/" by

    String loginURL = "http://10.0.2.2/android_login_api/"; I t works for me

    zion

    if i want to use it on a device?

    piyu

    why w e need Add Internet Persmissions in above tutorial if i use my local pc ..

    ramy31

    you can delete this permission if you use a local sever

    dj

    the application is force closing whenever i click on any button either register or login,what will i do

    ramy31

    under www of your localhost create a folder with the name "aaa" and put the php files in th

    one !! then in the class UserFunctions :

    private static String loginURL = "http://10.0.2.2/aaa/";

    private static String registerURL = "http://10.0.2.2/aaa/";

    http://disqus.com/ramy31/http://disqus.com/ramy31/http://disqus.com/disqus_ZCWUHWMbUp/http://disqus.com/sweetysmilez/
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    39/43

    Taylor Lee

    i have the same prob, I changed the names but nothing happends , it force closing

    whenever i click on the button .

    PS , i use the Genymotion Emu .

    Debaditya Bose the application is force closing whenever i click on any button either register or login,what will i do

    wilson

    ERROR: JSON Acess denied and Error parsing data org.json.JSONException :Value Acess of type

    ava.lang.String cannot be converted into JSONObject.What changes should i do? Although i chan

    folder name in PHP (ap_login_api) to android_login_api ord. Can somebody help me?

    EGT-Smart how did you solve it ?

    wilson

    yahoo^^i am done~this one run prefectly haha~

    ram

    and also folder which u have placed in server

    ram

    send android file to my email address [email protected]

    mohamed

    could you tell me on my email or here how did you change this please?

    email : [email protected]

    Mani Al Mashhoor

    ok I got it ... work fine

    Mani Al Mashhoor

    could u tell us how u solve this pls ? I tried to use DB_Functions.php but still error !

    Baris

    I use Eas Ph 1 .1. When I run ro ect I take error which is ...activit has sto ed. Where is the

    http://disqus.com/manialmashhoor/http://disqus.com/manialmashhoor/http://disqus.com/disqus_tAqaA9dT0C/http://disqus.com/disqus_tAqaA9dT0C/http://disqus.com/debadityabose/
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    40/43

    Follow @RaviTamada 2,671 followers

    Load more comments

    fault.

    John

    must I set the min sdk version to api 8? can it be higher etc. 14?

    Ryan Strain

    Y ou can always go higher, you just can never set it lower than what your code

    requires.Generally your min SDK should be as low as possible with your libraries.

    John

    but if i set it lower i will not be able to use sdk that requires api 14+ eg.

    actionbar/fragment

    Ryan Strain

    This guide requires a min SDK of 8. This means you could set the min in you

    app to be 8,9,10,11,12,13,14,15 etc... It doesn't matter so long as it's at least 8.

    And you can use actionbar and fragments in earlier versions. Research

    extending using SupportFragment and SupportActionBar. At least 20% of

    devices are still on G ingerbread, but it's your choice on what you would like

    support.

    http://www.youtube.com/androidhivehttps://plus.google.com/u/0/108738908574182577919/postshttp://www.facebook.com/ravi8xhttp://www.twitter.com/ravitamadahttp://disqus.com/ryan_strain/http://disqus.com/ryan_strain/https://disqus.com/websites/?utm_source=androidhive&utm_medium=Disqus-Footerhttp://disqus.com/https://twitter.com/intent/user?original_referer=http%3A%2F%2Fwww.androidhive.info%2F2012%2F01%2Fandroid-login-and-registration-with-php-mysql-and-sqlite%2F&region=count_link&screen_name=RaviTamada&tw_p=followbutton&variant=2.0https://twitter.com/intent/follow?original_referer=http%3A%2F%2Fwww.androidhive.info%2F2012%2F01%2Fandroid-login-and-registration-with-php-mysql-and-sqlite%2F&region=follow_link&screen_name=RaviTamada&tw_p=followbutton&variant=2.0
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    41/43

    Tweet 1.273

    Enter your email here SUSCRBETE

    Suscribirse para actualizaciones ms recientes

    161075

    Barra de accin Adaptador Animacin API

    Aplicaciones Async Principiante Cmara

    Salpicadero Base de datos facebook

    Nube de etiquetas

    16kLike

    AndroidHive

    16,842 people likeAndroidHive.

    Facebook social plugin

    Like

    https://www.facebook.com/freezy.sichonehttps://www.facebook.com/deep.verma.004https://www.facebook.com/kundan4https://www.facebook.com/Tiozarthttps://www.facebook.com/lodenergy.lodenergyhttps://www.facebook.com/dojimehttps://www.facebook.com/lahirulhrhttps://www.facebook.com/alaedinne.marzouguihttps://www.facebook.com/coolmanishvedhttps://www.facebook.com/Borhan2012https://www.facebook.com/amani.mokchahhttps://www.facebook.com/christian.simolohttps://www.facebook.com/vamsikrishnatallapudihttps://www.facebook.com/kailing.chowhttps://www.facebook.com/help/?page=209089222464503https://www.facebook.com/AndroidHivehttps://www.facebook.com/AndroidHivehttps://www.facebook.com/help/?page=209089222464503https://www.facebook.com/AndroidHivehttp://www.androidhive.info/category/facebook/http://www.androidhive.info/category/database/http://www.androidhive.info/category/dashboard/http://www.androidhive.info/category/camera/http://www.androidhive.info/category/beginner/http://www.androidhive.info/category/async/http://www.androidhive.info/category/apps/http://www.androidhive.info/category/api/http://www.androidhive.info/category/animation/http://www.androidhive.info/category/adapter/http://www.androidhive.info/category/action-bar/https://twitter.com/intent/tweet?original_referer=http%3A%2F%2Fwww.androidhive.info%2F2012%2F01%2Fandroid-login-and-registration-with-php-mysql-and-sqlite%2F&text=You%20wanna%20get%20into%20%23android%20%23development.%20Check%20this%20out%20-%20&tw_p=tweetbutton&url=http%3A%2F%2Fwww.androidhive.info%2F&via=RaviTamada
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    42/43

    Ravi Tamadagoogle.com/+RaviTamada

    3.616 seguidores

    Seguir

    https://plus.google.com/+RaviTamada?prsrc=5https://plus.google.com/+RaviTamada?prsrc=5https://plus.google.com/+RaviTamada?prsrc=5
  • 5/19/2018 Login Android y Registro con PHP, MySQL y SQLite.pdf

    43/43

    Anunciar | Poltica de privacidad | Trminos y condicion

    2014 AndroidHive | Todos los derechos reservados

    MS POPULARES

    1 Android Tutorial de base de

    datos SQLite - 699.945 visitas

    2 Android ListView personalizadocon imagen y texto - 562.698

    visitas

    3 Android JSON Parsing Tutorial -

    557.305 visitas

    4 Cmo conectar Android con

    PHP, MySQL - 554.639 visitas

    5 Notificaciones Push Androidutilizando la nube de mensajera

    Google (GCM), PHP y MySQL -

    450.315 visitas

    6 Login Android y Registro con

    PHP, MySQL y SQLite - 386.050

    visitas

    7 Android Tab Layout Tutorial -

    363.086 visitas

    8 Android Entrar y registrarse

    Diseo Screen - 281334 visitas

    9 Android XML Parsing Tutorial -

    280.941 visitas

    10 Android GPS, Location Manager

    Tutorial - 270.333 visitas

    RED

    DISEOd e s i g n . a n d r o i d h i v e . i n f o

    CONSEJOSt i p s . a n d r o i d h i v e . i n f o

    ERRORESe r r o r s . a n d r o i d h i v e . i n f o

    DESCARGARd o w n l o a d . a n d r o i d h i v e . i

    161.075abonados

    Y 13522Descargas

    TUTORIAL SOLICITUD

    Email / Nombre *

    Your email id or name

    Descripcin *

    Brief description about your

    thought. (Please don't spam)

    ENVIAR Creative Commons AttributionUnpor

    .

    http://creativecommons.org/licenses/by/3.0/deed.en_UShttp://creativecommons.org/licenses/by/3.0/deed.en_UShttp://download.androidhive.info/http://errors.androidhive.info/http://tips.androidhive.info/http://design.androidhive.info/http://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/http://www.androidhive.info/2011/11/android-xml-parsing-tutorial/http://www.androidhive.info/2011/10/android-login-and-registration-screen-design/http://www.androidhive.info/2011/08/android-tab-layout-tutorial/http://www.androidhive.info/2012/01/android-login-and-registration-with-php-mysql-and-sqlite/http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/http://www.androidhive.info/2012/01/android-json-parsing-tutorial/http://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/http://www.androidhive.info/terms-of-servicehttp://www.androidhive.info/privacy-policyhttp://www.androidhive.info/advertise-with-us