Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android从网站上读取文本_Android_String_Url - Fatal编程技术网

Android从网站上读取文本

Android从网站上读取文本,android,string,url,Android,String,Url,我对Android编程相当陌生,不过我习惯于为iOS编程 现在在iOS中,您有了NSString stringWithContentOfURL的功能。现在我的问题是,java中是否也有类似的选项。。。?在谷歌搜索时,我遇到了一些例子,但使用它们时,我的应用程序总是崩溃 我使用了这样的代码:但它不断崩溃。。。你能帮帮我吗 谢谢大家! 编辑: LogCat错误: 01-22 19:34:12.718: E/AndroidRuntime(5481): FATAL EXCEPTION: main 01-

我对Android编程相当陌生,不过我习惯于为iOS编程

现在在iOS中,您有了NSString stringWithContentOfURL的功能。现在我的问题是,java中是否也有类似的选项。。。?在谷歌搜索时,我遇到了一些例子,但使用它们时,我的应用程序总是崩溃

我使用了这样的代码:但它不断崩溃。。。你能帮帮我吗

谢谢大家!

编辑: LogCat错误:

01-22 19:34:12.718: E/AndroidRuntime(5481): FATAL EXCEPTION: main
01-22 19:34:12.718: E/AndroidRuntime(5481): android.os.NetworkOnMainThreadException
01-22 19:34:12.718: E/AndroidRuntime(5481): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
01-22 19:34:12.718: E/AndroidRuntime(5481): at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
01-22 19:34:12.718: E/AndroidRuntime(5481): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)
01-22 19:34:12.718: E/AndroidRuntime(5481): at java.net.InetAddress.getAllByName(InetAddress.java:220)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:653)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:627)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:616)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at com.example.test4.DieActivity.meldeAn(DieActivity.java:150)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at com.example.test4.DieActivity$1.onClick(DieActivity.java:56)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at android.view.View.performClick(View.java:3511)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at android.view.View$PerformClick.run(View.java:14105)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at android.os.Handler.handleCallback(Handler.java:605)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at android.os.Handler.dispatchMessage(Handler.java:92)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at android.os.Looper.loop(Looper.java:137)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at android.app.ActivityThread.main(ActivityThread.java:4424)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at java.lang.reflect.Method.invokeNative(Native Method)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at java.lang.reflect.Method.invoke(Method.java:511)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-22 19:34:12.718: E/AndroidRuntime(5481):     at dalvik.system.NativeStart.main(Native Method)
您已尝试在UI线程上执行(网络)IO。这是不允许的。为什么?因为如果挂起UI线程,系统将向用户发布ANR(活动无响应)对话框

您必须异步执行IO

new AysyncTask<String,Void,String>() {
            protected String doInBackground(String... urls) {
              String url = urls[0];
              // do network operation, get result in a string (for example)
              return resultString;
            }

            protected void onPostExecute(String result) {
              JSONObject jo = new JSONObject(result);
              // update UI with the results of the network call here
            }
        }.execute(aUrl);

Android告诉你不应该在UI线程上进行网络操作。它不希望您阻塞线程,并且有充分的理由

尝试改用
AsyncTask
。将HTTP请求代码放入
doInBackground()
方法中,并更新
onPostExecute()方法中的
TextView


请记住,无法从
doInBackground()
方法访问UI线程。

显示Logcat错误会有所帮助。但是,你在清单文件中声明了互联网权限吗<代码>
是,它被声明,我的错误在编辑中。
new Thread(new Runnable() { 
  @Override
  public void run() {
    // do network operation
    runOnUiThread(new Runnable() {
      @Override
      public void run() {
        // update UI thread here
      }
    });
  }
}}.start();