Manejo de SQLite
1+-------------------------------------+
2| Table: miTabla |
3+------------+------------------------+
4| Column | Description |
5+------------+------------------------+
6| id | integer, autoincrement |
7| name | text, not null |
8| brew_time | integer, not null |
9+------------+------------------------+
Crear una Tabla en SQLite
1 public void onCreate(SQLiteDatabase db) {
2 // CREATE TABLE miTabla (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT
3 // NULL, brew_time INTEGER);
4 String sql = "CREATE TABLE " + TABLE_NAME + " (" + id + " INTEGER PRIMARY KEY AUTOINCREMENT, "
+ NAME + " TEXT NOT NULL, " + BREW_TIME + " INTEGER" + ");";
5 db.execSQL(sql);
6 }
Insertar una fila nueva
1 public void insert(String name, int brewTime) {
2 SQLiteDatabase db = getWritableDatabase();
3
4 ContentValues values = new ContentValues();
5 values.put(NAME, name);
6 values.put(BREW_TIME, brewTime);
7
8 db.insertOrThrow(TABLE_NAME, null, values);
9 }
Crear consulta SELECT
1 public Cursor all(Activity activity) {
2 String[] from = { id, NAME, BREW_TIME };
3 String order = NAME;
4
5 SQLiteDatabase db = getReadableDatabase();
6 Cursor cursor = db.query(TABLE_NAME, from, null, null, null, null, order);
7 activity.startManagingCursor(cursor);
8
9 return cursor;
10 }
01 //Convertir Datos POST en variables, los POST originales serian $_POST[nombre] y $_POST[telefono]
02 foreach ($_POST as $key => $value) {
03 $$key = addslashes(trim($value));
04 }
05
06 //comprobar que los datos POST se han definido
07 if(isset($nombre) || isset($telefono)) {
08 //Conectamos a la Base de datos MySQL
09 include('conectar.inc.php');
10
11 //para prevenir SQL injection
12 $n = addslashes($nombre);
13 $t = addslashes($telefono);
14
15 //Crear la consulta
16
17 $sql='SELECT * FROM miTabla WHERE (nombre Like "%' . $n . '%") AND (telefono Like "%' . $t . '%");';
18
19 $resultado = mysql_query($sql);
20
21 //Si hay un error, devolverlo en formato XML
22 if (!$resultado) {
23 exit("<resultados status=\"error\"><message>Error en SQL</message></resultados>");
24 }
25
26 //Crear bucle para recorrer los resultados y devolverlos en formato XML
27 $num = 0;
28 while ($dato = mysql_fetch_assoc($resultado)){
29 $cadena .= "<resultados><id>$dato[id]</id><nombre>$dato[nombre]</nombre><telefono>$dato[telefono]</telefono><resultados>";
30 $num++;
31
32 }
33
34 //Encapsulamos los resultado en una etiqueta padre en XML
35 $xmlresult = "<resultados status=\"success\" count=\"$num\">";
36 $xmlresult .= $cadena;
37 $xmlresult .= "</resultados>";
38
39 //Retornar los datos XML
40 echo str_replace("&", "es" ,$xmlresult);
41
42
43
44 } //END if
45
En Android es muy facil crear peticiones HTTP:
01 public static String getXML(){
02 String line = null;
03
04 try {
05
06 DefaultHttpClient httpClient = new DefaultHttpClient();
07 HttpPost httpPost = new HttpPost("http://ldroid.es/xml/");
08
09 HttpResponse httpResponse = httpClient.execute(httpPost);
10 HttpEntity httpEntity = httpResponse.getEntity();
11 line = EntityUtils.toString(httpEntity);
12
13 //Si ocurre algun error, mostramos todos los posibles errores
14 } catch (UnsupportedEncodingException e) {
15 line = "<resultados status=\"error\"><msg>Imposible conectar al servidor</msg></resultados>";
16 } catch (MalformedURLException e) {
17 line = "<resultados status=\"error\"><msg>Imposible conectar al servidor</msg></resultados>";
18 } catch (IOException e) {
19 line = "<resultados status=\"error\"><msg>Imposible conectar al servidor</msg></resultados>";
20 }
21 return line;
22
23 }
Analizar el XML y crear en Documento XML
01 public Document XMLfromString(String xml){
02
03 Document doc = null;
04
05 DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
06 try {
07
08 DocumentBuilder db = dbf.newDocumentBuilder();
09
10 InputSource is = new InputSource();
11 is.setCharacterStream(new StringReader(xml));
12 doc = db.parse(is);
13
14 } catch (ParserConfigurationException e) {
15 System.out.println("XML analisis error: " + e.getMessage());
16 return null;
17 } catch (SAXException e) {
18 System.out.println("ERROR sintaxis en la estructura XML: " + e.getMessage());
19 return null;
20 } catch (IOException e) {
21 System.out.println("I/O exeption: " + e.getMessage());
22 return null;
23 }
24
25 return doc;
26
27 }
Crear una ListView con los datos de nuestro XML
en construccion.....