Java错误,应用程序崩溃,(包裹大小=10722432)
我目前正在制作一个TictaToe应用程序,由于我的一个功能已经变得非常庞大,我决定将它放到另一个类中。该应用程序以前工作过,但现在当我想在手机上启动该应用程序时,它会立即崩溃。这是我得到的错误: 错误报告崩溃 android.os TransactionTooLargeException:数据包大小10722432字节 这是我的MainActivity.javaJava错误,应用程序崩溃,(包裹大小=10722432),java,android,class,Java,Android,Class,我目前正在制作一个TictaToe应用程序,由于我的一个功能已经变得非常庞大,我决定将它放到另一个类中。该应用程序以前工作过,但现在当我想在手机上启动该应用程序时,它会立即崩溃。这是我得到的错误: 错误报告崩溃 android.os TransactionTooLargeException:数据包大小10722432字节 这是我的MainActivity.java package de.lucbe.tictactoe; import android.support.v7.app.AppComp
package de.lucbe.tictactoe;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
Button[] buttons = new Button[9];
int turn = 0;
boolean isTurnCircle = false;
int i;
boolean gameIsRunning = true;
TextView textView;
TicTacToe ttt = new TicTacToe();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
for(i = 0;i < buttons.length; i++){
String buttonID = "button" + i;
int resID = getResources().getIdentifier(buttonID, "id", getPackageName());
buttons[i] = ((Button) findViewById(resID));
buttons[i].setOnClickListener(this);
}
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button0:
ttt.ticTacToe(0);
break;
case R.id.button1:
ttt.ticTacToe(1);
break;
case R.id.button2:
ttt.ticTacToe(2);
break;
case R.id.button3:
ttt.ticTacToe(3);
break;
case R.id.button4:
ttt.ticTacToe(4);
break;
case R.id.button5:
ttt.ticTacToe(5);
break;
case R.id.button6:
ttt.ticTacToe(6);
break;
case R.id.button7:
ttt.ticTacToe(7);
break;
case R.id.button8:
ttt.ticTacToe(8);
break;
}
}
}
package de.lucbe.tictactoe;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.TextView;
公共类MainActivity扩展AppCompatActivity实现View.OnClickListener{
按钮[]按钮=新按钮[9];
整圈=0;
布尔值isTurnCircle=false;
int i;
布尔gamesrunning=true;
文本视图文本视图;
TicTacToe ttt=新的TicTacToe();
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=(textView)findViewById(R.id.textView);
对于(i=0;i
这是我的TicTacToe.java
package de.lucbe.tictactoe;
import android.widget.Button;
import android.widget.TextView;
public class TicTacToe {
MainActivity MA = new MainActivity();
boolean gameIsRunning = MA.gameIsRunning;
boolean isTurnCircle = MA.isTurnCircle;
int turn = MA.turn;
Button[] buttons = MA.buttons;
TextView textView = MA.textView;
public void ticTacToe(int id){
if(gameIsRunning){
if(turn < 9){
if(isTurnCircle){
buttons[id].setText("o");
isTurnCircle = false;
}else if(!isTurnCircle){
buttons[id].setText("x");
isTurnCircle = true;
}
turn++;
buttons[id].setEnabled(false);
}
if(buttons[0].getText() == "x" && buttons[1].getText() == "x" && buttons[2].getText() == "x"){
textView.setText("x hat gewonnen");
gameIsRunning = false;
}else if(buttons[3].getText() == "x" && buttons[4].getText() == "x" && buttons[5].getText() == "x"){
textView.setText("x hat gewonnen");
gameIsRunning = false;
}else if(buttons[6].getText() == "x" && buttons[7].getText() == "x" && buttons[8].getText() == "x"){
textView.setText("x hat gewonnen");
gameIsRunning = false;
}else if(buttons[0].getText() == "x" && buttons[3].getText() == "x" && buttons[6].getText() == "x"){
textView.setText("x hat gewonnen");
gameIsRunning = false;
}else if(buttons[1].getText() == "x" && buttons[4].getText() == "x" && buttons[7].getText() == "x"){
textView.setText("x hat gewonnen");
gameIsRunning = false;
}else if(buttons[2].getText() == "x" && buttons[5].getText() == "x" && buttons[8].getText() == "x"){
textView.setText("x hat gewonnen");
gameIsRunning = false;
}else if(buttons[0].getText() == "x" && buttons[4].getText() == "x" && buttons[8].getText() == "x"){
textView.setText("x hat gewonnen");
gameIsRunning = false;
}else if(buttons[2].getText() == "x" && buttons[4].getText() == "x" && buttons[6].getText() == "x"){
textView.setText("x hat gewonnen");
gameIsRunning = false;
}
if(buttons[0].getText() == "o" && buttons[1].getText() == "o" && buttons[2].getText() == "o"){
textView.setText("o hat gewonnen");
gameIsRunning = false;
}else if(buttons[3].getText() == "o" && buttons[4].getText() == "o" && buttons[5].getText() == "o"){
textView.setText("o hat gewonnen");
gameIsRunning = false;
}else if(buttons[6].getText() == "o" && buttons[7].getText() == "o" && buttons[8].getText() == "o"){
textView.setText("o hat gewonnen");
gameIsRunning = false;
}else if(buttons[0].getText() == "o" && buttons[3].getText() == "o" && buttons[6].getText() == "o"){
textView.setText("o hat gewonnen");
gameIsRunning = false;
}else if(buttons[1].getText() == "o" && buttons[4].getText() == "o" && buttons[7].getText() == "o"){
textView.setText("o hat gewonnen");
gameIsRunning = false;
}else if(buttons[2].getText() == "o" && buttons[5].getText() == "o" && buttons[8].getText() == "o"){
textView.setText("o hat gewonnen");
gameIsRunning = false;
}else if(buttons[0].getText() == "o" && buttons[4].getText() == "o" && buttons[8].getText() == "o"){
textView.setText("o hat gewonnen");
gameIsRunning = false;
}else if(buttons[2].getText() == "o" && buttons[4].getText() == "o" && buttons[6].getText() == "o"){
textView.setText("o hat gewonnen");
gameIsRunning = false;
}
if(turn == 9){
textView.setText("Game over!");
}
}
}
package de.lucbe.tictactoe;
导入android.widget.Button;
导入android.widget.TextView;
公共类Tictatcoe{
MainActivity MA=新的MainActivity();
布尔gameIsRunning=MA.gameIsRunning;
布尔值isTurnCircle=MA.isTurnCircle;
整圈=毫安圈;
按钮[]按钮=MA按钮;
TextView TextView=MA.TextView;
公共空间(内部id){
如果(游戏运行){
如果(转弯<9){
如果(isTurnCircle){
按钮[id].setText(“o”);
isTurnCircle=false;
}如果(!isTurnCircle),则为else{
按钮[id].setText(“x”);
isTurnCircle=true;
}
turn++;
按钮[id].setEnabled(假);
}
如果(按钮[0]。getText()=“x”&&buttons[1]。getText()=“x”&&buttons[2]。getText()=“x”){
setText(“x hat gewonnen”);
gameIsRunning=false;
}else if(按钮[3]。getText()=“x”&&buttons[4]。getText()=“x”&&buttons[5]。getText()=“x”){
setText(“x hat gewonnen”);
gameIsRunning=false;
}else if(按钮[6]。getText()=“x”&&buttons[7]。getText()=“x”&&buttons[8]。getText()=“x”){
setText(“x hat gewonnen”);
gameIsRunning=false;
}else if(按钮[0]。getText()==“x”&&buttons[3]。getText()==“x”&&buttons[6]。getText()==“x”){
setText(“x hat gewonnen”);
gameIsRunning=false;
}else if(按钮[1]。getText()=“x”&&buttons[4]。getText()=“x”&&buttons[7]。getText()=“x”){
setText(“x hat gewonnen”);
gameIsRunning=false;
}else if(按钮[2]。getText()=“x”&&buttons[5]。getText()=“x”&&buttons[8]。getText()=“x”){
setText(“x hat gewonnen”);
gameIsRunning=false;
}else if(按钮[0]。getText()=“x”&&buttons[4]。getText()=“x”&&buttons[8]。getText()=“x”){
setText(“x hat gewonnen”);
gameIsRunning=false;
}else if(按钮[2]。getText()=“x”&&buttons[4]。getText()=“x”&&buttons[6]。getText()=“x”){
setText(“x hat gewonnen”);
gameIsRunning=false;
}
如果(按钮[0]。getText()=“o”&&buttons[1]。getText()=“o”&&buttons[2]。getText()=“o”){
setText(“o hat gewonnen”);
gameIsRunning=false;
}else if(按钮[3]。getText()=“o”&&buttons[4]。getText()=“o”&&buttons[5]。getText()=“o”){
setText(“o hat gewonnen”);
gameIsRunning=false;
}else if(按钮[6]。getText()=“o”&&buttons[7]。getText()=“o”&&buttons[8]。getText()=“o”){
setText(“o hat gewonnen”);
gameIsRunning=false;
}else if(按钮[0]。getText()=“o”&&buttons[3]。getText()=“o”&&buttons[6]。getText()=“o”){
setText(“o hat gewonnen”);
gameIsRunning=false;
}else if(按钮[1]。getText()=“o”&&buttons[4]。getText()=“o”&&buttons[7]。getText()=“o”){
setText(“o hat gewonnen”);
gameIsRunning=false;
}else if(按钮[2]。getText()=“o”&&buttons[5]。getText()=“o”&&buttons[8]。getText()=“o”){
setText(“o hat gewonnen”);
gameIsRunning=false;
}else if(按钮[0]。getText()=“o”&&buttons[4]。getText()=“o”&&buttons[8]。getText()=“o”){
setText(“o hat gewonnen”);
gameIsRunning=false;
}else if(按钮[2]。getText()=“o”&&buttons[4]。getText()=“o”&&buttons[6]。getText()=“o”){
setText(“o hat gewonnen”);
MainActivity MA = new MainActivity();