1

我正在创建一个数独游戏,但是当我按下按钮时它会导致游戏崩溃。这是我的代码:

FPSudoku.java:

package org.example.fpsudoku;

import android.app.Activity; import
android.os.Bundle; import
android.content.Intent; import
android.view.View; import
android.view.View.OnClickListener;

public class FPSudoku extends Activity
implements OnClickListener{
     @Override    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);

      View newButton = findViewById(R.id.new_game_button);
      newButton.setOnClickListener(this);
      View aboutButton = findViewById(R.id.how_to_play_button);
      aboutButton.setOnClickListener(this);
      View exitButton = findViewById(R.id.exit_game_button);
      exitButton.setOnClickListener(this);
          }

      public void onClick(View v) {
          switch (v.getId()) {
          case R.id.how_to_play_button:
          Intent i = new Intent(this, Howtoplay.class);
          startActivity(i);
          break;

      } 
  }
}

Howtoplay.java

package org.example.fpsudoku;

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

public class Howtoplay extends
Activity {  @Override   protected void
onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.howtoplay);
    }

}

更新

安卓清单.xml

<application android:icon="@drawable/icon" android:label="@string/app_name">
    <activity android:name=".FPSudoku"
              android:label="@string/app_name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
        <activity android:name=".Howtoplay"
                  android:label="@string/how_to_play_title" >
                </activity>
                </activity>

</application>

更新的日志猫

02-25 00:36:08.623: 调试/AndroidRuntime(818): >>>>>>>>>>>>>> AndroidRuntime 开始 <<<<<<<<<<<<<<
02-25 00 :36:08.623: DEBUG/AndroidRuntime(818): CheckJNI 开启
02-25 00:36:08.763: DEBUG/AndroidRuntime(818): --- 注册本机函数 ---
02-25 00:36:09.504: DEBUG /dalvikvm(237):GC_EXPLICIT 在 127 毫秒内释放了 130 个对象/6944 个字节
02-25 00:36:09.544:DEBUG/PackageParser(43):扫描包:/data/app/vmdl10845.tmp
02-25 00:36:09.544 : WARN/PackageParser(43): 包 /data/app/vmdl10845.tmp 中的问题:
02-25 00:36:09.544: WARN/PackageParser(43): Unknown element under : activity at /data/app/vmdl10845.tmp二进制 XML 文件行 #15
02-25 00:36:09.634:INFO/PackageManager(43):删除非系统包:org.example.fpsudoku
02-25 00:36:09.634: INFO/ActivityManager(43): 强制停止包 org.example.fpsudoku uid=10036
02-25 00:36:09.734: DEBUG/PackageManager(43): 扫描包 org.example.fpsudoku
02-25 00:36:09.734: INFO/PackageManager(43): 包 org.example.fpsudoku 代码路径从 /data/app/org.example.fpsudoku-1.apk 更改为 /data/app/org.example.fpsudoku -2.apk;保留数据并使用新的
02-25 00:36:09.744: INFO/PackageManager(43): /data/app/org.example.fpsudoku-2.apk 更改;开箱
02-25 00:36:09.754: DEBUG/installd(35): DexInv: --- BEGIN '/data/app/org.example.fpsudoku-2.apk' ---
02-25 00:36:09.904 :调试/dalvikvm(825):DexOpt:加载 28ms,验证 17ms,选择 2ms
02-25 00:36:09.904:调试/安装(35):DexInv:--- END '/data/app/org.example.fpsudoku-2.apk'(成功)---
02-25 00:36 :09.914:WARN/PackageManager(43):pkg 的代码路径:org.example.fpsudoku 从 /data/app/org.example.fpsudoku-1.apk 更改为 /data/app/org.example.fpsudoku-2。 apk
02-25 00:36:09.914:WARN/PackageManager(43):pkg 的资源路径:org.example.fpsudoku 从 /data/app/org.example.fpsudoku-1.apk 更改为 /data/app/org .example.fpsudoku-2.apk
02-25 00:36:09.914: DEBUG/PackageManager(43): 活动: org.example.fpsudoku.FPSudoku
02-25 00:36:09.924: INFO/ActivityManager(43): Force停止包 org.example.fpsudoku uid=10036
02-25 00:36:10.004: INFO/installd(35): 移动 /data/dalvik-cache/data@app@org.example.fpsudoku-2.apk@classes.dex -> /data/dalvik-cache/ data@app@org.example.fpsudoku-2.apk@classes.dex
02-25 00:36:10.014: DEBUG/PackageManager(43): 新包安装在 /data/app/org.example.fpsudoku-2。 apk
02-25 00:36:10.174: DEBUG/dalvikvm(43): GC_FOR_MALLOC 在 97 毫秒内释放了 7382 个对象/491576 个字节
02-25 00:36:10.274: INFO/ActivityManager(43): 强制停止包 org.example.fpsudoku uid=10036
02-25 00:36:10.334:DEBUG/dalvikvm(117):GC_EXPLICIT 在 53ms 内释放了 814 个对象/43456 个字节
02-25 00:36:10.554:DEBUG/dalvikvm(43):GC_EXPLICIT 释放了 3804 个对象/210760 102 毫秒内的字节数
02-25 00:36:10.574: WARN/RecognitionManagerService(43): 找不到可用的语音识别服务
02-25 00:36:10.614: INFO/installd(35): 取消链接 /data/dalvik-cache/data@app@ org.example.fpsudoku-1.apk@classes.dex
02-25 00:36:10.654: DEBUG/AndroidRuntime(818): 关闭 VM
02-25 00:36:10.664: DEBUG/dalvikvm(818): 调试器有分离的;对象注册表有 1 个条目
02-25 00:36:10.694:INFO/AndroidRuntime(818):注意:附加线程“Binder Thread #3”失败
02-25 00:36:11.254:DEBUG/AndroidRuntime(831):> >>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
02-25 00:36:11.254: DEBUG/AndroidRuntime(831): CheckJNI 开启
02- 25 00:36:11.414:
02-25 00:36:12.034:INFO/ActivityManager(43):开始活动:Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=org.example。 fpsudoku/.FPSudoku }
02-25 00:36:12.064: INFO/ActivityManager(43): 为活动 org.example.fpsudoku/.FPSudoku 启动 proc org.example.fpsudoku: pid=837 uid=10036 gids={}
02 -25 00:36:12.094:DEBUG/AndroidRuntime(831):关闭 VM
02-25 00:36:12.104:DEBUG/dalvikvm(831):调试器已分离;对象注册表有 1 个条目
02-25 00:36:12.954: INFO/ActivityManager(43): Displayed activity org.example.fpsudoku/.FPSudoku: 901 ms (total 901 ms)
02-25 00:36:14.024: INFO/ ActivityManager(43):开始活动:Intent { cmp=org.example.fpsudoku/.Howtoplay }
02-25 00:36:14.034: DEBUG/AndroidRuntime(837): 关闭 VM
02-25 00:36:14.034: WARN/dalvikvm(837): threadid=1: 线程退出未捕获异常 (group=0x4001d800)
02 -25 00:36:14.044: ERROR/AndroidRuntime(837): FATAL EXCEPTION: main
02-25 00:36:14.044: ERROR/AndroidRuntime(837): android.content.ActivityNotFoundException: Unable to find explicit activity class {org. example.fpsudoku/org.example.fpsudoku.Howtoplay}; 您是否在 AndroidManifest.xml 中声明了此活动?
02-25 00:36:14.044: 错误/AndroidRuntime(837): 在 android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404)
02-25 00:36:14.044: 错误/AndroidRuntime(837): 在 android. app.Instrumentation.execStartActivity(Instrumentation.java:1378)
02-25 00:36:14.044: ERROR/AndroidRuntime(837): at android.app.Activity.startActivityForResult(Activity.java:2817)
02-25 00:36:14.044: ERROR/AndroidRuntime(837): at android. app.Activity.startActivity(Activity.java:2923)
02-25 00:36:14.044: 错误/AndroidRuntime(837): 在 org.example.fpsudoku.FPSudoku.onClick(FPSudoku.java:31)
02-25 00: 36:14.044: ERROR/AndroidRuntime(837): at android.view.View.performClick(View.java:2408)
02-25 00:36:14.044: ERROR/AndroidRuntime(837): at android.view.View$PerformClick .run(View.java:8816)
02-25 00:36:14.044: 错误/AndroidRuntime(837): 在 android.os.Handler.handleCallback(Handler.java:587)
02-25 00:36:14.044: 错误/AndroidRuntime(837): 在 android.os.Handler.dispatchMessage(Handler.java:92)
02-25 00:36:14.044: ERROR/AndroidRuntime(837): at android.os.Looper.loop(Looper.java:123)
02-25 00:36:14.044: ERROR/AndroidRuntime(837): at android. app.ActivityThread.main(ActivityThread.java:4627)
02-25 00:36:14.044: 错误/AndroidRuntime(837): 在 java.lang.reflect.Method.invokeNative(Native Method)
02-25 00:36:14.044 : ERROR/AndroidRuntime(837): at java.lang.reflect.Method.invoke(Method.java:521)
02-25 00:36:14.044: ERROR/AndroidRuntime(837): at com.android.internal.os。 ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-25 00:36:14.044: 错误/AndroidRuntime(837): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-25 00:36:14.044: ERROR/AndroidRuntime(837): at dalvik.system.NativeStart.main(Native Method)
02-25 00:36:14.054: WARN/ActivityManager(43): 强制完成活动 org.example .fpsudoku/.FPSudoku
02-25 00:36:14.564:WARN/ActivityManager(43):HistoryRecord{43f8d620 org.example.fpsudoku/.FPSudoku}
02-25 00:36:15.764 的活动暂停超时:INFO/Process( 837): 发送信号。PID: 837 SIG: 9
02-25 00:36:15.774: INFO/ActivityManager(43): Process org.example.fpsudoku (pid 837) 已经死亡。
02-25 00:36:15.774: INFO/WindowManager(43): WIN DEATH: Window{440296f8 org.example.fpsudoku/org.example.fpsudoku.FPSudoku paused=false}
02-25 00:36:15.824:WARN/InputManagerService(43):得到 RemoteException 向 pid 837 uid 10036 发送 setActive(false) 通知
02-25 00:36:18.894:DEBUG/SntpClient(43):请求时间失败:java .net.SocketException:协议 02-25 00:36:20.194 不支持地址系列
:DEBUG/dalvikvm(237):GC_EXPLICIT 在 133 毫秒内释放了 156 个对象/11312 个字节
02-25 00:36:24.782:WARN/ActivityManager(43 ): HistoryRecord{43f8d620 org.example.fpsudoku/.FPSudoku}
02-25 00:36:25.254: DEBUG/dalvikvm(262): GC_EXPLICIT 在 131 毫秒内释放 26 个对象/1144 个字节的活动销毁超时

4

1 回答 1

6

隐藏在您的 LogCat 中的是您的问题的答案:

ActivityNotFoundException: Unable to find explicit activity class {org.example.fpsudoku/org.example.fpsudoku.Howtoplay}; have you declared this activity in your AndroidManifest.xml?
于 2011-02-24T23:38:46.533 回答