私はAndroidアプリを作成するためにYouTubeチュートリアルに従っています。チュートリアルの1つで、Listアクティビティを使用してMenuクラスを作成する方法を説明しました。
public class Menu extends ListActivity {
String classes[] = {"Start","example1","example2","example3","example4","example5","example6"};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(Menu.this, android.R.layout.simple_list_item_1, classes));
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
String cheese = classes[position];
try{
Class ourClass = Class.forName("com.example.add." + cheese);
Intent ourIntent = new Intent(Menu.this,ourClass);
startActivity(ourIntent);
}catch(ClassNotFoundException e){
e.printStackTrace();
}
}
そして、マニフェストにアクティビティを追加します。
<activity
android:name=".Splash"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:exported="false"
android:name=".Menu"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MENU" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:exported="false"
android:name="com.example.add.Start"
android:label="@string/app_name" >
<intent-filter>
<action android:name="com.example.add.START" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
私のプロジェクトには、カウンターに1つ追加して表示するStartクラス、背景画像、音楽を定義するSplashクラスがあり、これがメインクラスです。Menuクラスを追加する前はアプリは正常に機能していましたが、追加した後、アプリは強制的に閉じ始め、logcatは28行目のSplashクラスでActivityNotFoundExceptionとエラーを示しました
public class Splash extends Activity{
MediaPlayer ourSong;
@Override
protected void onCreate(Bundle Dab) {
// TODO Auto-generated method stub
super.onCreate(Dab);
setContentView(R.layout.splash);
ourSong = MediaPlayer.create(Splash.this, R.raw.nodebeat);
ourSong.start();
Thread timer = new Thread(){
public void run(){ //framework to start a new thread
try{
sleep(5000);
}catch(InterruptedException e){
e.printStackTrace();
}finally{
Intent openStart = new Intent("com.example.add.MENU");
startActivity(openStart);
}
}
};
timer.start();
}
@Override
protected void onPause() {
// TODO Auto-generated method stub
super.onPause();
ourSong.release();
finish();
}
だから私がアンドロイドアプリ開発に不慣れで、ここで打たれたのを手伝ってください。Logcatログへのリンク:-https://docs.google.com/file/d/0BxLaXhL-q50-MHlhUW93SmxNT0U/edit デバッグログ https://docs.google.com/file/d/0BxLaXhL-q50-b1pzbVpIcVNQR2s/エラーログの編集
ありがとう。