-2

请帮我。有一个简单的应用程序,通过单击 TextView 代码 html 页面中的按钮来显示。我尝试在 android 2.3 上运行...有效。但在 android 4.2 上,按下错误会显示“不幸的是,name_app 已停止”。

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){

        }
    }
}

清单.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。

4

1 回答 1

1

在 3.0+ 中,您不能在主线程上运行 HTTP 请求 - 您必须在 AsyncTask 或线程中执行此操作,否则会引发异常。

于 2013-03-27T18:11:16.697 回答