Selecionar valores de colunas específicas e calcular - SQLite

29/11/2016

0

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.
Juan

Juan

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar