Ciao a tutti!
sono nuovo del forum e spero di imparare tanto.
sto facendo un app android che mi permette di collegarsi ad un database mysql esterno tramite un file php situato su un server, ma, in fase di progettazione, sto facendo tutto in locale.
l'applicaizione deve eseguire una SELECT sul database Azienda nell'onclick del tasto cerca e visualizzare il risultato (dati anagrafici delle aziende contenute nel databse) sulla text situata sotto di esso.
questo è il codice Java della main Activity:
codice:
Button btncerca=(Button)findViewById(R.id.btncerca);
		btncerca.setOnClickListener(new OnClickListener() {
	    	@Override
	    	public void onClick(View arg0) {
	    		
	    		TextView txtrisultato=(TextView)findViewById(R.id.txtrisultato);
	    		String result = sendQuery.send("SELECT nome_azienda FROM azienda");

	    		txtrisultato.append(result);
	    	}
		
		});
questo è il codice della classe che effettua la connessione al database e l'interrogazione:
codice:
public class sendQuery {
/////////// Public method to send Query ///////////
	public static String send(String query) {
		String result = "0";
		InputStream is = null;
		//the query to send
		ArrayList<NameValuePair> querySend = new ArrayList<NameValuePair>();
		querySend.add(new BasicNameValuePair("querySend",query));
		//http post
		try{
			HttpClient httpclient = new DefaultHttpClient();
			HttpPost httppost = new HttpPost("localhost/D:/Java/workspace/AziendaPuglia/query.php");
			httppost.setEntity(new UrlEncodedFormEntity(querySend));
			HttpResponse response = httpclient.execute(httppost);
			HttpEntity entity = response.getEntity();
			is = entity.getContent();
		}catch(Exception e){
			Log.e("log_tag", "Error in http connection "+e.toString());
		}
		//convert response to string
		try{
			BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
			StringBuilder sb = new StringBuilder();
			String line = null;
			while ((line = reader.readLine()) != null) {
				sb.append(line + "\n");
			}
			is.close();
			result=sb.toString();
		}catch(Exception e){
			Log.e("log_tag", "Error converting result: "+e.toString());
		}
		Log.i("SendQUERY", result);
		return result;
	}
}
e questo è il file php:
codice:
<?php
$db_host = "localhost/D:/Java/workspace/AziendaPuglia";
$db_name = "azienda_puglia";
$db_user = "root";
$db_password = "12345";
//connessione al database
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE) die ("Errore nella connessione. Verificare i parametri nel file connection.php");
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file connection.php");
//preleviamo la query passataci dall’applicazione
$query = $_REQUEST['querySend'];
$query = str_replace("\'", "'", $query);
//eseguiamo la query
$result = mysql_query ($query);
while($e=mysql_fetch_assoc($result))
$output[]=$e;
//stampiamo il risultato in formato json
print(json_encode($output));
?>
il problema è che dopo aver clikkato sul tasto cerca, il logCat mi presenta questo errore:
error converting result: java.lang.nullpointerexception: lock==null
e sulla text mi compare 0.
come posso risolvere?