>

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.



Erro ao cadastrar nova venda - Curso Android


Bom dia, tudo bem ?

NA Hora de cadastrar uma nova venda, a parte para pegar a Latitude e Longitude está dando erro, se eu seto esse campo como zero está cadastrando normal. Dei permissão no AndroidManifest normal, mas mesmo assim está dando erro, estou usando o emulador do Android Studio.

Obrigado
Lucas


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();

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", lo);
ctv.put("lo", la);

if(db.insert("vendas2", "_id", ctv) > 0){
Toast.makeText(getBaseContext(), "Venda Realizada com Sucesso", Toast.LENGTH_SHORT).show();
finish();
} else {
Toast.makeText(getBaseContext(), "Erro ao Realizar Venda", Toast.LENGTH_SHORT).show();
}

}

O Logcat:
06-27 11:55:43.673 6338-6338/com.example.lucas.vendas E/AndroidRuntime? FATAL EXCEPTION: main
Process: com.example.lucas.vendas, PID: 6338
java.lang.IllegalStateException: Could not execute method of the activity
at android.view.View$1.onClick(View.java:3823)
at android.view.View.performClick(View.java:4438)
at android.view.View$PerformClick.run(View.java:18422)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
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:515)
at android.view.View$1.onClick(View.java:3818)
            at android.view.View.performClick(View.java:4438)
            at android.view.View$PerformClick.run(View.java:18422)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.example.lucas.vendas.NovaVandaActivity.Salvar_Click(NovaVandaActivity.java:53)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at android.view.View$1.onClick(View.java:3818)
            at android.view.View.performClick(View.java:4438)
            at android.view.View$PerformClick.run(View.java:18422)
            at android.os.Handler.handleCallback(Handler.java:733)
            at android.os.Handler.dispatchMessage(Handler.java:95)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5017)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
            at dalvik.system.NativeStart.main(Native Method)



5 Respostas


Ola Lucas

tente ver no meu blog como utilizar o mapa pelo emulador genymotion

andreleonis.blogspot.com.br




Estou tendo problema no mesmo lugar, se eu seto o valor do "la" e do "lo" pra zero roda certinho.
Estou usando o eclipse, testei no meu celular também e não funciona.
Qual o problema??


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();

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);

if(db.insert("vendas", "_id", ctv) > 0){
Toast.makeText(getBaseContext(), "Sucesso", Toast.LENGTH_LONG).show();
}
}




veja esse topico aqui

http://rlsystem.com.br/forum/buscar/546-pegando-o-mesmo-lugar-em-la-e-lo-novavendaactivity




Nicholas,

Infelizmente esses cursos de android estão mal formulados, com pouco dinamismo e exemplo, tente pesquisar mais no google e achar uma didática mais atual e atualizada.

Esse curso de Android serve só para o básico...




E um adendo ao post anterior.

Nicholas, não copie do exemplo do professor, use como base e tente você mesmo desenvolver. Só assim irá aprender e achar outros meios de fazer ;)