Capitulo I: Bases de Datos:

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    	}
	

Capitulo II: Crear un Servicio Web en PHP con resultado XML para Android

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

Capitulo III: Conectar aplicación android al Servicio web

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.....
fuente en Ingles