问题描述
当我为我执行此操作时,我正在编写一些代码以将一名员工插入数据库中。Database.dao()。addEmployee(emp);它说不能从静态上下文引用非静态方法“ dao”。如果我将其添加到静态,则addEmployee()也将变为错误。我不确定这是什么意思,因为我是一个初学者。我的dao是数据库的接口,如果这有助于弄清我要做什么。任何帮助将不胜感激。这是我的代码:
package com.example.a2;
import androidx.appcompat.app.AppCompatActivity;
import androidx.room.Room;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
public static Database database;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
database = Room.databaseBuilder(getApplicationContext(),Database.class,"employeedb").allowMainThreadQueries().build();
final Button logInBt = findViewById(R.id.buttonLogIn);
final EditText userEditText = findViewById(R.id.editTextTextPersonName);
final EditText passwordEditText = findViewById(R.id.editTextTextPassword);
logInBt.setonClickListener(new View.OnClickListener() {
public void onClick(View view) {
Intent i = new Intent(getApplicationContext(),Inventory.class);
startActivity(i);
// Obtaining data from the interface
String userName = userEditText.getText().toString();
String password = passwordEditText.getText().toString();
// Create new employee object
Employee emp = new Employee();
emp.setUserName(userName);
emp.setPassword(password);
//Insert customer into database
Database.dao().addEmployee(emp);
//display a message
Toast.makeText(getBaseContext(),"Added successfully!",Toast.LENGTH_SHORT).show();
// Clear the text
userEditText.setText("");
passwordEditText.setText("");
}
});
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)