login android y registro con php, mysql y sqlite.pdf
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:
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®ion=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®ion=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