How to save in SQLite database SeekBar Android value

1

I am trying to register values in the database in Kotlin coming from SeekBar, DatePicker, Radio Group, I go by parts

in my CadastroScrolling.kt

I can play the age viewer

// definindo SeekBar
        seekbarIdade = findViewById<SeekBar>(R.id.seekBar_Idade_Pessoa)
        // perform seek bar change listener event used for getting the progress value



        seekbarIdade.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {

             // Methods para tempo de exucção do seekBar

            override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean)
            {
                try
                {
                  var  txtIdade : TextView = findViewById(R.id.text_idade)
                  var  seekBarTest : SeekBar = findViewById(R.id.seekBar_Idade_Pessoa)
                        seekBarTest.isClickable.rangeTo(true).toString()
                    var idadeTest =    txtIdade.setText((progress + 10).toString()+" anos").toString()


                }catch(e: Exception)
                {

                }
            }

            override fun onStartTrackingTouch(seekBar: SeekBar) {/* TODO Auto-generated method stub*/}

            override fun onStopTrackingTouch(seekBar: SeekBar) {
               Toast.makeText(
                    this@CadastroScrollingActivity, "A idade definida é de " + seekbarIdade.progress + " anos",
                    Toast.LENGTH_SHORT
                ).show()
            }

        })



// radio Group 

 // Definir Radio group em grupo e selecionar a escolha feita pelo usuario
        val radioGroup = findViewById<RadioGroup>(R.id.radioGroup_sexo_Pessoa)
        radioGroup.setOnCheckedChangeListener { group, checkedId ->
            var sexo = "Sexo: "
            sexo += if (R.id.radio_feminino_Pessoa == checkedId) "Feminino" else "Masculino"
            Toast.makeText(applicationContext, sexo + " Selecionado",    Toast.LENGTH_LONG).show()
        }



// datePicker

    // definir as datas
        val c = Calendar.getInstance()
        val year = c.get(Calendar.YEAR)
        val month = c.get(Calendar.MONTH)
        val day = c.get(Calendar.DAY_OF_MONTH)

        //chamada da do method datePicker e d Dialog e exbibir no TextView

        calendar_Pessoa.setOnClickListener { 
            val datePD = DatePickerDialog(this, DatePickerDialog.OnDateSetListener { view, mYear, mMonth, mDay ->
                val txt = findViewById<TextView>(R.id.calendar_Pessoa)

                txt.text = (getString(R.string.seu_dt_nas)+(if (mDay < 10 ) "0"+mDay else mDay) + "/" + (if (mMonth < 10 ) "0"+(mMonth+1) else (mMonth+1))
                        + "/" +  mYear)
            },year, month,day )
            datePD.show()
        }


// pegei os ddados so para mascar  nas views agora o metodo de salvar 

private  fun salvar()
    {


        val nome = edit_nome_Pessoa.text.toString()


        val seekTestBar = seekbarIdade.text_idade
        val idade = seekBar_Idade_Pessoa.text.toString()

       // val sexo = (if(radio_feminino_Pessoa.isSelected) "Feminino" else "Masculino")
        val sexo_Id = findViewById<RadioGroup>(R.id.radioGroup_sexo_Pessoa)
        val sexo = sexo_Id.setOnCheckedChangeListener{ group, checkedId ->
            if (R.id.radio_feminino_Pessoa == checkedId) "Feminino" else "Masculino"}.toString()


        //val dt_nasc = calendar_Pessoa.text.toString()

        val dt_nasc = findViewById<TextView>(R.id.calendar_Pessoa).text.toString()
        val rg = edit_rg_Pessoa.text.toString().toInt()
        val cpf =  edit_cpf_Pessoa.text.toString().toInt()
        val rua = edit_rua_Pessoa.text.toString()
        val num_casa = editNumeroCasa_Pessoa.text.toString().toInt()
        val bairro = edit_bairro_Pessoa.text.toString()
        val complemento = edit_comeplemento_Pessoa.text.toString()
        val cep = edit_cep_Pessoa.text.toString().toInt()
        val cidade = edit_cidade_Pessoa.text.toString()
        val estado = edit_uf_Pessoa.text.toString()
        val telefone = edit_telefone_Pessoa.text.toString().toInt()
        val local_estudo = edit_escola_Pessoa.text.toString()
        val nome_mae = edit_mae_Pessoa.text.toString()
        val nome_pai = edit_pai_Pessoa.text.toString()
        val resposavel = edit_resp_Pessoa.text.toString()
        val rg_resp = edit_rg_resp_Pessoa.text.toString().toInt()
        val cpf_resp = edit_cpf_resp_Pessoa.text.toString().toInt()
        val telefone_resp = edit_tel_resp_Pessoa.text.toString().toInt()

        mRegraNegocio_Pessoa.inserir_Pessoa_Businnes(nome,idade,sexo,dt_nasc ,rg,cpf
            ,rua,num_casa,bairro,complemento,cep,cidade,estado
            ,telefone,local_estudo,nome_mae,nome_pai
            ,resposavel,rg_resp,cpf_resp,telefone_resp)
        finish()
    }
    
asked by anonymous 22.12.2018 / 20:13

3 answers

0
  

"I'm trying to register values in the database"

You can use Shared Preferences for simple and small amounts.

Ex: Persisting Simple Data with SharedPreferences

If you need to save a large amount of data, use the SQLiteOpenHelper .

Android Android SQLite Database Tutorial

    
26.12.2018 / 19:45
0

Good afternoon, I was able to write to the database the data coming from the seek bar and the Radio Group, but my problem is now being to record the content populated in a TextView in the method onCreate, following the current file package com.inove.joannes .appclube.views

import android.app.DatePickerDialog import android.os.Bundle import android.support.design.widget.Snackbar import android.support.v7.app.AppCompatActivity import android.view.View import android.widget. * import com.inove.joannes.appclube.R import com.inove.joannes.appclube.views.business.RegraNegocio_Pessoa import kotlinx.android.synthetic.main.activity_cadastro_scrolling. * import kotlinx.android.synthetic.main.content_cadastro_scrolling. * import java.util. *

class CadastroScrollingActivity: AppCompatActivity (), View.OnClickListener {

lateinit var seekbarIty: SeekBar

lateinit var mRegraNegocio_Pessoa : RegraNegocio_Pessoa



//  @SuppressLint("ResourceAsColor")
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_cadastro_scrolling)
    setSupportActionBar(toolbar)
    fab.setOnClickListener { view ->
        Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
            .setAction("Action", null).show()
    }


    //Click do botao salvar
    setListener()

    mRegraNegocio_Pessoa = RegraNegocio_Pessoa(this)



    // definindo SeekBar
    seekbarIdade = findViewById<SeekBar>(R.id.seekBar_Idade_Pessoa)
    // perform seek bar change listener event used for getting the progress value

  seekbarIdade.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {


      // Methods para tempo de exucção do seekBar

      override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean)
      {
          try
          {
              var  txtIdade : TextView = findViewById(R.id.text_idade)

              txtIdade.setText((progress + 10).toString()+" anos")

          }catch(e: Exception)
          {

          }
      }

      override fun onStartTrackingTouch(seekBar: SeekBar) {/* TODO Auto-generated method stub*/}

      override fun onStopTrackingTouch(seekBar: SeekBar) {
          Toast.makeText(
              this@CadastroScrollingActivity, "A idade definida é de " + (seekbarIdade.progress + 10) + " anos",
              Toast.LENGTH_SHORT
          ).show()
      }

  }).toString()


    // Definir Radio group em grupo e selecionar a escolha feita pelo usuario
    val radioGroup = findViewById<RadioGroup>(R.id.radioGroup_sexo_Pessoa)
    radioGroup.setOnCheckedChangeListener { group, checkedId ->
        var sexo = getString(R.string.texto_sexo)
        sexo += if (R.id.radio_feminino_Pessoa == checkedId) getString(R.string.radio_feminino_cadPessoa) else getString(
                        R.string.radio_masculino_cadPessoa)
        Toast.makeText(applicationContext, sexo + getString(R.string.selecionado_cadPessoa),    Toast.LENGTH_LONG).show()
    }

    // definir as datas PARA DATA DE NASCIMENTO NO METODO ONCREATE, 
    val c = Calendar.getInstance()
    val year = c.get(Calendar.YEAR)
    val month = c.get(Calendar.MONTH)
    val day = c.get(Calendar.DAY_OF_MONTH)

    //chamada da do method datePicker e d Dialog e exbibir no TextView

    val cal = findViewById<TextView>(R.id.calendar_Pessoa)

    cal.setOnClickListener {
        val datePD = DatePickerDialog(this, DatePickerDialog.OnDateSetListener { view, mYear, mMonth, mDay ->
            val txt = findViewById<TextView>(R.id.calendar_Pessoa)

            txt.setText(getString(R.string.seu_dt_nas) + (if (mDay < 10) "0" + mDay else mDay) + """/""" + (if (mMonth >= 10) mMonth + 1 else "0" + (mMonth + 1)) + """/""" + mYear)
        }, year, month, day)
        datePD.show()
    }.toString()   // FIM DA IMPLEMENTAÇÃO DO DATEPICKER


}// FIM DO METODO ONCREATE

override fun onClick(v: View) {
    val id = v.id

    if (id == R.id.btn_salvar)
    {
        salvar()
    }


}

private fun setListener()
{
    btn_salvar.setOnClickListener(this)
}




private  fun salvar()
{
    val nome = edit_nome_Pessoa.text.toString()


    val idade = (""+(seekbarIdade.progress + 10 ) + " anos")


    val sexo_Id = findViewById<RadioGroup>(R.id.radioGroup_sexo_Pessoa)
    val sexo  = (if (sexo_Id.checkedRadioButtonId == R.id.radio_feminino_Pessoa) "Feminino" else "Masculino").toString()

// MY PROBLEM IS HERE, IT IS THE SAVING FUNCTION THAT SAVES THE DATA, BUT THIS IS ONLY ERROR, TRY TO REGISTER THE BIRTH DATE, VISIBLY ADD THE DATE BUT IN THE TIME OF SAVING DOES NOT SAVE

    val dt_nasc_ID = findViewById<TextView>(R.id.calendar_Pessoa)
    val dt_nasc = (if (dt_nasc_ID.isSelected) calendar_Pessoa else "").toString()

    val rg = edit_rg_Pessoa.text.toString()
    val cpf =  edit_cpf_Pessoa.text.toString()
    val rua = edit_rua_Pessoa.text.toString()
    val num_casa = editNumeroCasa_Pessoa.text.toString()
    val bairro = edit_bairro_Pessoa.text.toString()
    val complemento = edit_comeplemento_Pessoa.text.toString()
    val cep = edit_cep_Pessoa.text.toString()
    val cidade = edit_cidade_Pessoa.text.toString()
    val estado = edit_uf_Pessoa.text.toString()
    val telefone = edit_telefone_Pessoa.text.toString()
    val local_estudo = edit_escola_Pessoa.text.toString()
    val nome_mae = edit_mae_Pessoa.text.toString()
    val nome_pai = edit_pai_Pessoa.text.toString()
    val resposavel = edit_resp_Pessoa.text.toString()
    val rg_resp = edit_rg_resp_Pessoa.text.toString()
    val cpf_resp = edit_cpf_resp_Pessoa.text.toString()
    val telefone_resp = edit_tel_resp_Pessoa.text.toString()      mRegraNegocio_Pessoa.inserir_Pessoa_Businnes(nome,idade,sexo,dt_nasc,rg,cpf
        ,rua,num_casa,bairro,complemento,cep,cidade,estado
        ,telefone,local_estudo,nome_mae,nome_pai
        ,resposavel,rg_resp,cpf_resp,telefone_resp)
        finish()
}

}

    
08.01.2019 / 18:42
0

Vlw Person I solved thus cleared cache, I deleted the bank,

I added this to onclick

if (v.id == R.id.edit_calendar_Pessoa)         {

        // definir as datas
        val c = Calendar.getInstance()
        val year = c.get(Calendar.YEAR)
        val month = c.get(Calendar.MONTH)
        val day = c.get(Calendar.DAY_OF_MONTH)

        //chamada da do method datePicker e d Dialog e exbibir no TextView
        cal_DatePcker_Pessoa.setOnClickListener {
            val datePD = DatePickerDialog(this, DatePickerDialog.OnDateSetListener { view, mYear, mMonth, mDay ->
                val txt = findViewById<TextView>(R.id.edit_calendar_Pessoa)

                txt.text = (getString(R.string.seu_dt_nas) + (if (mDay < 10) "0" + mDay else mDay) + "/" + (if (mMonth >= 10) mMonth + 1 else "0" + (mMonth + 1)) + "/" + mYear)
            }, year, month, day)
            datePD.show()

        }


    }

and in the function save val dt_nasc = edit_calendar_Pessoa.text.toString ()

    
09.01.2019 / 15:33