>

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.



Problemas ao salvar e listar os dados. inicio do programa vendas


Segue o codigo do main:

package br.com.rof.veiculos;

import android.support.v7.app.ActionBarActivity;
import android.content.Context;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;


public class MainActivity extends ActionBarActivity {


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

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

StringBuilder sqlVeiculos = new StringBuilder();
sqlVeiculos.append("CREATE TABLE IF NOT EXISTS [veiculos](");
sqlVeiculos.append("[_id] INTEGER PRIMARY KEY AUTOINCREMENT, ");
sqlVeiculos.append("nome varchar(50), ");
sqlVeiculos.append("km DOUBLE(10,2));");
db.execSQL(sqlVeiculos.toString());

db.execSQL("INSERT INTO veiculos(nome, km) VALUES('Kombi' ,'100')");
//db.execSQL("INSERT INTO veiculos(nome, km) VALUES('S10-170','200')");
//db.execSQL("INSERT INTO veiculos(nome, km) VALUES('S10-171','300')");

StringBuilder sqlPosto = new StringBuilder();
sqlVeiculos.append("CREATE TABLE IF NOT EXISTS [abastecimento](");
sqlVeiculos.append("[_id] INTEGER PRIMARY KEY AUTOINCREMENT, ");
sqlVeiculos.append("veiculo INTEGER, ");
sqlVeiculos.append("km DOUBLE(10,2), ");
sqlVeiculos.append("la DOUBLE(10,9), ");
sqlVeiculos.append("lo DOUBLE(10,9));");
db.execSQL(sqlPosto.toString());

db.close();

}

public void NovoAbastecimento_Click(View abc){
Intent it = new Intent(getBaseContext(), NovoAbastecimentoActivity.class);
startActivity(it);
}

public void ListarAbastecimentos_Click(View abc){
Intent it2 = new Intent(getBaseContext(), ListarAbastecimentosActivity.class);
startActivity(it2);
}


}



6 Respostas


Tem mais 2 activitys:

package br.com.rof.veiculos;

import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.view.View;
import android.widget.SimpleCursorAdapter;
import android.widget.Spinner;
import android.widget.Toast;
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;

public class NovoAbastecimentoActivity extends Activity implements LocationListener {

private double lo, la;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.novo_abastecimento);

Spinner spVeiculos = (Spinner)findViewById(R.id.spVeiculos);

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

Cursor cursor = db.rawQuery("SELECT * FROM veiculos ORDER BY nome ASC", null);

String[] from = { "_id", "nome", "km"};
int[] to = {R.id.txvId, R.id.txvNomeVeiculo, R.id.txvKm};

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

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

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

Spinner spVeiculos = (Spinner)findViewById(R.id.spVeiculos);

SQLiteCursor dados = (SQLiteCursor)spVeiculos.getAdapter().getItem(spVeiculos.getSelectedItemPosition());

ContentValues ctv = new ContentValues();
ctv.put("veiculo", dados.getInt(0));
ctv.put("km", dados.getDouble(2));
ctv.put("la", la);
ctv.put("lo", lo);

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

}

@Override
public void onLocationChanged(Location location) {
//la = location.getLatitude();
//lo = location.getLongitude();
}

@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub

}

@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub

}

@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub

}

}



e:


package br.com.rof.veiculos;

import android.app.Activity;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class ListarAbastecimentosActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listar_veiculos);

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

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

Cursor cursor = db.rawQuery("SELECT abastecimento._id, abastecimento.km, abastecimento.la, abastecimento.lo, veiculos.nome FROM abastecimento INNER JOIN veiculos on veiuclos._id = abastecimento.veiculo", null);

String[] from = { "_id", "km", "nome", "la", "lo"};
int[] to = {R.id.txvID, R.id.txvKM, R.id.txvNome, R.id.txvLa, R.id.txvLo};

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

ltwAbastecimento.setAdapter(ad);

db.close();

}
}




Ola Renato

mostre o erro q esta gerando




Eu também estou com esse problema toda vez que vou fazer uma venda. Quando clico no botão salvar aparece: "Unfortunately, Vendas has stopped".




Ola Natan

coloque um logcat la no botao salvar e mostre o erro q esta gerando




http://rlsystem.com.br/forum/disco/uploads/0bb76c6138f6c4766ee3c44edd24205f-vendas logcat.png




Obrigado pela atenção Andre.
A solução foi quando consegui rodar direto do celular. O ecplise não reconhecia o celular. Tive que usar o PDA Net.
Agora está funcionando.