我有一个功能齐全的应用程序,如果你可以称呼hello world完全正常运行。 有3个标签,每个标签都做了一些事情,然后就会出现问题。
我认为我犯了一个错误,试图使用谷歌api来获取一些gps的东西,并以某种方式设法bork我的项目和备份版本。所以现在我只是想把它全部重新组合在一起,然后再把它发给我的讲师。
问题:当设置运行配置以启动启动时,我会在启动完成时收到大量错误。我是一个完整的新手,所以我不知道我的代码中剩下的部分是错误的。我怀疑它是清单或启动代码意图指针。
logcat的
10-24 05:28:08.297: D/dalvikvm(612): GC_EXTERNAL_ALLOC freed 673 objects / 52920 bytes in 136ms
10-24 05:28:13.185: W/dalvikvm(612): threadid=7: thread exiting with uncaught exception (group=0x4001d800)
10-24 05:28:13.195: E/AndroidRuntime(612): FATAL EXCEPTION: Thread-8
10-24 05:28:13.195: E/AndroidRuntime(612): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.b00517566.helloworldfinal/com.b00517566.helloworld.HelloWorldfinalActivity}; have you declared this activity in your AndroidManifest.xml?
10-24 05:28:13.195: E/AndroidRuntime(612): at android.app.Instrumentation.checkStartActivityResult(Instrumentation.java:1404)
10-24 05:28:13.195: E/AndroidRuntime(612): at android.app.Instrumentation.execStartActivity(Instrumentation.java:1378)
10-24 05:28:13.195: E/AndroidRuntime(612): at android.app.Activity.startActivityForResult(Activity.java:2817)
10-24 05:28:13.195: E/AndroidRuntime(612): at android.app.Activity.startActivity(Activity.java:2923)
10-24 05:28:13.195: E/AndroidRuntime(612): at com.b00517566.helloworldfinal.splash$1.run(splash.java:37)
清单
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.b00517566.helloworldfinal"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".HelloWorldFinalActivity" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="splash"> <intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter></activity>
<activity android:name="ButtonTab">
<intent-filter></intent-filter>
</activity>
<activity android:name="MiscTab">
<intent-filter></intent-filter>
</activity>
<activity android:name="RadioBtnsTab">
<intent-filter></intent-filter>
</activity>
</application>
</manifest>
溅
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
// thread for displaying the SplashScreen
Thread splashTread = new Thread() {
@Override
public void run() {
try {
int waited = 0;
while(_active && (waited < _splashTime)) {
sleep(100);
if(_active) {
waited += 100;
}
}
} catch(InterruptedException e) {
// do nothing
} finally {
finish();
Intent i = new Intent();
i.setClassName("com.b00517566.helloworldfinal",
"com.b00517566.helloworld.HelloWorldfinalActivity");
startActivity(i);
//startActivity(new Intent("com528.b00517566.helloworld"));
// stop();
}
}
};
splashTread.start();
}
答案 0 :(得分:1)
错误说它找不到“HelloWorldfinalActivity”并且你的清单定义了“HelloWorldFinalActivity” - 第一种情况下为小写字母f,第二种情况下为大写字母F.
清单中的活动名称应与您为活动提供的“。”类名称相同。在他们面前。例如,如果你有一个HelloWorldFinalActivity.class,那么清单中的名称应为“.HelloWorldFinalActivity”。
此外,还有一种更简单的方式来开展活动:
Intent i = new Intent(CurrentActivityName.this, com.b00517566.helloworldfinal.HelloWorldFinalActivity.class)
startActivity(i);
将CurrentActivityName替换为此代码所在类的名称。