内部创建方法无法读取PHP文件的内容


inside oncreate method can't read the content of php file?

我创建了一个安卓应用程序。我尝试从PHP文件中获取内容。我在下面的方法中编写了逻辑getCont()但它不起作用。它在安卓中总是返回空值。当我对Java做同样的事情时,它会返回PHP内容。如何解决这个问题,所以没有抛出异常。

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    String dbcont = getCont();
    tone = (TextView)findViewById(R.id.textView1);
    tone.setText("usean :-)"+dbcont);
}
public String getCont() {
    String mit = null;
    try {
        URL oracle = new URL("http://localhost/grace/conn.php");
        BufferedReader in = new BufferedReader(
            new InputStreamReader(oracle.openStream()));
        StringBuilder sb = new StringBuilder();
        String inputLine;             
        while ((inputLine = in.readLine()) != null) {
            sb.append(inputLine);
        }
        mit = sb.toString();
        System.out.println(mit);
    }
    catch(Exception e){
        e.printStackTrace();
    } 
    return mit;
}

你是说你没有例外?你正在 UI 线程上打开 URL 连接。 这在安卓上受到限制。我很惊讶应用程序没有崩溃。

http://developer.android.com/reference/android/os/NetworkOnMainThreadException.html

您必须使用单独的线程来执行网络功能。阅读此内容

http://developer.android.com/reference/android/os/AsyncTask.html

您需要创建一个扩展ASyncTask的类,然后在 doInBackground() 方法中,您可以打开连接以获取 PHP 文件。

然后,您可以返回将传递给 onPostExecute() 方法的结果。这将允许您将数据从连接(即 PHP 文件)传递回您的 UI 线程。

让我知道这是否有帮助。