Selecionar valores de colunas específicas e calcular - SQLite

29/11/2016

4

Olá.
Eu criei as seguintes tabelas:

public CriaBanco(Context context) {
    super(context, NOME_BANCO, null, VERSAO);
}

@Override
public void onCreate(SQLiteDatabase db) {
    String dados = "CREATE TABLE dados (" 

                + "nome text,"
                + "ncto date,"
                + "sexo text)";

    db.execSQL(dados);

    String medidas = "CREATE TABLE medidas (" 

                + "codigo integer primary key autoincrement," 
                + "altura integer,"
                + "peso integer,"
                + "cintura integer,"
                + "pescoco integer,"
                + "quadril integer,"
                + "grau_atividade num)";

    db.execSQL(medidas);
}



E os seguintes métodos para salvar nas tabelas:

 public class BancoController {


    private SQLiteDatabase db;
    private CriaBanco banco;

    public BancoController(Context context) {
        banco = new CriaBanco(context);
    }

    public String insereDado(String nome, String ncto, String sexo) {
        ContentValues dados;
        long resultado_dados;
        db = banco.getWritableDatabase();

        dados = new ContentValues();
        dados.put("nome", nome);
        dados.put("ncto", ncto);
        dados.put("sexo", sexo);

        resultado_dados = db.insert("dados", null, dados);
        db.close();

        if (resultado_dados == -1)
            return "Erro ao inserir registro";
        else
            return "Registro Inserido com sucesso";
    }

    public String insereMedidas(String altura, String peso, String cintura, String pescoco, String quadril, String grau_atividade) {
        ContentValues medidas;
        long resultado_medidas;
        db = banco.getWritableDatabase();

        medidas = new ContentValues();
        medidas.put("altura", altura);
        medidas.put("peso", peso);
        medidas.put("cintura", cintura);
        medidas.put("pescoco", pescoco);
        medidas.put("quadril", quadril);
        medidas.put("grau_atividade", grau_atividade);

        resultado_medidas = db.insert("medidas", null, medidas);
        db.close();

        if (resultado_medidas == -1)
            return "Erro ao inserir registro";
        else
            return "Registro Inserido com sucesso";
    }

Eu sou um novato em programação e estou tendo dificuldade em selecionar os valores.

Na tabela "dados" o valor da coluna "sexo" vem de um RadioGroup (homem ou mulher) e na tabela "medidas" o valor da coluna "grau_atividade" vem de um spinner.

Eu preciso obter os valores específicos e colocá-los na seguinte equação ...

Se for homem, pegar valores das colunas "cintura", "pescoco" e "altura" e colocar na seguinte equação:

495/(1,0324-0,19077(LOG("cintura"-"pescoco"))+0,15456(LOG("altura")))-450

Se for mulher, pegar valores das colunas "cintura", "quadril", "pescoco" e "altura" e colocar na seguinte equação:

495/(1,29579-0,35004(LOG("cintura"+"quadril"-"pescoco"))+0,221(LOG("altura")))-450

O resultado não será chamado de botão. Já deve ser mostrado ao abrir a tela.

Desculpe pelo texto gigante, mas eu realmente preciso de sua ajuda.

Muito obrigado.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar