>

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.



Problema na Aula 2, pegar latitude e longitude


Boa tarde,
estou fazendo o curso android online, na aula 2 testei a aplicação vendas a partir do meu aparelho com android na versão 2.3.6.
a listagem está ok, mas não ta gravando, fiz um debug na aplicação e verifiquei que as variáveis referentes a latitude e longitude estão recebendo valor zero ou seja não esta capturando as coordenadas do meu aparelho, ja fiz teste até com a função gps ligada.
dei as permissões tbm no manifest.xml.


Qual pode ser o problema?

o log gerado foi esse:

09-24 14:23:06.140: D/AndroidRuntime(3162): Shutting down VM
09-24 14:23:06.140: W/dalvikvm(3162): threadid=1: thread exiting with uncaught exception (group=0x40020578)
09-24 14:23:06.250: E/AndroidRuntime(3162): FATAL EXCEPTION: main
09-24 14:23:06.250: E/AndroidRuntime(3162): java.lang.IllegalStateException: Could not execute method of the activity
09-24 14:23:06.250: E/AndroidRuntime(3162): at android.view.View$1.onClick(View.java:2144)
09-24 14:23:06.250: E/AndroidRuntime(3162): at android.view.View.performClick(View.java:2485)
09-24 14:23:06.250: E/AndroidRuntime(3162): at android.view.View$PerformClick.run(View.java:9080)
09-24 14:23:06.250: E/AndroidRuntime(3162): at android.os.Handler.handleCallback(Handler.java:587)
09-24 14:23:06.250: E/AndroidRuntime(3162): at android.os.Handler.dispatchMessage(Handler.java:92)
09-24 14:23:06.250: E/AndroidRuntime(3162): at android.os.Looper.loop(Looper.java:130)
09-24 14:23:06.250: E/AndroidRuntime(3162): at android.app.ActivityThread.main(ActivityThread.java:3687)
09-24 14:23:06.250: E/AndroidRuntime(3162): at java.lang.reflect.Method.invokeNative(Native Method)
09-24 14:23:06.250: E/AndroidRuntime(3162): at java.lang.reflect.Method.invoke(Method.java:507)
09-24 14:23:06.250: E/AndroidRuntime(3162): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867)
09-24 14:23:06.250: E/AndroidRuntime(3162): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625)
09-24 14:23:06.250: E/AndroidRuntime(3162): at dalvik.system.NativeStart.main(Native Method)
09-24 14:23:06.250: E/AndroidRuntime(3162): Caused by: java.lang.reflect.InvocationTargetException
09-24 14:23:06.250: E/AndroidRuntime(3162): at java.lang.reflect.Method.invokeNative(Native Method)
09-24 14:23:06.250: E/AndroidRuntime(3162): at java.lang.reflect.Method.invoke(Method.java:507)
09-24 14:23:06.250: E/AndroidRuntime(3162): at android.view.View$1.onClick(View.java:2139)
09-24 14:23:06.250: E/AndroidRuntime(3162): ... 11 more
09-24 14:23:06.250: E/AndroidRuntime(3162): Caused by: java.lang.NullPointerException
09-24 14:23:06.250: E/AndroidRuntime(3162): at br.com.rlsystem.vendas.NovaVendaActivity.salvar_click(NovaVendaActivity.java:51)
09-24 14:23:06.250: E/AndroidRuntime(3162): ... 14 more



18 Respostas


ola Licinio


vc pode colocar seu codigo aki no post??








olá André,
na verdade não era erro no código, verifiquei nas configurações que o compartilhamento do dispositivo estava desativado, assim que ativei, funcionou.




o mapa esta sendo gerado, da pra aumentar e diminuir o zoom, mas nao aparece imagem, o que ser?




Em qual celular vc ta instalando??






tentei tbm num table AOC breeze android 4.04, a aplicação nem abriu.




olá, o tópico é antigo, mas estou com o mesmo problema, tentando pegar a latitude e longitude e retorna nulo, estou testando num celular android 4.2, a opção acessar minha localização no celular está habilitado porém da erro. nullpointerexception..

código:


public void Salvar_Click(View view){

LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
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);




ola Alex

mas funcionou o mapa no celular??

eu tenho um blog mostrando como é que se faz para pegar o mapa no emulador

andreleonis.blogspot.com.br

e o erro é quando vc instala ou quando vc aperta no salvar??




não é a aula de mapa, é só pra pegar a latitude e longitude e gravar juntos com os dados do produto e preço. o erro é na hora de salvar. da um NullPointerException




veja este topico aqui

http://rlsystem.com.br/forum/android/505-erro-no-mapa-ao-listar-venda#top




o erro é diferente é NullPointerException, nas variaveis 'la' e 'lo' da aula 2 do android online, classe NovaVendaActivity..


LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
String provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);

la = location.getLatitude();
lo = location.getLongitude();


erro:
05-28 19:30:15.406: E/AndroidRuntime(12250): Caused by: java.lang.NullPointerException
05-28 19:30:15.406: E/AndroidRuntime(12250): at br.com.rlsystem.vendas.NovaVendaActivity.Salvar_Click(NovaVendaActivity.java:58)
05-28 19:30:15.406: E/AndroidRuntime(12250): ... 15 more




veja este topico aqui

http://rlsystem.com.br/forum/buscar/545-erro-ao-tentar-pegar-latitude-e-longitude#top




fiz um debug




mesmo em um emulador 4.0 que criei aq não pega a latitude e longitude




Para evitar perca de desenvolvimento, procure pontos de latitude e longitude na internet e insira esses valores via código/programação e faça os testes no emulador. Caso contrário só testando com um celular físico




olha tem no meu blog

como instalar o emulador genymotion

q é pra mim o emulador mais rápido

e como fazer o mapa funcionar no emulador

veja

andreleonis.blogspot.com.br