-2

请帮助我。通过单击TextView代码html页面中的按钮可以显示一个简单的应用程序。我尝试在android 2.3上运行...作品。但在Android 4.2与按下错误起飞“不幸的是,name_app已停止”。URLConnection Android 4.2不起作用

MainActivity.java

public class MainActivity extends Activity { 
    TextView txtview; 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     txtview = (TextView) findViewById(R.id.txtview); 

    } 
    public void OnClickBtn (View v) { 
     URL url = null; 
     try { 
      url = new URL("http://ya.ru/"); 
      URLConnection con1 = url.openConnection(); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(con1.getInputStream())); 
      String line = ""; 
      while ((line = reader.readLine()) != null){ 
       txtview.append(line); 
      } 
     } catch (Exception e){ 

     } 
    } 
} 

的Manifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.example.test"> 
    <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="17" android:maxSdkVersion="17"/> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 
       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
    </application> 
    <uses-permission android:name="android.permission.INTERNET"></uses-permission> 
</manifest> 

也许是在Android SDK。我正在编写另一个应用程序,您想在互联网上查询。在Android 2.3上运行,但不适用于4.2。

+2

重复[android.os.NetworkOnMainThreadException](http://stackoverflow.com/questions/6343166/android-os-networkonmainthreadexception) – 323go 2013-03-27 18:32:56

回答

1

在3.0+中,您无法在主线程上运行HTTP请求 - 您必须在AsyncTask或Thread中执行它,否则会引发异常。