2012-07-10 5 views
0

가능한 중복은 :
Calling Method in Android문의 API 안드로이드, 아무것도 표시되지

나는 API를 contatct 것을 시도하고있다. 아직 작동 여부를 확인해야하지만 ... 테스트 메시지가 작동하지 않습니다. "안녕하세요"가 화면에 작성해야하지만, 대신 빈 - :

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입니다 :

여기 내 MainActivity입니다. 그게 나타나지 않는다면 그때 내 요구가 아마 어느 곳에서도 만들지 못했을 것입니다. 그래서 그에 대한 조언도 도움이 될 것입니다.

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 
     } 


} 
} 

그리고 매니페스트에서 인터넷에 액세스 할 수있게되었습니다!

감사합니다.

+0

sendmessageactivity의 주석 처리 된 섹션은 내가 메시지를 표시하려고 시도하는 또 다른 방법입니다. 그러나'sendIP' 메서드를 호출 할 때 – GK1667

+0

도 작동하지 않았습니까? –

답변

1

xml 레이아웃에 setContentView()가 필요하거나 DisplayMessageActivity의 onCreate()에서 텍스트 뷰에 직접 입력해야합니다.

또한 네트워크 작업을 AsyncTask로 이동하거나 그렇지 않으면 UI 스레드에서 꺼내야합니다. 오래된 공식 샘플 중 일부는이 점에 대해 나쁘지만 좋은 아이디어는 아니며 최신 Android 버전에서는 사전 충돌이 발생합니다.

관련 문제