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

多分それはアンドロイドSDKにあります。インターネットでクエリを実行する別のアプリケーションを作成しています。Android 2.3 では動作しますが、4.2 では動作しません。

4

1 に答える 1

1

3.0 以降では、メイン スレッドで HTTP リクエストを実行できません。AsyncTask または Thread で実行する必要があります。そうしないと、例外がスローされます。

于 2013-03-27T18:11:16.697 に答える