My Android App Wont Run!

Started by
4 comments, last by NUCLEAR RABBIT 11 years ago

Hello, I cannot seem to find the problem as to why my app will not launch when I try to debug! I had it working one min and then I tried adding a MusicPlayer object (I deleted it) and ever since then I cannot get my app to launch! I have a feeling it's something in the manifest file, but not 100% sure :|

PLEASE, any help is appreciated!

MainActivity.java


package com.bwall.thenumbergame;

import java.util.Random;

import android.os.Bundle;
import android.app.Activity;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.view.View;

public class MainActivity extends Activity {
	
	// global variables
	int number, compNumber;
	EditText textField;
	TextView result, gameObjective;
	Button button;
	Random rand = new Random(System.nanoTime());
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		// setting views
		textField = (EditText) findViewById(R.id.textField);
		result = (TextView) findViewById(R.id.resultView);
		gameObjective = (TextView) findViewById(R.id.gameObjective);
		button = (Button) findViewById(R.id.submitButton);
		
		// creating computer number
		compNumber = rand.nextInt(10);
		    
		button.setOnClickListener(new View.OnClickListener() {
				
			@Override
			public void onClick(View v) {
				number = Integer.parseInt(textField.getText().toString());
					
				// checks if correct guess
				if(number == compNumber) {
					result.setText("CORRECT! The nummber was " + compNumber);
				} else {
					result.setText("LOL nope. Guess Again.");
				}
			}
		});
	}
}

Splash.java


package com.bwall.thenumbergame;

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

public class Splash extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.splash);
		
		Thread timer = new Thread() {
			public void run() {
				try {
					Thread.sleep(5000);
				} catch(InterruptedException e) {
					e.printStackTrace();
				} finally {
					Intent openMain = new Intent("com.bwall.thenumbergame.MAIN");
					startActivity(openMain);
				}
			}
		};
		timer.start();
	}

	@Override
	protected void onPause() {
		super.onPause();
		finish();
	}
}

TheNumberGameManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bwall.thenumbergame"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.bwall.thenumbergame.Splash"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="com.bwall.thenumbergame.SPLASH" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.bwall.thenumbergame.MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Advertisement

What errors are you getting?

What errors are you getting?

none :/

I updated the manifest file. still doesnt work tho


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.bwall.thenumbergame"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.bwall.thenumbergame.Splash"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="com.bwall.thenumbergame.SPLASH" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.bwall.thenumbergame.MainActivity"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
    </application>

</manifest>

I believe you need to redeclare these in the manifest res folder of your project, I believe the layout folder.:


        // setting views
        textField = (EditText) findViewById(R.id.textField);
        result = (TextView) findViewById(R.id.resultView);
        gameObjective = (TextView) findViewById(R.id.gameObjective);
        button = (Button) findViewById(R.id.submitButton);

R.layout.activity_main

You have an activity_main.xml file that should declare those variables. You can't find what isn't there.


R.layout.activity_main

You have an activity_main.xml file that should declare those variables. You can't find what isn't there.

I dont believe it's something there because if I remove the activity and intent-filter declaration for my Splash class from TheNumberGame Manifest it runs fine. Im trying to have the Splash activity run for 5 seconds then switch to the MainActivity but it wont start if I add this code to the Manifest for some reason, I believe im doing it correctly


<activity
            android:name="com.bwall.thenumbergame.Splash"
            android:label="@string/title_activity_main" >
            <intent-filter>
                <action android:name="com.bwall.thenumbergame.SPLASH" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

I have to change the MainActivity to be the launcher too of course, but still Idk why this code causes it to not run! its just adding aother activity and an intent, right? :(

This topic is closed to new replies.

Advertisement