我正在创建一个数独游戏,但是当我按下按钮时它会崩溃游戏.这是我的代码:
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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
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);
}
}
Run Code Online (Sandbox Code Playgroud)
更新
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>
Run Code Online (Sandbox Code Playgroud)
更新了logcat
02-25 00:36:08.623:DEBUG/AndroidRuntime(818):>>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
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在127ms中释放了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):未知元素位于:/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 codePat h从/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 :DEBUG/dalvikvm(825):DexOpt:加载28ms,验证17ms,选择2ms
02-25 00:36:09.904:DEBUG/installd(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 to /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):强制停止包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):安装在/data/app/org.example.fpsudoku-2.apk中的新软件包
02-25 00:36 :10.174:DEBUG/dalvikvm(43):GC_FOR_MALLOC在97ms中释放了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在102ms
02-25 00中释放了3804个对象/ 210760个字节:36:10.574:WARN/RecognitionManagerService(43):找不到可用的语音识别服务
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):关闭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:DEBUG/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):启动proc org.example.活动的fpsudoku org.example.fpsudoku/.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):显示的活动org.example.fpsudoku/.FPSudoku:901 ms(总计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:线程退出,未捕获异常(组= 0x4001d800)
02-25 00:36:14.044:ERROR/AndroidRuntime(837):致命异常:主
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:ERROR/AndroidRuntime(837):在android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404)
02-25 00:36:14.044:ERROR/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):在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):在android.view.View.performClick(View.java:2408)
02-25 00:36:14.044:ERROR/AndroidRuntime (837):在android.view.View $ PerformClick.run(View.java:8816)
02-25 00:36:14.044:ERROR/AndroidRuntime(837):在android.os.Handler.handleCallback(Handler.java: 587)
02-25 00:36:14.044:ERROR/AndroidRuntime(837):在android.os.Handler.dispatchMessage(Handler.java:92)
02-25 00:36:14.044:ERROR/AndroidRuntime(837):在android.os.Looper.loop(Looper.java:123)
02-25 00:36:14.044:ERROR/AndroidRuntime(837):在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):强制完成活动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):进程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发送setActive(false)通知837 uid 10036
02-25 00:36:18.894:DEBUG/SntpClient(43):请求时间失败:java.net.SocketException:协议不支持的地址族
02-25 00:36:20.194:DEBUG/dalvikvm(237):GC_EXPLICIT在133ms中释放156个对象/ 11312个字节
02-25 00:36:24.782:WARN/ActivityManager(43):HistoryRecord的活动销毁超时{43f8d620组织. example.fpsudoku/.FPSudoku}
02-25 00:36:25.254:DEBUG/dalvikvm(262):GC_EXPLICIT在131ms中释放了26个对象/ 1144个字节
隐藏在您的LogCat中是您的问题的答案:
ActivityNotFoundException: Unable to find explicit activity class {org.example.fpsudoku/org.example.fpsudoku.Howtoplay}; have you declared this activity in your AndroidManifest.xml?
Run Code Online (Sandbox Code Playgroud)