URL连接 - 没有连接

时间:2012-11-01 12:57:06

标签: android mysql http url connection

我想连接到一个URL并在此之后断开连接。但在我的Android 4.1更新(之前在2.3.7上工作)后,它不再起作用了! :/

为什么呢?我不知道:

public void insert_into_Mysql() {
    URL url = new URL("http://***/insertOrder.php?product="+product+"&owner="+owner);
    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
    try {
        openActivityOverview(product);  
    } finally {
        urlConnection.disconnect();
    }

注释被插入MySql-Table ...

感谢您的帮助! :)

3 个答案:

答案 0 :(得分:2)

在线程中写入url连接。

从Android API v15开始,它不需要在主线程上运行繁重的进程。因此,您应该将您的逻辑移动到另一个线程,如下面的源代码:

new Thread(new Runnable() {
   public void run() {
        // your logic
   }                        
}).start();

更多信息请参阅http://developer.android.com/guide/practices/responsiveness.html

答案 1 :(得分:2)

答案 2 :(得分:1)

您可以使用AsyncTask执行后台操作,例如网络。

private class ATask extends AsyncTask
{

    public ATask()
    {
    }

    @Override
    protected Object doInBackground(Object... params) 
    {
        // Background logic here.
        return null;
    }   

    @Override
    protected void onPostExecute(Object result) 
    {
        // Foreground logic here.
    }
}

或者你可以禁用主线程限制的无网络,但这通常被认为是一个坏主意,并且可能不应该在游戏之外使用。

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()。permitAll()。build(); StrictMode.setThreadPolicy(策略);