如何处理非静态方法?

问题描述

当我为我执行此操作时,我正在编写一些代码以将一名员工插入数据库中。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 (将#修改为@)