>
Olá pessoal, sou novo aqui no fórum, e estou com um pequeno problema, acredito eu. Estou fazendo o curso de Android, e na aula de cadastro de vendas usando o google maps, ao tentar cadastrar uma nova venda clicando no botão "salvar", aparece a mensagem Unfortunately, vendas has stopped. Alguém poderia me ajudar por favor.
Ola Pablo ...
mostre seu codigo??
Estou com o mesmo problema. segue me código:
NovaVendaActivity.xml
package com.example.renatosouza.vendas_rlsystem;
/**
* Created by Renato.Souza on 30/12/2014.
*/
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteCursor;
import android.database.sqlite.SQLiteDatabase;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;
public class NovaVendaActivity extends ActionBarActivity implements LocationListener {
private double la;
private double lo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nova_venda);
//Recupera o Spinner
Spinner spProdutos = (Spinner)findViewById(R.id.spProdutos);
//Conecta ao banco
SQLiteDatabase db = openOrCreateDatabase("vendas.db", Context.MODE_PRIVATE, null);
//Executa a pesquina no banco
Cursor cursor = db.rawQuery("SELECT * FROM produtos ORDER BY nome ASC", null);
//Pega o resultado da pesquisa no banco
String[] from = {"_id", "nome","preco"};
int[] to = {R.id.txvid, R.id.txvNome, R.id.txvpreco};
//Joga os dados no spinner
SimpleCursorAdapter ad = new SimpleCursorAdapter(getBaseContext(), R.layout.spinner, cursor, from, to );
spProdutos.setAdapter(ad);
db.close();
}
public void Salvar_Click(View view){
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
String provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
la = location.getLatitude();
lo = location.getLongitude();
//Conecta ao banco
SQLiteDatabase db = openOrCreateDatabase("vendas.db", Context.MODE_PRIVATE, null);
Spinner spProdutos = (Spinner)findViewById(R.id.spProdutos);
SQLiteCursor dados = (SQLiteCursor)spProdutos.getAdapter().getItem(spProdutos.getSelectedItemPosition());
ContentValues ctv = new ContentValues();
ctv.put("produto", dados.getInt(0));
ctv.put("preco", dados.getDouble(2));
ctv.put("la", la);
ctv.put("lo", lo);
db.insert("vendas", "_id", ctv);
}
@Override
public void onLocationChanged(Location location) {
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
public void onProviderDisabled(String provider) {
}
}
Ola Renato
vc ta usando o celular para rodar a aplicacao??
e tambem poste o erro gerado
Olá, estou usando o emulador versão superior a 4.2.2 e também o Android Studio e não o Eclipse, tem algum problema nisso será?
Tentei rodar no celular, mas ele não aparece e quando rodo o screencast para compartilhar a tela o java bloqueia, sabe como desbloqueio isso, uso o java 8 sdk e
Segue código gerado pelo debug do Android Studio.
12-31 11:17:53.234 850-850/com.example.renatosouza.vendas_rlsystem E/AndroidRuntime%uFE55 FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:3599)
at android.view.View.performClick(View.java:4204)
at android.view.View$PerformClick.run(View.java:17355)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at android.view.View$1.onClick(View.java:3594)
at android.view.View.performClick(View.java:4204)
at android.view.View$PerformClick.run(View.java:17355)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: invalid provider: null
at android.location.LocationManager.checkProvider(LocationManager.java:1594)
at android.location.LocationManager.getLastKnownLocation(LocationManager.java:1138)
at com.example.renatosouza.vendas_rlsystem.NovaVendaActivity.Salvar_Click(NovaVendaActivity.java:53)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at android.view.View$1.onClick(View.java:3594)
at android.view.View.performClick(View.java:4204)
at android.view.View$PerformClick.run(View.java:17355)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Ola Renato...
vc pode usar o android studio para fazer o curso
o android studio se tornou a ide oficial da google
tente colocar alguns log cat la no botao salvar p poder a gente ver onde esta o erro
Andre, como faço para colocar esse log cat no botao salvar?
Sou novato e não entendo muito.
Valeu
Andre, o logcat que você mencionou pra eu colocar. Seria marcar a bolinha vermelha ao lado de cada linha que quero debugar?
Abs
Esse foi o log gerado:
01-02 12:02:29.701 995-995/com.example.renatosouza.vendas_rlsystem I/Choreographer%uFE55 Skipped 48 frames! The application may be doing too much work on its main thread.
01-02 12:02:31.312 995-995/com.example.renatosouza.vendas_rlsystem I/Choreographer%uFE55 Skipped 117 frames! The application may be doing too much work on its main thread.
01-02 12:02:32.842 995-1000/com.example.renatosouza.vendas_rlsystem D/dalvikvm%uFE55 GC_CONCURRENT freed 110K, 8% free 2876K/3108K, paused 69ms 148ms, total 1240ms
01-02 12:02:34.662 995-995/com.example.renatosouza.vendas_rlsystem D/AndroidRuntime%uFE55 Shutting down VM
01-02 12:02:34.662 995-995/com.example.renatosouza.vendas_rlsystem W/dalvikvm%uFE55 threadid=1: thread exiting with uncaught exception (group=0x40a71930)
01-02 12:02:34.752 995-995/com.example.renatosouza.vendas_rlsystem E/AndroidRuntime%uFE55 FATAL EXCEPTION: main
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:3599)
at android.view.View.performClick(View.java:4204)
at android.view.View$PerformClick.run(View.java:17355)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at android.view.View$1.onClick(View.java:3594)
at android.view.View.performClick(View.java:4204)
at android.view.View$PerformClick.run(View.java:17355)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.IllegalArgumentException: invalid provider: null
at android.location.LocationManager.checkProvider(LocationManager.java:1594)
at android.location.LocationManager.getLastKnownLocation(LocationManager.java:1138)
at com.example.renatosouza.vendas_rlsystem.NovaVendaActivity.Salvar_Click(NovaVendaActivity.java:53)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at android.view.View$1.onClick(View.java:3594)
at android.view.View.performClick(View.java:4204)
at android.view.View$PerformClick.run(View.java:17355)
at android.os.Handler.handleCallback(Handler.java:725)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5041)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
at dalvik.system.NativeStart.main(Native Method)
01-02 12:02:37.872 995-995/com.example.renatosouza.vendas_rlsystem I/Process%uFE55 Sending signal. PID: 995 SIG: 9
device not found
Segue download do meu projeto: https://sendspace.com/file/0bjdr5
Fiz igual o Rafael mostra no curso, não estou entendo o erro.
Ele diz que posso rodar num emulador com android superior ao 4 e estou rodando no 4.1
Ola Renato
segue um link http://rlsystem.com.br/forum/android/814-localizacao-do-celular#top
vai resolver seu problema
e para entender o logcat
segue um outro link
http://andreleonis.blogspot.com.br/2015/01/log-cat.html
Valeu Andre. Vou testar e posto o resultado.
VALEUUUUU