>
Alguém poderia me dar uma dica de como resolver?
package br.com.rlsystem.vendas;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SQLiteDatabase db = openOrCreateDatabase("vendas.db", Context.MODE_PRIVATE, null);
StringBuilder sqlProdutos = new StringBuilder();
sqlProdutos.append("CREATE TABLE IF NOT EXISTS [produtos] (");
sqlProdutos.append("[_id] INTEGER PRIMARY KEY AUTOINCREMENT, ");
sqlProdutos.append("nome VARCHAR(30), ");
sqlProdutos.append("preco DOUBLE(10,2));");
db.execSQL(sqlProdutos.toString());
db.execSQL("INSERT INTO produtos(nome,preco) VALUES('Coca Cola', '2.50')");
db.execSQL("INSERT INTO produtos(nome,preco) VALUES('Red Bull', '6.50')");
StringBuilder sqlVendas = new StringBuilder();
sqlVendas.append("CREATE TABLE IF NOT EXISTS [vendas] (");
sqlVendas.append("[_id] INTEGER PRIMARY KEY AUTOINCREMENT, ");
sqlVendas.append("produto INTEGER, ");
sqlVendas.append("preco DOUBLE(10,2), ");
sqlVendas.append("la DOUBLE(10,9), ");
sqlVendas.append("lo DOUBLE(10,9));");
}
public void NovaVendaClick(View v){
startActivity(new Intent(getBaseContext(), NovaVendaActivity.class));
}
public void ListarVendasClick(View v) {
startActivity(new Intent(getBaseContext(), ListarVendasActivity.class));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
package br.com.rlsystem.vendas;
import android.app.Activity;
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.os.Bundle;
//import android.support.v4.widget.SimpleCursorAdapter;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;
import android.widget.Toast;
public class NovaVendaActivity extends Activity implements LocationListener{
private double la, lo;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nova_venda);
Spinner spProdutos = (Spinner)findViewById(R.id.spProdutos);
SQLiteDatabase db = openOrCreateDatabase("vendas.db", Context.MODE_PRIVATE, null);
Cursor cursor = db.rawQuery("SELECT * FROM PRODUTOS ORDER BY nome ASC", null);
String[] from = {"_id", "nome", "preco"};
int[] to = {R.id.txvID, R.id.txvNome, R.id.txvPreco};
SimpleCursorAdapter ad = new SimpleCursorAdapter(getBaseContext(),R.layout.spinner, cursor, from, to);
spProdutos.setAdapter(ad);
db.close();
}
public void SalvarClick(View v){
//ação
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);
ContentValues ctv = new ContentValues();
Spinner spProdutos = (Spinner)findViewById(R.id.spProdutos);
SQLiteCursor dados = (SQLiteCursor) spProdutos.getAdapter().getItem(spProdutos.getSelectedItemPosition());
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 ao Salvar", Toast.LENGTH_LONG).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.main, menu);
return true;
}
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
}
@Override
public void onProviderDisabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String arg0) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
// TODO Auto-generated method stub
}
}
ola rafael
o que aquele criteria faz ali???
Segundo a video aula é para trazer um tipo específico de provider... embora não faça isso segundo o vídeo é necessário ter a criteria....
Se eu comento essa parte de código ele salva normal.
parece que o location e o getlocation está retornando nulo. Alguém sabe me dizer porque?
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();
ctv.put("la", la);
ctv.put("lo", lo);
Obrigado.
Raphael
Veja a nova aula de GPS do curso de Android Online, lá é mostrado o porque disso.
Grande Abraço.