Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Criacao do banco

Olá! Se eu estiver usando int ou Double como variaveis... no banco ficaria Real tb??(no caso tenho uma variavel preço(double) e volume(int)) pq estao como edittext mas, no app eu ja usei o (Double.parseDouble(campoPreco.getText().toString())); (Integer.parseInt(campoVolume.getText().toString()))

String sql = "CREATE TABLE Alunos (id INTEGER PRIMARY KEY, nome TEXT NOT NULL, endereço TEXT, telefone TEXT, site TEXT, nota REAL);";

4 respostas

Para valores decimais você pode usar tanto o real, como o float. Usando apenas float ele vem no padrão de tamanho float(53). Daria no mesmo declarar float(53) ou float (no banco de dados). Um real é a mesma coisa que um float(24). Esses números basicamente representam o tamanho que o número pode ficar e qualquer um dos dois, float ou real, deve servir para a sua aplicação. Lembrando que você pode enviar inteiros para um campo float (passando 1 ficaria 1.00, por exemplo), porém não funcionaria caso você quisesse armazenar um número flutuante, tipo 1.65, em um campo inteiro.

String sql = "CREATE TABLE Alunos (id INTEGER PRIMARY KEY, nome TEXT NOT NULL, volume INTEGER, preco FLOAT);";

Assim??

solução!

Francisco, não acompanhei o curso de Android, mas presumo que você esteja usando SQLite como banco de dados, correto? Se sim, use REAL para valores flutuantes. Me desculpe, o que te passei é realidade em outros bancos de dados, mas no SQLite valores flutuantes são tratados como REAL: https://sqlite.org/datatype3.html

As coisas mudam um pouco quando o cenário muda, mas não foge muito disso de real/float/double.

Ahhh beleza! Valeu, Bruno!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software