>

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 no Mapa ao listar venda


Olá, aparecem os seguintes erros ao listar a venda . .estou acompanhando a aula 4.
Verifiquei os códigos e estão todos ok .. alguém pode ajudar?

12-11 20:50:27.734: E/AndroidRuntime(11017): FATAL EXCEPTION: main
12-11 20:50:27.734: E/AndroidRuntime(11017): java.lang.NoClassDefFoundError: br.com.dannydantasn.vendas.MapShowActivity
12-11 20:50:27.734: E/AndroidRuntime(11017): at br.com.dannydantasn.vendas.ListarVendasActivity$1.onItemClick(ListarVendasActivity.java:46)
12-11 20:50:27.734: E/AndroidRuntime(11017): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
12-11 20:50:27.734: E/AndroidRuntime(11017): at android.widget.ListView.performItemClick(ListView.java:3763)
12-11 20:50:27.734: E/AndroidRuntime(11017): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1936)
12-11 20:50:27.734: E/AndroidRuntime(11017): at android.os.Handler.handleCallback(Handler.java:587)
12-11 20:50:27.734: E/AndroidRuntime(11017): at android.os.Handler.dispatchMessage(Handler.java:92)
12-11 20:50:27.734: E/AndroidRuntime(11017): at android.os.Looper.loop(Looper.java:123)
12-11 20:50:27.734: E/AndroidRuntime(11017): at android.app.ActivityThread.main(ActivityThread.java:3687)
12-11 20:50:27.734: E/AndroidRuntime(11017): at java.lang.reflect.Method.invokeNative(Native Method)
12-11 20:50:27.734: E/AndroidRuntime(11017): at java.lang.reflect.Method.invoke(Method.java:507)
12-11 20:50:27.734: E/AndroidRuntime(11017): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
12-11 20:50:27.734: E/AndroidRuntime(11017): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
12-11 20:50:27.734: E/AndroidRuntime(11017): at dalvik.system.NativeStart.main(Native Method)



59 Respostas


ola daniele ,

poste seu codigo aki....




MapShowActivity

package br.com.dannydantasn.vendas;

import android.content.Intent;
import android.os.Bundle;
import br.com.dannydantasn.vendas.R;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;

public class MapShowActivity extends MapActivity{

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapa);

MapView map = (MapView)findViewById(R.id.map);

map.setBuiltInZoomControls(true);
map.displayZoomControls(true);

Intent it = getIntent();

int latitude = (int)(it.getDoubleExtra("latitude", 0)*1E6);
int longitude = (int)(it.getDoubleExtra("longitude", 0)*1E6);

MapController mc = map.getController();

mc.animateTo(new GeoPoint(latitude, longitude));
mc.setZoom(30);
map.invalidate();
}


@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}

}

ListarVendasActivity

package br.com.dannydantasn.vendas;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteCursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import br.com.dannydantasn.vendas.R;

public class ListarVendasActivity extends Activity{

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listar_vendas);

SQLiteDatabase db = openOrCreateDatabase("vendas.db", Context.MODE_PRIVATE, null);

ListView ltwVendas = (ListView)findViewById(R.id.ltwVendas);


Cursor cursor = db.rawQuery("SELECT vendas._id, vendas.preco, vendas.la, vendas.lo, produtos.nome FROM vendas INNER JOIN produtos on produtos._id = vendas.produto", null);

/* String[] from = { "_id", "preco", "nome", "la", "lo"};
int[] to = {R.id.txvID, R.id.txvPreco, R.id.txvNome, R.id.txvLa, R.id.txvLo};*/

String[] from = { "_id", "preco", "nome", "la", "lo"};
int[] to = {R.id.txvlID, R.id.txvlPreco, R.id.txvlNome, R.id.txvLa, R.id.txvLo};

SimpleCursorAdapter ad = new SimpleCursorAdapter(getBaseContext(), R.layout.model_listar, cursor, from, to);

ltwVendas.setAdapter(ad);

ltwVendas.setOnItemClickListener(new AdapterView.OnItemClickListener() {

public void onItemClick(AdapterView ad, View v,
int position, long id) {

SQLiteCursor c = (SQLiteCursor)ad.getAdapter().getItem(position);
Intent it = new Intent(getBaseContext(), MapShowActivity.class);
it.putExtra("latitude", c.getDouble(c.getColumnIndex("la")));
it.putExtra("longitude", c.getDouble(c.getColumnIndex("lo")));
startActivity(it);
}
});



}
}






Daniele

Pode haver duas coisas.

Certifique-se de ter definido todas as suas classes Atividade em classe AndroidManifest.xml.

Certifique-se de que você está compilando seu projeto Android utilizando "APIs do Google" em vez de "Android 2.x," Se você compilar usando o Google APIs só então ele vai adicionar classes do Google Maps.




Criei o projeto com APIs Google e não com Android 2.2. Também segui os passos da aula 10 para instalar Google Play Services no meu projeto
Estou compilando minha aplicação direto em um cel galaxy S com adnroid 2.3, o problema é só quando vai mostrar o mapa mesmo.

Segue meu manisfest.


package="br.com.dannydantasn.vendas"
android:versionCode="1"
android:versionName="1.0" >

android:name="br.com.dannydantasn.vendas.MAPS_RECEIVE"
android:protectionLevel="signature"/>












android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:name=".MainActivity"
android:label="@string/app_name" >











android:value="AIzaSyB0sNMUQ_Lp_6kWwbOaN2S6i_uLbd5X_ck" />







ficou tudo torto rsrs desculpe






kd MapActivity no seu androidManifest??







é pq eu assisti esta aula faz tempo e eu naum estou em casa ... ai naum da p eu acompanhar com vc ...

mas vc fez igualzinho como ta na aula??




Sim, mas o problema é que mudou o esquema de gerar e registrar a API Maps, então fiquei perdida nos paranauê "/
Fiz a aula 3 completa duas vezes até, mas na hora que vou gerar o mapa dá o erro que mandei primeiro.
Depois vi que existe a aula 10 com o novo esquema de gerar API KEY... segui os passos, mas ainda assim não deu certo.







agora q eu me lembrei q uma vez um membro daki tava tendo um erro .. o problema dele foi q o celular dele nao tinha internet...
o seu tem???

:p




Tem sim, está conecta no wi-fi da minha casa rs.




Olá Daniele.

Tente isso:

Clique com botão direito sobre o seu projeto -> Build Path -> Configure Build Path -> Order and Export Tab.

Certifique-se de que "Android Private Libraries" está marcada para exportação.

Se não der, me mande uma screen do teu Order and Export Tab.




Olá Rafael,

Está marcada sim, olha a imagem.




Marca o Google Api e tenta de novo




Não deu certo .. pode ver se tem algo errado com o meu MapShowActivity?

package br.com.dannydantasn.vendas;

import android.content.Intent;
import android.os.Bundle;
import br.com.dannydantasn.vendas.R;

import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;

public class MapShowActivity extends MapActivity{

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapa);

MapView map = (MapView)findViewById(R.id.map);

map.setBuiltInZoomControls(true);
map.displayZoomControls(true);

Intent it = getIntent();

int latitude = (int)(it.getDoubleExtra("latitude", 0)*1E6);
int longitude = (int)(it.getDoubleExtra("longitude", 0)*1E6);

MapController mc = map.getController();

mc.animateTo(new GeoPoint(latitude, longitude));
mc.setZoom(30);
map.invalidate();
}


@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}

}

ListarVendasActivity

package br.com.dannydantasn.vendas;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteCursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;
import br.com.dannydantasn.vendas.R;

public class ListarVendasActivity extends Activity{

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listar_vendas);

SQLiteDatabase db = openOrCreateDatabase("vendas.db", Context.MODE_PRIVATE, null);

ListView ltwVendas = (ListView)findViewById(R.id.ltwVendas);

Cursor cursor = db.rawQuery("SELECT vendas._id, vendas.preco, vendas.la, vendas.lo, produtos.nome FROM vendas INNER JOIN produtos on produtos._id = vendas.produto", null);

String[] from = { "_id", "preco", "nome", "la", "lo"};
int[] to = {R.id.txvlID, R.id.txvlPreco, R.id.txvlNome, R.id.txvLa, R.id.txvLo};

SimpleCursorAdapter ad = new SimpleCursorAdapter(getBaseContext(), R.layout.model_listar, cursor, from, to);

ltwVendas.setAdapter(ad);

ltwVendas.setOnItemClickListener(new AdapterView.OnItemClickListener() {

public void onItemClick(AdapterView ad, View v,
int position, long id) {

SQLiteCursor c = (SQLiteCursor)ad.getAdapter().getItem(position);
Intent it = new Intent(getBaseContext(), MapShowActivity.class);
it.putExtra("latitude", c.getDouble(c.getColumnIndex("la")));
it.putExtra("longitude", c.getDouble(c.getColumnIndex("lo")));
startActivity(it);
}
});



}
}






mostre seu spinner.xml






Oi André .. segue abaixo:

spinner.xml


android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:orientation="vertical" >

android:id="@ id/txvNome"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#000000"/>

android:id="@ id/txvPreco"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:visibility="gone" />

android:id="@ id/txvID"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView"
android:visibility="gone" />



main.xml

xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical" >

android:id="@ id/Button01"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:onClick="NovaVenda_Click"
android:text="Nova Venda" />

android:id="@ id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:onClick="ListarVendas_Click"
android:text="Listar Vendas" />

android:id="@ id/Button02"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@ id/btnSalvar"
android:layout_below="@ id/btnSalvar"
android:text="Sair" />






eu num estou certo ,

mas num ta faltando @Override no create do MapActivity




Mas no MapShowActivity tem o onCreate, veja:

public class MapShowActivity extends MapActivity{

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mapa);

MapView map = (MapView)findViewById(R.id.map);

map.setBuiltInZoomControls(true);
map.displayZoomControls(true);

Intent it = getIntent();

int latitude = (int)(it.getDoubleExtra("latitude", 0)*1E6);
int longitude = (int)(it.getDoubleExtra("longitude", 0)*1E6);

MapController mc = map.getController();

mc.animateTo(new GeoPoint(latitude, longitude));
mc.setZoom(30);
map.invalidate();
}


@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}

}






poise emcima do public void onCreate vc coloca @Override




é mesmo rs, mas ainda assim não funcionou .. o erro continua "/

12-12 14:24:23.714: E/AndroidRuntime(7294): FATAL EXCEPTION: main
12-12 14:24:23.714: E/AndroidRuntime(7294): java.lang.NoClassDefFoundError: br.com.dannydantasn.vendas.MapShowActivity
12-12 14:24:23.714: E/AndroidRuntime(7294): at br.com.dannydantasn.vendas.ListarVendasActivity$1.onItemClick(ListarVendasActivity.java:42)
12-12 14:24:23.714: E/AndroidRuntime(7294): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
12-12 14:24:23.714: E/AndroidRuntime(7294): at android.widget.ListView.performItemClick(ListView.java:3763)
12-12 14:24:23.714: E/AndroidRuntime(7294): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1936)
12-12 14:24:23.714: E/AndroidRuntime(7294): at android.os.Handler.handleCallback(Handler.java:587)
12-12 14:24:23.714: E/AndroidRuntime(7294): at android.os.Handler.dispatchMessage(Handler.java:92)
12-12 14:24:23.714: E/AndroidRuntime(7294): at android.os.Looper.loop(Looper.java:123)
12-12 14:24:23.714: E/AndroidRuntime(7294): at android.app.ActivityThread.main(ActivityThread.java:3687)
12-12 14:24:23.714: E/AndroidRuntime(7294): at java.lang.reflect.Method.invokeNative(Native Method)
12-12 14:24:23.714: E/AndroidRuntime(7294): at java.lang.reflect.Method.invoke(Method.java:507)
12-12 14:24:23.714: E/AndroidRuntime(7294): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
12-12 14:24:23.714: E/AndroidRuntime(7294): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
12-12 14:24:23.714: E/AndroidRuntime(7294): at dalvik.system.NativeStart.main(Native Method)




danielle ..

passe seu projeto p gente analisar




Baixa aqui tcix.com.br/Vendas.rar




Danielle.

Esse erro é sempre quando alguma classe não vai junto.

É um erro do Java.

Logo, eu olhei seu código e me reparei com um erro.

[XML]
[/XML]
Em vez de libray, o correto seria library de biblioteca.

Justamente ela não ta levando junto esta biblioteca.
O certo seria:
[XML]
[/XML]




Olá Rafael,

Como devo proceder? Sou iniciante, tanto no Android, quanto no Java.




ola Daniele

eu naum tinha reparado esse erro

ve la no seu codigo tem esse erro mesmo q o rafael falou

[XML]

[/XML]
naum é esse o codigo , o codigo certo é esse


[XML]
[/XML]




uses-libray

é esse aqui

uses-library




Mesmo alterando a uses, o erro persiste.

12-16 09:27:26.878: E/AndroidRuntime(2349): FATAL EXCEPTION: main
12-16 09:27:26.878: E/AndroidRuntime(2349): java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.dannydantasn.vendas/br.com.dannydantasn.vendas.MapShowActivity}: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.os.Handler.dispatchMessage(Handler.java:99)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.os.Looper.loop(Looper.java:123)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.app.ActivityThread.main(ActivityThread.java:3687)
12-16 09:27:26.878: E/AndroidRuntime(2349): at java.lang.reflect.Method.invokeNative(Native Method)
12-16 09:27:26.878: E/AndroidRuntime(2349): at java.lang.reflect.Method.invoke(Method.java:507)
12-16 09:27:26.878: E/AndroidRuntime(2349): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
12-16 09:27:26.878: E/AndroidRuntime(2349): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
12-16 09:27:26.878: E/AndroidRuntime(2349): at dalvik.system.NativeStart.main(Native Method)
12-16 09:27:26.878: E/AndroidRuntime(2349): Caused by: android.view.InflateException: Binary XML file line #7: Error inflating class fragment
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
12-16 09:27:26.878: E/AndroidRuntime(2349): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:209)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.app.Activity.setContentView(Activity.java:1657)
12-16 09:27:26.878: E/AndroidRuntime(2349): at br.com.dannydantasn.vendas.MapShowActivity.onCreate(MapShowActivity.java:16)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615)
12-16 09:27:26.878: E/AndroidRuntime(2349): ... 11 more
12-16 09:27:26.878: E/AndroidRuntime(2349): Caused by: java.lang.ClassNotFoundException: android.view.fragment in loader dalvik.system.PathClassLoader[/system/framework/com.google.android.maps.jar:/data/app/br.com.dannydantasn.vendas-1.apk]
12-16 09:27:26.878: E/AndroidRuntime(2349): at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
12-16 09:27:26.878: E/AndroidRuntime(2349): at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
12-16 09:27:26.878: E/AndroidRuntime(2349): at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.view.LayoutInflater.createView(LayoutInflater.java:471)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.view.LayoutInflater.onCreateView(LayoutInflater.java:549)
12-16 09:27:26.878: E/AndroidRuntime(2349): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66)
12-16 09:27:26.878: E/AndroidRuntime(2349): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:568)
12-16 09:27:26.878: E/AndroidRuntime(2349): ... 20 more




Olá

Agora é outro erro.

Posta aqui no fórum em um TXT todos teus XML

Do Mapa e o Manifest.

Outra coisa, você viu que no curso tem a nova forma de usar o MAPS né?

Não pode confundir com a forma antiga.




Olá Rafael,

Segue link do arquivo txt com todos os xml http://rlsystem.com.br/forum/disco/uploads/a5266ca9f3ab1e058ed922678632cc0d-vendas_xml.txt
O projeto completo está no link http://tcix.com.br/Vendas.rar .

Dani




Alguma resposta? Preciso continuar o curso "/




Daniele

Encontrei mais erros.

Eu peço que você veja essa parte de Maps, na última aula novamente e reveja os trechos do código.

Se preferir pode baixar o projeto lá no site.

Creio que você se enganou com algumas sintaxes.

O outro erro que encontrei foi:

La no Manifest você botou:

[XML]
android:name="com.google.android.map.v2.API_KEY"
[/XML]

Mas é maps, no plural.
[XML]
android:name="com.google.android.maps.v2.API_KEY"
[/XML]




Rafael,

Agora aparecem os seguintes erros:

12-19 19:25:48.921: E/ZoomButtonsController(19762): Cannot make the zoom controller visible if the owner view is not attached to a window.
12-19 19:25:48.972: E/MapActivity(19762): Couldn't get connection factory client

No manifest já tem a permissão

O que pode ser dessa vez? O Mapa aparece, mas sem a localização.




Daniele

Você ativou os serviços de localização lá na API do Google, na ultima aula de mapas que mostrei?

Pode me mandar uma screen de como ficou aquela tela? (lá do site deles)




No site do google não tem a opção API v2, apenas v3. Segue imagem.




Daniele

Poste o código da classe Java que você colocou toda a programação de Latitude e Longitude.

Pois a que você postou lá em cima do tópico é da AP 1.




Rafael,

Está aparecendo o seguinte erro agora.

12-20 12:09:14.984: W/System.err(20750): at android_maps_conflict_avoidance.com.google.googlenav.datarequest.DataRequestDispatcher$DispatcherServer.run(DataRequestDispatcher.java:1702)

Segue rar do projeto atualizado no link http://tcix.com.br/Vendas.rar




Daniele

Qual o .java que está rodando para dar esse erro?

Você tem internet ativada?

Esta testando em um aparelho?

Pois no emulador não vai funcionar.




Qual o .java que está rodando para dar esse erro? Como assim qual Java? tenho instalado o jre7

Você tem internet ativada? Sim, estou conectada no wi-fi da minha casa

Esta testando em um aparelho? Sim, estou testando em um aparelho com android 2.3

Pois no emulador não vai funcionar. Sim eu sei. . eu sigo passo-a-passo as aulas, o problema começou quando inclui a visualização do mapa.




O nome do arquivo que você setou a latitude e longitude?




Daniele

O problema é que você ta usando o Mapa Antigo, da Aula 2 ou 3.

Você precisa apenas implementar o que a nova aula de Maps fala

public class MapShowActivity extends MapActivity{

Isso é antigo, até porque se usa agora o Fragment e não mais MapActivity.

As config do XML estão OK.

Para facilitar tua vida, acessa novamente o curso de Android Online

Vai na aba Arquivos, lá tá o exemplo chamado: Código Fonte Maps V2

Baixa ele e compara, o .java que tem dentro do exemplo é a nova forma.

Isso tudo de acordo com aquela aula "Aula 10 - Alteração API do Google Maps"




Eu tinha baixado o código, mas ainda estava como os da aula 3.
Vi que incluiu os novos fontes, vou verificar e retorno.

Obrigada.




Os erros voltaram .. pode ver se o MapShowActivity e o Manifest estão ok, por gentileza?
Segue códigos atualizados http://tcix.com.br/Vendas.rar




O meu Projeto está funcionando blz so que mostra o mapa em branco




Dieure De Oliveira, também não consigo fazer o mapa funcionar. .não sei o que acontece "/




Rafael, vocês poderiam refazer a aula 3 com a nova versão do API, com certeza não sou apenas eu que tenho dificuldades com essa parte do curso.




Olá Daniele,

Peço que olhe a Aula 10. A 3 era do Maps 1.

Apenas ela. E faça em um projeto separado. O problema é que você juntou um pouco da Aula 3 com a 10.

Mas a API mudou. A aula 3 é importante para conceitos.

A Aula 10 é uma aula nova, justamente falando disso.

Quanto ao MAPA em branco, isso é por alguns motivos.

1 - KEY gerado no site do Google inválido.
2 - Latitulde ou Longitude errada
3 - Não ativou os serviços de mapa no site do Google

Daniele, peço que execute no seu Eclipse, apenas o projeto que te indiquei, e faça um teste.

Detalhe: mudei a API key do meu projeto.

Pessoal, volto a salientar, prestar muito atenção na Aula 10.

São muitos passos, e se errar um não vai funcionar. E fica muito difícil descobrir o que é, pois geralmente o erro não é de código, e sim os itens que citei acima.

Acabei de testar o projeto que indiquei, que está la no site. Ele está funcionando.




Baixei o código novo;
Importe o google play services lib;
Alterei a API KEY;
Testei em um galaxy S i9000 (android 2.3) e depois em um tablet note 8 (android 4.1) e mesmo assim deu erro, veja:

12-23 15:18:40.675: E/AndroidRuntime(6127): FATAL EXCEPTION: main
12-23 15:18:40.675: E/AndroidRuntime(6127): java.lang.RuntimeException: Unable to start activity ComponentInfo{br.com.rlsystem.exemplo_maps/br.com.rlsystem.exemplo_maps.MainActivity}: android.view.InflateException: Binary XML file line #11: Error inflating class fragment
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2146)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.app.ActivityThread.access$700(ActivityThread.java:140)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1238)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.os.Handler.dispatchMessage(Handler.java:99)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.os.Looper.loop(Looper.java:137)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.app.ActivityThread.main(ActivityThread.java:4947)
12-23 15:18:40.675: E/AndroidRuntime(6127): at java.lang.reflect.Method.invokeNative(Native Method)
12-23 15:18:40.675: E/AndroidRuntime(6127): at java.lang.reflect.Method.invoke(Method.java:511)
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
12-23 15:18:40.675: E/AndroidRuntime(6127): at dalvik.system.NativeStart.main(Native Method)
12-23 15:18:40.675: E/AndroidRuntime(6127): Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class fragment
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:710)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.view.LayoutInflater.rInflate(LayoutInflater.java:752)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.view.LayoutInflater.inflate(LayoutInflater.java:495)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:318)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.app.Activity.setContentView(Activity.java:1925)
12-23 15:18:40.675: E/AndroidRuntime(6127): at br.com.rlsystem.exemplo_maps.MainActivity.onCreate(MainActivity.java:21)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.app.Activity.performCreate(Activity.java:5207)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2085)
12-23 15:18:40.675: E/AndroidRuntime(6127): ... 11 more
12-23 15:18:40.675: E/AndroidRuntime(6127): Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4030500 but found 0. You must have the following declaration within the element:
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.google.android.gms.common.GooglePlayServicesUtil.n(Unknown Source)
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(Unknown Source)
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.google.android.gms.maps.internal.q.v(Unknown Source)
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.google.android.gms.maps.internal.q.u(Unknown Source)
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.google.android.gms.maps.MapsInitializer.initialize(Unknown Source)
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.google.android.gms.maps.SupportMapFragment$b.cE(Unknown Source)
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.google.android.gms.maps.SupportMapFragment$b.a(Unknown Source)
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.google.android.gms.dynamic.a.a(Unknown Source)
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.google.android.gms.dynamic.a.onInflate(Unknown Source)
12-23 15:18:40.675: E/AndroidRuntime(6127): at com.google.android.gms.maps.SupportMapFragment.onInflate(Unknown Source)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:290)
12-23 15:18:40.675: E/AndroidRuntime(6127): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:682)
12-23 15:18:40.675: E/AndroidRuntime(6127): ... 21 more




Daniele

Olhe o erro:

Caused by: java.lang.IllegalStateException: The meta-data tag in your app's AndroidManifest.xml does not have the right value. Expected 4030500 but found 0. You must have the following declaration within the element:

1 - Esta a executar somente o projeto baixado?


Preciso de duas coisas:

1 - Em um txt apenas o manifest.
2 - um print do Google APIS da tela de chaves (não dos serviços), mas sim das chaves que registrou lá





package="br.com.rlsystem.exemplo_maps"
android:versionCode="1"
android:versionName="1.0" >

android:minSdkVersion="8"
android:targetSdkVersion="8" />

android:name="br.com.rlsystem.exemplo_maps.MAPS_RECEIVE"
android:protectionLevel="signature" />









android:glEsVersion="0x00020000"
android:required="true" />

android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:name="br.com.rlsystem.exemplo_maps.MainActivity"
android:label="@string/app_name" >







android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyC9P3PcdiykdrBNI84VWFMQkN2m7HJDITs" />










Daniele

Olha só, como disse, a key esta errada. Note que a unica key que você gerou, está apontando para outro pacote que eu não consigo ver porque a imagem é pequena, logo o AIzaSyC9P3PcdiykdrBNI84VWFMQkN2m7HJDITs não pode ser usado no projeto de exemplo da RL System, já que o projeto possui outro nome de pacote.

Gere outra key, de acordo com o nome do pacote do projeto que baixou, lá na aula 10 eu mostro isso.

Tem que cuidar para gerar exatamente com o mesmo nome. Ai você pode usar a KEY.

Não temos como saber se o erro é só esse, mas é um deles. Para assim, podermos avançar.




Continua o erro... é normal ser o mesmo códig SHA1? Peguei o debug e joguei na pasta do java antes de gerar como ensinou na aula.


android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyCUl8jfkPBf2_xHN0LewwT_zyWf5inUX_s" />





Daniele

O log deu o mesmo erro?

Tente adicionar isso no Manifest e veja se muda o erro.

android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />

Pode colocar em baixo do outro meta tag




Rafael, agora funcionou.
Vou alterar o meu projeto e aviso se deu certo.




Rafael, funcionou, porém ainda tenho uma dúvida.

Como retornar latitude e longitude do registro que foi selecionado?




Aguardando resposta. ..

Como retornar latitude e longitude do registro que foi selecionado?




Daniele

No curso de Android Online, nas primeiras aulas é mostrado como usar o onActivityResult.

Pois para isto não se usa nada de Maps, apenas se pega os dados do SQLite, que você gravou na venda.

Quando se clica em um registro de uma ListView ele cai no onActivityResult.

Peço que tente implementar conforme a aula, e se tiver problemas, abra um tópico com seu código para tentarmos ajudar.

Até mais.