【问题标题】:getWritableDatabase function causing an errorgetWritableDatabase 函数导致错误
【发布时间】:2016-04-10 23:00:30
【问题描述】:

我正在创建一个名为 Mycontacts 的应用程序。这与 youtube (https://www.youtube.com/watch?v=38DOncHIazs) 上的视频相同。

但是这个getWritableDatabase() 导致错误

不能从静态上下文引用非静态方法“getWritableDatabase()”

public class addcontacts extends AppCompactActivity
{ 

    EditText conname, conmobno, conemail;
    Context context = this;
    userDbHelper userdbhelp;
    SQLiteDatabase sqLiteDatabase;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.addcontacts);
        conname = (EditText) findViewById(R.id.Name);
        conmobno = (EditText) findViewById(R.id.Contno);
        conemail = (EditText) findViewById(R.id.Eid);
    }

    public void addContest(View view)  {
        String name = conname.getText().toString();
        String mobno = conmobno.getText().toString();
        String conem = conemail.getText().toString();
        userdbhelp = new userDbHelper(context);
        sqLiteDatabase = userDbHelper.getWritableDatabase();
        userdbhelp.addinformation(name,mobno,conem, sqLiteDatabase);
        Toast.makeText(getBaseContext(),"data saved",Toast.LENGTH_SHORT).show();
        userdbhelp.close();
    }
}

【问题讨论】:

    标签: java android database sqlite android-sqlite


    【解决方案1】:

    改变

    userdbhelp = new userDbHelper(context);
    sqLiteDatabase = userDbHelper.getWritableDatabase();
    

    userdbhelp = new userDbHelper(context);
    sqLiteDatabase = userdbhelp.getWritableDatabase();
    

    您需要在实例userdbhelp 上调用方法,而不是在userDbHelper 类上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-07
      • 2016-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-05
      • 2018-01-13
      相关资源
      最近更新 更多