安卓有关POST数据到远程数据库的麻烦

时间:2013-03-11 14:36:15

标签: android database post

我正在尝试使用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();
}

}
你可以帮我解决这个问题吗?谢谢。

1 个答案:

答案 0 :(得分:0)

您没有根据请求添加数据。

待办事项

httppost.setEntity(new UrlEncodedFormEntity(Comanda));

httpclient.execute(httppost);