安卓数独游戏,按下按钮会导致游戏崩溃 [英] android sudoku game, button press crashes the game
问题描述
我正在创建一个数独游戏,但是当我按下按钮时它使游戏崩溃.这是我的代码:
I'm creating a sudoku game, but when i press the button it crashes the game. Here's my code:
FPSudoku.java:
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
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);
}
}
更新
android manifest.xml
android manifest.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: DEBUG/AndroidRuntime(818): >>>>>>>>>>>>>> AndroidRuntime 开始 <<<<<<<<;<<<<<<
02-25 00:36:08.623:调试/AndroidRuntime(818):CheckJNI 已开启
02-25 00:36:08.763:调试/AndroidRuntime(818):---注册本机函数---
02-25 00:36:09.504:调试/dalvikvm(237):GC_EXPLICIT 在 127 毫秒内释放了 130 个对象/6944 字节
02-25 00:36:09.544:调试/包解析器(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 Binary XML file line #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): Package org.example.fpsudoku codePath 从/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:调试/安装(35):DexInv:---开始'/data/app/org.example.fpsudoku-2.apk'---
02-25 00:36:09.904:DEBUG/dalvikvm(825):DexOpt:加载 28ms,验证 17ms,选择 2ms
02-25 00:36:09.904:调试/安装(35):DexInv:---结束'/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.示例.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.示例.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): 强制停止包 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:调试/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:调试/dalvikvm(117):GC_EXPLICIT 在 53 毫秒内释放了 814 个对象/43456 字节
02-25 00:36:10.554:调试/dalvikvm(43):GC_EXPLICIT 在 102 毫秒内释放了 3804 个对象/210760 字节
02-25 00:36:10.574:WARN/RecognitionManagerService(43):找不到可用的语音识别服务
02-25 00:36:10.614:信息/安装(35):取消链接/data/dalvik-cache/data@app@org.example.fpsudoku-1.apk@classes.dex
02-25 00:36:10.654:调试/AndroidRuntime(818):关闭虚拟机
02-25 00:36:10.664:调试/dalvikvm(818):调试器已分离;对象注册表有 1 个条目
02-25 00:36:10.694:INFO/AndroidRuntime(818):注意:附加线程绑定线程#3"失败
02-25 00:36:11.254: 调试/AndroidRuntime(831): >>>>>>>>>>>> AndroidRuntime 开始 <<<<<<<<<<<<<<
02-25 00:36:11.254:调试/AndroidRuntime(831):CheckJNI 已开启
02-25 00:36:11.414:调试/AndroidRuntime(831):---注册本机函数---
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:调试/AndroidRuntime(831):关闭虚拟机
02-25 00:36:12.104:调试/dalvikvm(831):调试器已分离;对象注册表有 1 个条目
02-25 00:36:12.954: INFO/ActivityManager(43): 显示的活动 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:调试/AndroidRuntime(837):关闭虚拟机
02-25 00:36:14.034: WARN/dalvikvm(837): threadid=1: 线程退出时出现未捕获的异常 (group=0x4001d800)
02-25 00:36:14.044:错误/AndroidRuntime(837):致命异常:main
02-25 00:36:14.044:错误/AndroidRuntime(837):android.content.ActivityNotFoundException:无法找到显式活动类{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: 错误/AndroidRuntime(837): 在 android.app.Activity.startActivityForResult(Activity.java:2817)
02-25 00:36:14.044: 错误/AndroidRuntime(837): 在 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: 错误/AndroidRuntime(837): 在 android.view.View.performClick(View.java:2408)
02-25 00:36:14.044: 错误/AndroidRuntime(837): 在 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: 错误/AndroidRuntime(837): 在 android.os.Looper.loop(Looper.java:123)
02-25 00:36:14.044: 错误/AndroidRuntime(837): 在 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: 错误/AndroidRuntime(837): 在 java.lang.reflect.Method.invoke(Method.java:521)
02-25 00:36:14.044: 错误/AndroidRuntime(837): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-25 00:36:14.044: 错误/AndroidRuntime(837): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-25 00:36:14.044: 错误/AndroidRuntime(837): 在 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:信息/过程(837):发送信号.PID:837 SIG:9
02-25 00:36:15.774:INFO/ActivityManager(43):进程 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 发送 setActive(false) 通知到 pid 837 uid 10036
02-25 00:36:18.894:DEBUG/SntpClient(43):请求时间失败:java.net.SocketException:协议不支持地址族
02-25 00:36:20.194:调试/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 字节
02-25 00:36:08.623: DEBUG/AndroidRuntime(818): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
02-25 00:36:08.623: DEBUG/AndroidRuntime(818): CheckJNI is ON
02-25 00:36:08.763: DEBUG/AndroidRuntime(818): --- registering native functions ---
02-25 00:36:09.504: DEBUG/dalvikvm(237): GC_EXPLICIT freed 130 objects / 6944 bytes in 127ms
02-25 00:36:09.544: DEBUG/PackageParser(43): Scanning package: /data/app/vmdl10845.tmp
02-25 00:36:09.544: WARN/PackageParser(43): Problem in package /data/app/vmdl10845.tmp:
02-25 00:36:09.544: WARN/PackageParser(43): Unknown element under : activity at /data/app/vmdl10845.tmp Binary XML file line #15
02-25 00:36:09.634: INFO/PackageManager(43): Removing non-system package:org.example.fpsudoku
02-25 00:36:09.634: INFO/ActivityManager(43): Force stopping package org.example.fpsudoku uid=10036
02-25 00:36:09.734: DEBUG/PackageManager(43): Scanning package org.example.fpsudoku
02-25 00:36:09.734: INFO/PackageManager(43): Package org.example.fpsudoku codePath changed from /data/app/org.example.fpsudoku-1.apk to /data/app/org.example.fpsudoku-2.apk; Retaining data and using new
02-25 00:36:09.744: INFO/PackageManager(43): /data/app/org.example.fpsudoku-2.apk changed; unpacking
02-25 00:36:09.754: DEBUG/installd(35): DexInv: --- BEGIN '/data/app/org.example.fpsudoku-2.apk' ---
02-25 00:36:09.904: DEBUG/dalvikvm(825): DexOpt: load 28ms, verify 17ms, opt 2ms
02-25 00:36:09.904: DEBUG/installd(35): DexInv: --- END '/data/app/org.example.fpsudoku-2.apk' (success) ---
02-25 00:36:09.914: WARN/PackageManager(43): Code path for pkg : org.example.fpsudoku changing from /data/app/org.example.fpsudoku-1.apk to /data/app/org.example.fpsudoku-2.apk
02-25 00:36:09.914: WARN/PackageManager(43): Resource path for pkg : org.example.fpsudoku changing from /data/app/org.example.fpsudoku-1.apk to /data/app/org.example.fpsudoku-2.apk
02-25 00:36:09.914: DEBUG/PackageManager(43): Activities: org.example.fpsudoku.FPSudoku
02-25 00:36:09.924: INFO/ActivityManager(43): Force stopping package org.example.fpsudoku uid=10036
02-25 00:36:10.004: INFO/installd(35): move /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): New package installed in /data/app/org.example.fpsudoku-2.apk
02-25 00:36:10.174: DEBUG/dalvikvm(43): GC_FOR_MALLOC freed 7382 objects / 491576 bytes in 97ms
02-25 00:36:10.274: INFO/ActivityManager(43): Force stopping package org.example.fpsudoku uid=10036
02-25 00:36:10.334: DEBUG/dalvikvm(117): GC_EXPLICIT freed 814 objects / 43456 bytes in 53ms
02-25 00:36:10.554: DEBUG/dalvikvm(43): GC_EXPLICIT freed 3804 objects / 210760 bytes in 102ms
02-25 00:36:10.574: WARN/RecognitionManagerService(43): no available voice recognition services found
02-25 00:36:10.614: INFO/installd(35): unlink /data/dalvik-cache/data@app@org.example.fpsudoku-1.apk@classes.dex
02-25 00:36:10.654: DEBUG/AndroidRuntime(818): Shutting down VM
02-25 00:36:10.664: DEBUG/dalvikvm(818): Debugger has detached; object registry had 1 entries
02-25 00:36:10.694: INFO/AndroidRuntime(818): NOTE: attach of thread 'Binder Thread #3' failed
02-25 00:36:11.254: DEBUG/AndroidRuntime(831): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
02-25 00:36:11.254: DEBUG/AndroidRuntime(831): CheckJNI is ON
02-25 00:36:11.414: DEBUG/AndroidRuntime(831): --- registering native functions ---
02-25 00:36:12.034: INFO/ActivityManager(43): Starting activity: 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): Start proc org.example.fpsudoku for activity org.example.fpsudoku/.FPSudoku: pid=837 uid=10036 gids={}
02-25 00:36:12.094: DEBUG/AndroidRuntime(831): Shutting down VM
02-25 00:36:12.104: DEBUG/dalvikvm(831): Debugger has detached; object registry had 1 entries
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): Starting activity: Intent { cmp=org.example.fpsudoku/.Howtoplay }
02-25 00:36:14.034: DEBUG/AndroidRuntime(837): Shutting down VM
02-25 00:36:14.034: WARN/dalvikvm(837): threadid=1: thread exiting with uncaught exception (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}; have you declared this activity in your AndroidManifest.xml?
02-25 00:36:14.044: ERROR/AndroidRuntime(837): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404)
02-25 00:36:14.044: ERROR/AndroidRuntime(837): at 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: ERROR/AndroidRuntime(837): at 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: ERROR/AndroidRuntime(837): at android.os.Handler.handleCallback(Handler.java:587)
02-25 00:36:14.044: ERROR/AndroidRuntime(837): at 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: ERROR/AndroidRuntime(837): at 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: ERROR/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): Force finishing activity org.example.fpsudoku/.FPSudoku
02-25 00:36:14.564: WARN/ActivityManager(43): Activity pause timeout for HistoryRecord{43f8d620 org.example.fpsudoku/.FPSudoku}
02-25 00:36:15.764: INFO/Process(837): Sending signal. PID: 837 SIG: 9
02-25 00:36:15.774: INFO/ActivityManager(43): Process org.example.fpsudoku (pid 837) has died.
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): Got RemoteException sending setActive(false) notification to pid 837 uid 10036
02-25 00:36:18.894: DEBUG/SntpClient(43): request time failed: java.net.SocketException: Address family not supported by protocol
02-25 00:36:20.194: DEBUG/dalvikvm(237): GC_EXPLICIT freed 156 objects / 11312 bytes in 133ms
02-25 00:36:24.782: WARN/ActivityManager(43): Activity destroy timeout for HistoryRecord{43f8d620 org.example.fpsudoku/.FPSudoku}
02-25 00:36:25.254: DEBUG/dalvikvm(262): GC_EXPLICIT freed 26 objects / 1144 bytes in 131ms
推荐答案
隐藏在您的 LogCat 中的是您问题的答案:
Hidden in your LogCat is the answer to your question:
ActivityNotFoundException: Unable to find explicit activity class {org.example.fpsudoku/org.example.fpsudoku.Howtoplay}; have you declared this activity in your AndroidManifest.xml?
这篇关于安卓数独游戏,按下按钮会导致游戏崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!