我今天一直在研究这个应用程序,我似乎无法弄清楚代码有什么问题。
当我检查时,没有语法错误。但是当我尝试运行并调试它时,它会说
"Source not found" on "ActivityThread.performLaunchActivity(ActivityThread$ActivityClientRecord, Intent) line: 2106`
它为我提供了选择其他路径的选项,但唯一可用的路径是默认设置。我编码错了吗?我该怎么做才能解决这个问题?
这是logcat:
12-20 22:12:29.722: I/System.out(1518): debugger has settled (1479)
12-20 22:12:30.172: W/Trace(1518): Unexpected value from nativeGetEnabledTags: 0
12-20 22:12:30.222: W/Trace(1518): Unexpected value from nativeGetEnabledTags: 0
下面是控制台错误:
[2012-12-20 17:19:45 - rockPaperScissorLizardSpock] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.example.rockpaperscissorlizardspock/.MainActivity }
[2012-12-20 17:19:45 - rockPaperScissorLizardSpock] ActivityManager: Warning: Activity not started, its current task has been brought to the front
这是我的源文件:
package com.example.rockpaperscissorlizardspock;
import java.util.Random;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import android.view.View.OnClickListener;
public class rockpaperscissorlizardspock extends Activity {
/** Called when the activity is first created. */
private TextView resultText;
private Button play, reset;
private ImageButton scissors, paper, rock, lizard, spock;
private int paperimg, paper_pressedimg, scissorsimg, scissors_pressedimg, rockimg, rock_pressedimg, lizardimg, lizard_pressedimg, spockimg, spock_pressedimg;
private ImageView compSciss, compPaper, compRock, compLiz, compSpock;
Random rand = new Random();
int compChoice = 0;
String pChoice ="";
String cChoice = "";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Initialize();
}
/** initialize all of the components*/
private void Initialize()
{
play = (Button) findViewById(R.id.button1);
reset = (Button) findViewById(R.id.button2);
resultText = (TextView) findViewById(R.id.resultText);
lizard = (ImageButton) findViewById(R.id.imageButton4);
spock = (ImageButton) findViewById(R.id.imageButton5);
scissors = (ImageButton) findViewById(R.id.imageButton3);
paper = (ImageButton) findViewById(R.id.imageButton2);
rock = (ImageButton) findViewById(R.id.imageButton1);
compSciss = (ImageView) findViewById(R.id.computerScissors);
compPaper = (ImageView) findViewById(R.id.computerPaper);
compRock = (ImageView) findViewById(R.id.computerRock);
spockimg = R.raw.spock;
spock_pressedimg = R.raw.spock_pressed;
lizardimg = R.raw.lizard;
lizard_pressedimg = R.raw.lizard_pressed;
paperimg = R.raw.paper;
paper_pressedimg = R.raw.paper_pressed;
scissorsimg = R.raw.scissors;
scissors_pressedimg = R.raw.scissors_pressed;
rockimg = R.raw.rock1;
rock_pressedimg = R.raw.rock1_pressed;
/**set the button Listeners*/
play.setOnClickListener(new OnClickListener(){
public void onClick(View arg0){
play();
}
});
reset.setOnClickListener(new OnClickListener(){
public void onClick(View arg0){
paper.setImageResource(paperimg);
rock.setImageResource(rockimg);
scissors.setImageResource(scissorsimg);
lizard.setImageResource(lizardimg);
spock.setImageResource(spockimg);
compPaper.setImageResource(paperimg);
compRock.setImageResource(rockimg);
compSciss.setImageResource(scissorsimg);
compLiz.setImageResource(lizardimg);
compSpock.setImageResource (spockimg);
pChoice = "";
cChoice = "";
play.setEnabled(false);
reset.setEnabled(true);
scissors.setEnabled(true);
paper.setEnabled(true);
rock.setEnabled(true);
lizard.setEnabled(true);
spock.setEnabled(true);
resultText.setText("");
}
});
/*
* Declaring what happens when specific choices are made.
*/
scissors.setOnClickListener(new OnClickListener(){
public void onClick(View arg0){
scissors.setImageResource(scissors_pressedimg);
paper.setImageResource(paperimg);
rock.setImageResource(rockimg);
spock.setImageResource(spockimg);
lizard.setImageResource(lizardimg);
pChoice = "S";
play.setEnabled(true);
}
});
paper.setOnClickListener(new OnClickListener(){
public void onClick(View arg0){
paper.setImageResource(paper_pressedimg);
scissors.setImageResource(scissorsimg);
spock.setImageResource(spockimg);
rock.setImageResource(rockimg);
lizard.setImageResource(lizardimg);
pChoice = "P";
play.setEnabled(true);
}
});
rock.setOnClickListener(new OnClickListener(){
public void onClick(View arg0){
rock.setImageResource(rock_pressedimg);
scissors.setImageResource(scissorsimg);
paper.setImageResource(paperimg);
spock.setImageResource(spockimg);
lizard.setImageResource(lizardimg);
pChoice = "R";
play.setEnabled(true);
}
});
lizard.setOnClickListener(new OnClickListener(){
public void onClick(View arg0){
lizard.setImageResource(lizard_pressedimg);
spock.setImageResource(spockimg);
rock.setImageResource(rockimg);
scissors.setImageResource(scissorsimg);
paper.setImageResource(paperimg);
pChoice = "L";
play.setEnabled(true);
}
});
spock.setOnClickListener(new OnClickListener(){
public void onClick(View arg0){
spock.setImageResource(spock_pressedimg);
lizard.setImageResource(lizardimg);
rock.setImageResource(rockimg);
scissors.setImageResource(scissorsimg);
paper.setImageResource(paperimg);
pChoice = "SP";
play.setEnabled(true);
}
});
}
/**The method that chooses the computer's move and compares
* to the player's move.
*/
public void play()
{
compChoice = rand.nextInt(5);
if(compChoice == 0)
{
cChoice = "R";
compRock.setImageResource(rock_pressedimg);
}
else if(compChoice == 1){
cChoice = "P";
compPaper.setImageResource(paper_pressedimg);
}
else if(compChoice == 2)
{
cChoice = "S";
compSciss.setImageResource(scissors_pressedimg);
}
else if(compChoice == 3)
{
cChoice = "L";
compLiz.setImageResource(lizard_pressedimg);
}
else if(compChoice == 4)
{
cChoice = "SP";
compSpock.setImageResource(spock_pressedimg);
}
check();
}
/**
* Compares the Computer's and the Player's moves.
*/
public void check()
{
if(pChoice == "R") //Rock
{
if(cChoice == "R")
resultText.setText("Draw");
else if(cChoice == "P")
resultText.setText("You Lose");
else if(cChoice == "S")
resultText.setText("You Win");
else if(cChoice == "L")
resultText.setText("You Win");
else if(cChoice == "SP")
resultText.setText("You Lose");
}
else if(pChoice == "P") //Paper
{
if(cChoice == "R")
resultText.setText("You Win");
else if(cChoice == "P")
resultText.setText("Draw");
else if(cChoice == "S")
resultText.setText("You Lose");
else if(cChoice == "SP")
resultText.setText("You Win");
else if(cChoice == "L")
resultText.setText("You Lose");
}
else if(pChoice == "S") //Scissors
{
if(cChoice == "R")
resultText.setText("You Lose");
else if(cChoice == "P")
resultText.setText("You Win");
else if(cChoice == "S")
resultText.setText("Draw");
else if(cChoice == "L")
resultText.setText("You Win");
else if(cChoice == "SP")
resultText.setText("You Lose");
}
else if(pChoice == "L") //Lizard
{
if(cChoice == "R")
resultText.setText("You Lose");
else if(cChoice == "L")
resultText.setText("Draw");
else if(cChoice == "SP")
resultText.setText("You Win");
else if(cChoice == "S")
resultText.setText("You Lose");
else if(cChoice == "P")
resultText.setText("You Win");
}
else if(pChoice == "SP") //Spock
{
if(cChoice == "SP")
resultText.setText("Draw");
else if(cChoice == "L")
resultText.setText("You Lose");
else if(cChoice == "S")
resultText.setText("You Win");
else if(cChoice == "P")
resultText.setText("You Lose");
else if(cChoice == "R")
resultText.setText("You Win");
}
gameOver();
}
/**
* Runs at the end of each round. Disables all of the buttons
* except for the reset button.
*/
public void gameOver()
{
play.setEnabled(false);
scissors.setEnabled(false);
rock.setEnabled(false);
paper.setEnabled(false);
spock.setEnabled(false);
lizard.setEnabled(false);
reset.setEnabled(true);
}
答案 0 :(得分:3)
听起来您需要将活动添加到AndroidManifest.xml中。它看起来像这样,位于清单的“应用程序”部分。您可以阅读此页面以获取更多信息:http://developer.android.com/guide/topics/manifest/manifest-intro.html
这是一个例子:
<activity
android:name=".rockpaperscissorlizardspock"
android:label="@string/app_name"
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>