我正在尝试使用PHP文件将数据从Android应用程序发送到远程数据库。我正在考虑的问题是应用程序没有崩溃并且没有数据被发送:我知道我可以从PHP文件中看到带有JSON响应的结果,但我不使用它,因为我不知道如何处理JSON。
这里是php代码和相关活动:
<?php
$Nome;
$Tavolo;
//Apro la connessione con il server mySQL
$Conn = mysql_connect("localhost", "root", "");
if(!$Conn)
{
die('Errore di connessione: ' .mysql_error());
}
//Seleziono il mio database
$DBS = mysql_select_db('ordinazioni', $Conn);
if(!$DBS)
{
die('Accesso al database non riuscito: ' .mysql_error());
}
//echo "Mi sono connesso!";
$Nome = $_POST['Nome'];
$Tavolo = $_POST['Tavolo'];
$strSQL = mysql_query("INSERT INTO Comande (Nome, Tavolo) VALUES ('$Nome', '$Tavolo')");
?>
Android代码;
public class AggiungiProdotto extends Activity
{
TextView tv1;
private static String indirizzo ="http://10.0.2.2/tesina/Aggiungi_Ordinazione";
private String Nome = "test";
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.aggiungi_prodotto);
Invio();
}
public void Invio()
{
int NumTavolo = 2;
final String Tavolo = Integer.toString(NumTavolo);
Thread thread = new Thread()
{
@Override
public void run()
{
//Intent intent = getIntent();
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(indirizzo);
try
{
List<NameValuePair> Comanda = new ArrayList<NameValuePair>(2);
Comanda.add(new BasicNameValuePair("Nome", Nome));
Comanda.add(new BasicNameValuePair("Tavolo", Tavolo));
httppost.setEntity(new UrlEncodedFormEntity(Comanda));
ResponseHandler<String> responseHandler = new BasicResponseHandler();
final String Risposta = httpclient.execute(httppost, responseHandler);
tv1 = (TextView) findViewById(R.id.tv1);
tv1.setText("Response : " + Risposta);
}
catch (ClientProtocolException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
};
thread.start();
}
}
你可以帮我解决这个问题吗?谢谢。
答案 0 :(得分:0)
您没有根据请求添加数据。
待办事项
httppost.setEntity(new UrlEncodedFormEntity(Comanda));
前
httpclient.execute(httppost);