>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



Curso Jogo da Velha Android- erro ao emular


Estou tentando emular o inicio do jogo da vela no Android Studio (versão 2.1.2 no Ubunut 16.10 64bits), mas, ele abre o emulador e na hora do aplicativo rodar, aparece uma mensagem no emulador: "Unfortunaely, JogodaVelha was stopped"
E no log do erro aparece:

06-18 21:35:24.306 2463-2463/com.example.marcos.jogodavelha W/System: ClassLoader referenced unknown path: /data/app/com.example.marcos.jogodavelha-2/lib/x86_64
06-18 21:35:27.499 2463-2463/com.example.marcos.jogodavelha W/System: ClassLoader referenced unknown path: /data/app/com.example.marcos.jogodavelha-2/lib/x86_64
06-18 21:35:27.578 2463-2463/com.example.marcos.jogodavelha W/art: Before Android 4.1, method android.graphics.PorterDuffColorFilter android.support.graphics.drawable.VectorDrawableCompat.updateTintFilter(android.graphics.PorterDuffColorFilter, android.content.res.ColorStateList, android.graphics.PorterDuff$Mode) would have incorrectly overridden the package-private method in android.graphics.drawable.Drawable
06-18 21:35:27.582 2463-2463/com.example.marcos.jogodavelha D/AndroidRuntime: Shutting down VM


--------- beginning of crash
06-18 21:35:27.583 2463-2463/com.example.marcos.jogodavelha E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.marcos.jogodavelha, PID: 2463
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.marcos.jogodavelha/com.example.marcos.jogodavelha.GameActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.design.widget.FloatingActionButton.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
at android.app.ActivityThread.-wrap11(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.design.widget.FloatingActionButton.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
at com.example.marcos.jogodavelha.GameActivity.onCreate(GameActivity.java:22)
at android.app.Activity.performCreate(Activity.java:6237)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
at android.app.ActivityThread.-wrap11(ActivityThread.java) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
at android.os.Handler.dispatchMessage(Handler.java:102) 
at android.os.Looper.loop(Looper.java:148) 
at android.app.ActivityThread.main(ActivityThread.java:5417) 
at java.lang.reflect.Method.invoke(Native Method) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) "


Meu código da Game_activity


SEU CODIGO AQUI
package com.example.marcos.jogodavelha;

import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;

public class GameActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_game);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_game, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}

return super.onOptionsItemSelected(item);
}
}

SEU CODIGO AQUI


E da content_game.xml

SEU CODIGO AQUI

xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.marcos.jogodavelha.GameActivity"
android:orientation="vertical">

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Jogo da Velha"
android:id="@+id/textView"/>

android:layout_width="match_parent"
android:layout_height="match_parent"
android:stretchColumns="0,1,2"
>


android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40dp"
/>
android:id="@+id/btn2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40dp"
/>
android:id="@+id/btn3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40dp"
/>



android:id="@+id/btn4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40dp"
/>
android:id="@+id/btn5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40dp"
/>
android:id="@+id/btn6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40dp"
/>



android:id="@+id/btn7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40dp"
/>
android:id="@+id/btn8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40dp"
/>
android:id="@+id/btn9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40dp"
/>







SEU CODIGO AQUI


O que pode estar acontecendo ? Eu consigo emular outros apps
Obrigado e sucesso



2 Respostas


Obrigado.
Já achei onde estava o problema
Apaguei os seguintes blocos de código do game_activity


SEU CODIGO AQUI

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});

SEU CODIGO AQUI


E salvei.
Coloquei para rodar e funcionou.
O problema é que havia retirado o toolbar e deixei as linhas abaixo. Estava dando erro void android.support.design.widget.FloatingActionButton.setOnClickListener(android.view.View$OnClickListener)' on a null object reference

Obrigado e sucesso a todos




O professor havia ensinado, mas, eu tinha apagado somente até uma parte. Desatenção :(
Obrigado professor