构造函数SQLiteDatabase无法在android studio中应用

时间:2018-08-05 13:36:09

标签: android sqlite android-studio

  

错误:类SQLiteDatabase中的构造函数SQLiteDatabase不能为   适用于给定的类型;必需:未找到参数:MainActivity   原因:实际和正式论据列表的长度不同

它在行上显示错误:

sqLiteDatabase=new SQLiteDatabase(this);

错误

这是我主要活动中的代码

package com.notify.fahadkhan.myapplication;

import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity  implements View.OnClickListener{


    EditText edt1,edt2;
    Button btn1,btn2,btn3,btn4;
    private database database;
    private SQLiteDatabase sqLiteDatabase;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
// this line has been generated an error
        sqLiteDatabase=new SQLiteDatabase(this);

        btn1=findViewById(R.id.btnin);
        btn2=findViewById(R.id.btndel);
        btn3=findViewById(R.id.btnup);
        btn4=findViewById(R.id.btnview);
        edt1=findViewById(R.id.edt1);
        edt2=findViewById(R.id.edt2);
        btn1.setOnClickListener(this);

    }

    @Override
    public void onClick(View view) {
        switch (view.getId())
        {
            case R.id.btnin:
                String firstname=edt1.getText().toString();
                String lastname=edt2.getText().toString();
                sqLiteDatabase.insertStdudent(firstname,lastname);
                break;
        }
    }
}

我在出现错误的地方添加了评论。

> SQLiteDatabase is not public and it cannot be accessed outside the
> package.

我在代码中到处都检查过,它是公开的。我是android中的数据库新手。任何人都可以在这方面帮助我。

1 个答案:

答案 0 :(得分:1)

没有public的{​​{1}}构造函数。您不使用构造函数创建实例。您可以通过在SQLiteDatabase上调用static方法(例如SQLiteDatabase)或使用其他为您完成此操作的类(例如openOrCreateDatabase())来获取实例。 / p>

the documentation中对此进行了简要介绍。许多有关Android应用程序开发的书籍和课程也介绍了此内容。