0

重複の可能性:
Android でメソッドを呼び出す

API に接続しようとしています。それが機能しているかどうかはまだわかりません...しかし、私のテストメッセージは機能していません。

これが私のMainActivityです:

public class MainActivity extends Activity {

public final static String EXTRA_MESSAGE = "com.example.test.MESSAGE";


@SuppressLint("ParserError")
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}



public void sendIP(View view){
    Intent intent = new Intent(this, DisplayMessageActivity.class);
    startActivity(intent);


}

DisplayMessageActivity は次のとおりです。 -「hello」が画面に表示されるはずですが、代わりに空白です。それが表示されない場合、私のリクエストもおそらくどこにも届かなかったので、そのアドバイスも役に立ちます.

public class DisplayMessageActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);




        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://api.site/");

        try {
            // Add your data
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);


            // Execute HTTP Post Request
            HttpResponse response = httpclient.execute(httppost);

            String test = "hello";

            TextView textView = new TextView(this);
            textView.setTextSize(40);
            textView.setText(test);
            //TextView myTextView = (TextView) findViewById(R.id.myTextView);
           // myTextView.setText(test);

        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
        } catch (IOException e) {
            // TODO Auto-generated catch block
        }


}
}

そして、マニフェストでインターネットへのアクセスを許可しました!

ありがとう!

4

1 に答える 1

1

setContentView()をxmlレイアウトに、またはDisplayMessageActivityのonCreate()のテキストビューに直接接続する必要があります。

また、ネットワーク操作をAsyncTaskに移動するか、UIスレッドから削除する必要があります。古い公式サンプルのいくつかはこれについて悪いですが、それは決して良い考えではありませんでした、そしてより最近のAndroidバージョンではプロアクティブなクラッシュを引き起こします。

于 2012-07-10T16:16:06.780 に答える