2013-04-18 6 views
1

좋아요, 이건 정말 저를 멀리하고 있습니다. 내 에뮬레이터와 안드로이드 장치에서 모두 실행했습니다. 이 코드에는 "Helloworld, Android -mykong.com"이 표시되지 않습니다. 나는 앱을 시작하고, 에뮬레이터에서 찾아서 클릭하고, 앱의 인터페이스로 간다. 그러나 그것은 단지 빈 화면입니다! 이 오류는 에뮬레이터 나 안드로이드 폰이 아닌 앱을 찾는 나에게 문제가되지 않습니다. 문제는 코드 또는 코드가 구조화/빌드되는 방식으로 이루어져야합니다. helloworld 코드가 평판 좋은 튜토리얼 사이트에서 나온 것이므로 100 % 정확하다는 것을 알고 있습니다. 이들은 내 3 쌍의 코드입니다. 제발 도와 줘, 필사적으로 필요해!Helloworld는 에뮬레이터에서 실행되지 않습니다

의 AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.test123" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-sdk 
     android:minSdkVersion="8" 
     android:targetSdkVersion="17" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.example.test123.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

MainActivity.java

package com.example.test123; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.Menu; 

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 
    public void activity() 
    { 
    Intent helloWorld = new Intent(getApplicationContext(), HelloWorldjavaactivity.class); 
    startActivity(helloWorld); 
    } 
    @Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     // Inflate the menu; this adds items to the action bar if it is present. 
     getMenuInflater().inflate(R.menu.main, menu); 
     return true; 
    } 
} 

HelloWorldjavaactivity.java

package com.example.test123; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 

public class HelloWorldjavaactivity extends Activity { 
    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     TextView text = new TextView(this); 
     text.setText("Hello World, Android - mkyong.com"); 
     setContentView(text); 
    } 
} 

Activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".MainActivity" > 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="35dp" 
     android:layout_marginTop="57dp" 
     android:text="" 
     /> 

</RelativeLayout> 
+0

귀하의 목록 파일을 게시하십시오! 기본적으로 MainActivity! –

+1

뭔가를 놓치거나 코드가 올바르지 않습니다. 매니페스트에서 MainActivity가 LAUNCHER로 설정되어 있기 때문에 비어있게됩니다. HelloWorldjavaactivity로 변경하면 앱이 다운됩니다. 어쨌든 매니페스트를 게시하십시오. –

+0

추가했습니다. 제발 한번보세요. 고맙습니다. – user2246076

답변

1

HelloWorldjavaactivity.java 활동을 시작하지 않습니다.

Intent helloWorld = new Intent(getApplicationContext(), HelloWorldjavaactivity.class); 
startActivity(helloWorld); 

는 물론, 당신이 그 코드를 예를 들어 어떤 경우에도, 버튼을 눌러 트리거 할 필요가 : 당신은 당신의 MainActivity에 다음과 같은 뭔가가 필요합니다.

두 번째 활동을 제거하는 것이 더 쉽습니다 (MainActivity가 아무 것도하지 않기 때문에). 대신 MainActivity에 코드를 넣으십시오. 또한 MainActivity의 레이아웃을 편집하여 적절한보기가 포함되도록해야합니다.

+1

작동하더라도 좋지 않습니다! Manifest 파일에서 수행 할 수 있기 때문에 필요하지 않습니다. –

+0

그건 사실이고 훨씬 간단합니다! 하지만 그 코드가 완전히 불필요한 두 번째 활동 대신 MainActivity에 코드를 삽입하는 것이 더 좋지 않겠습니까? 나쁜 예를 제공하는 신뢰할 수있는 자습서 사이트는 어디에 있습니까? –

+0

좋은 지적! 나는 그가 두 번째 활동이 필요할 경우에 혼란 스러울 것이라고 생각한다. –

관련 문제