Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvida no SQLiteOpenHelper

Galera, tudo bem? Estou fazendo o app do curso de introdução ao android no kotlin e estou meio que travado em um erro, pois quando busco no google a implementação parece correta, queria pedir ajuda para ver onde estou errado.

Código da activity

 override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        var alunoDAO = AlunoDAO(this@MainActivity)

        float_button_add.setOnClickListener {
            startActivity(Intent(this@MainActivity, FormActivity::class.java))
        }
    }

Codigo do DAO

class AlunoDAO (context: Context) : SQLiteOpenHelper(context, "Agenda", 1, null) {

    override fun onCreate(db: SQLiteDatabase?) {
        val sql : String = "CREATE TABLE Alunos (id INTEGER PRIMARY KEY, nome TEXT NOT NULL,endereco TEXT, telefone TEXT, site TEXT, nota REAL)"
        db?.execSQL(sql)
    }

    override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
        val sql : String = "DROP TABLE IF EXISTS Alunos"
        db?.execSQL(sql)
        onCreate(db)
    }

Ele ja quebra logo no inicio, dizendo que estou passando uma referencia nulla

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.database.sqlite.SQLiteDatabase$OpenParams$Builder android.database.sqlite.SQLiteDatabase$OpenParams.toBuilder()' on a null object reference
        at android.database.sqlite.SQLiteOpenHelper.<init>(SQLiteOpenHelper.java:121)
        at com.example.alunos.dao.AlunoDAO.<init>(AlunoDAO.kt:13)
        at com.example.alunos.MainActivity.onCreate(MainActivity.kt:19)

Se alguem puder me ajudar, agradeço muito.

1 resposta
solução!

Opa consegui, estava passando os valores na ordem errada na chamada.