Чому моя гру Android збігає?

На шляху до створення своєї гри я отримав велику помилку. Я переглянув весь код, щоб знайти щось не так, але я не міг його знайти.

Код мого додатка стосується щось на зразок цього:

Показати меню з 5 кнопок та 1 міткою. Якщо клацнути нову гру, називайте функцію startgame (), яка почне грати в ігровий клас; що почне грати в клас гри. Після цього на екрані повинен з'явитися тільки кольоровий екран, нічого більше, але це не ... він фактично збігає.

Ось код:

BeginActivity.Java:

    import android.content.Intent;
    import android.os.Bundle;
    import android.app.Activity;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.Menu;
    import android.view.MenuInflater;
    import android.view.MenuItem;
    import android.app.AlertDialog;
    import android.util.Log;
    import android.content.DialogInterface;

    public class BeginActivity extends Activity implements OnClickListener {

public void onClick(View v) {
    switch (v.getId()){
    case R.id.newgame:
        startgame();
        break;
    }
   //TODO Auto-generated method stub

 }


 /** Called when the activity is first created. */
     @Override
     public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.main);

     View continueButton = findViewById(R.id.continuebutton);
     continueButton.setOnClickListener(this);

     View newButton = findViewById(R.id.newgame);
     newButton.setOnClickListener(this);

    View aboutButton = findViewById(R.id.aboutbutton);
    aboutButton.setOnClickListener(this);

    View achievButton = findViewById(R.id.achievbutton);
    achievButton.setOnClickListener(this);

    View exitButton = findViewById(R.id.exit);
    exitButton.setOnClickListener(this);




    }
    private void startgame() {

    Intent intent = new Intent(ThinkyoursmartActivity.this, Game.class);
    startActivity(intent);


     }
  }

Game.Java:

    public class Game extends Activity {

private Gameview Gameview;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      Gameview = new Gameview(this);
      setContentView(Gameview);
      Gameview.requestFocus();
   }

     }

GameView.Java:

    public class Gameview extends View{

private final Game Game;
public Gameview(Context context) {
    super(context);
    this.Game = (Game) context;
    setFocusable(true);
    setFocusableInTouchMode(true);
   //TODO Auto-generated constructor stub
}

@Override
   protected void onDraw(Canvas canvas) {
   //Draw the background...
      Paint background = new Paint();
      background.setColor(getResources().getColor(
            R.color.puzzle_background));

      canvas.drawRect(0, 0, getWidth(), getHeight(), background);


}
    }

Про LOG:

10-28 16:38:39.949: ERROR/AndroidRuntime(333): FATAL EXCEPTION: main
10-28 16:38:39.949: ERROR/AndroidRuntime(333): android.content.ActivityNotFoundException: Unable to find explicit activity class {think.smart/think.smart.Game}; have you declared this activity in your AndroidManifest.xml?
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1405)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at android.app.Instrumentation.execStartActivity(Instrumentation.java:1379)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at android.app.Activity.startActivityForResult(Activity.java:2827)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at android.app.Activity.startActivity(Activity.java:2933)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at think.smart.ThinkyoursmartActivity.startgame(ThinkyoursmartActivity.java:58)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at think.smart.ThinkyoursmartActivity.onClick(ThinkyoursmartActivity.java:22)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at android.view.View.performClick(View.java:2485)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at android.view.View$PerformClick.run(View.java:9080)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at android.os.Handler.handleCallback(Handler.java:587)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at android.os.Handler.dispatchMessage(Handler.java:92)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at android.os.Looper.loop(Looper.java:123)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at android.app.ActivityThread.main(ActivityThread.java:3683)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at java.lang.reflect.Method.invokeNative(Native Method)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at java.lang.reflect.Method.invoke(Method.java:507)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
10-28 16:38:39.949: ERROR/AndroidRuntime(333):     at dalvik.system.NativeStart.main(Native Method)
10-28 16:38:39.959: WARN/ActivityManager(67):   Force finishing activity think.smart/.ThinkyoursmartActivity
10-28 16:38:40.480: WARN/ActivityManager(67): Activity pause timeout for HistoryRecord{406ee178 think.smart/.ThinkyoursmartActivity}
10-28 16:38:51.975: WARN/ActivityManager(67): Activity destroy timeout for HistoryRecord{406ee178 think.smart/.ThinkyoursmartActivity}
0
Ви перевірили LogCat? Якщо ваш додаток зазнав аварійного завершення, там повинен бути слід стек.
додано Автор Laurence Gonsalves, джерело
будь-ласка, додайте доріжку трасування вашого винятку, а також як конвенцію в JAVA, змінні слід починати з нижнього регістру (не верхній регістр: приватний GameView gameView; це більш прийнятно :))
додано Автор Houcine, джерело
тому прийміть відповідь, щоб інші могли отримати переваги
додано Автор Houcine, джерело
Коли це збігає? Як це збігає?
додано Автор Dave Newton, джерело
Чи зареєстрована ваша гра-активність в маніфесті?
додано Автор Reuben Scratton, джерело
боже! забув оголосити свою діяльність! ...
додано Автор user1015311, джерело
Спасибі всім вам ... але здогадайтеся що ... Я забув оголосити активність у файлі маніфесту! Я шукав понад 1 годину за помилку чи щось, але це було так ... Вибач за мою дурість ... Я досить втомився ...
додано Автор user1015311, джерело

1 Відповіді

додайте доріжку трасування вашого винятку, а також як конвенцію в JAVA, змінні слід починати з нижнього регістру (не верхній регістр: приватний GameView gameView; це більш прийнятно :)).

Тому перевірте, чи всі ваші дії оголошені у вашому файлі маніфеста, як це:





0
додано
android_jobs_ua
android_jobs_ua
120 учасників

Публикуем вакансии и запросы на поиск работы по направлению Android. Здесь всё: full-time, part-time, remote и разовые подработки.

Mobile Dev Jobs UA
Mobile Dev Jobs UA
20 учасників

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin, RN и т.д.