2017-08-26 49 views
0

我想在android中發出http請求。爲什麼不能在android中進行http請求?

try { 
    URL u = new URL("http://www.google.com"); 
    HttpURLConnection c = (HttpURLConnection)u.openConnection(); 
    c.connect(); 
} 
catch (Exception e) { 
    Log.v(TAG, "Error is " + e.getMessage()); 
} 

這是我的代碼,當我在這裏檢查日誌時是「錯誤爲空」。 注意!我使用權限:android.permission INTERNET和android.permission.ACCESS_NETWORK_STATE。 我認爲我沒有錯誤,但我的應用程序無法提出請求。

有誰知道什麼可能是問題?

+0

我已經看過每一個帖子,但問題仍然沒有解決。 我在Netbeans中編寫了桌面應用程序,我的代碼在這裏工作得很好! – Mathew

+0

您是否嘗試添加斷點來查看異常情況?你檢查過文件嗎? –

+0

如果我註釋行「c.connect();」我不會有錯,但這不是好的方法。 我不明白什麼是問題。 – Mathew

回答

0

嘗試使用此代碼:

public class MainActivity extends AppCompatActivity implements View.OnClickListener { 

    private Button btn; 
    @Override 
    protected void onCreate(@Nullable Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     btn=(Button)findViewById(R.id.button); 
     btn.setOnClickListener(this); 

    } 
    public void onClick(View v) { 

     new MyAsyncTask().execute("lol"); 
    } 
    private class MyAsyncTask extends AsyncTask<String, Integer, Double> { 


     @Override 
     protected Double doInBackground(String... params) { 
      // TODO Auto-generated method stub 


      try { 
       URL u = new URL("http://www.sahdeepsingh.com"); 
       HttpURLConnection c = (HttpURLConnection)u.openConnection(); 
       c.connect(); 

      } 
      catch (Exception e) { 
       Log.v("TAG", "Error is " + e.getMessage()); 
      } 
      return null; 
     } 
    } 
} 

,你會看到連接的android箴言報。

+0

我試過,但沒有奏效。 – Mathew

+1

@Mathew你使用異步方法嗎? –

+0

我是Android新手,所以我沒有任何答案。 你能解釋一下如何使用這種方法嗎? – Mathew

相關問題