如何在Andriod Studio应用中实施CRUD操作

时间:2019-10-13 01:31:13

标签: android

我一直在尝试完成其中一门课程的应用程序,但似乎无法找出本教程中的错误。我相信错误在于最后一个Java类,该类实现了该应用程序的添加,删除和搜索功能。我不得不从import android.support.v7.app.AppCompatActivity更改一行import语句;导入androidx.appcompat.app.AppCompatActivity;但是,该代码仍然无法正常工作。任何输入都会有所帮助。

package cs360.com.databaseexample;

import android.os.Bundle;
import androidx.appcompat.app.AppCompatActivity;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

public class DatabaseActivity extends AppCompatActivity {

    TextView idView;
    EditText nameBox;
    EditText ageBox;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        idView = (TextView) findViewById(R.id.dogID);
        nameBox = (EditText) findViewById(R.id.dogName);
        ageBox = (EditText) findViewById(R.id.dogAge);
    }

    public void newDog(View view) {
        DogDBHandler dbHandler = new DogDBHandler(this, null, null, 1);
        int age = Integer.parseInt(ageBox.getText().toString());
        Dog dog = new Dog(age, nameBox.getText().toString());

        dbHandler.addDog(dog);
        nameBox.setText("");
        ageBox.setText("");
    }

    public void searchForDog(View view) {
        DogDBHandler dbHandler = new DogDBHandler(this, null, null, 1);
        Dog dog = dbHandler.searchDog(nameBox.getText().toString());

        if (dog != null) {
            idView.setText(String.valueOf(dog.getID()));
            ageBox.setText(String.valueOf(dog.getAge()));
        } else {
            idView.setText("Dog not found.");
        }
    }

    public void deleteDog(View view) {
        DogDBHandler dbHandler = new DogDBHandler(this, null, null, 1);
        boolean result = dbHandler.deleteDog(nameBox.getText().toString());

        if (result)
        {
            idView.setText("Dog Deleted");
            nameBox.setText("");
            ageBox.setText("");
        } else {
            idView.setText("Dog not found.");
        }
    }
}

1 个答案:

答案 0 :(得分:1)

  

我不得不从import android.support.v7.app.AppCompatActivity更改一行import语句;导入androidx.appcompat.app.AppCompatActivity;

据此,我认为这是与向AndroidX迁移有关的问题。在Android Studio 3.2及更高版本中,从菜单栏中选择Refactor> Migrate to AndroidX。然后,检查您的gradle.properties文件并添加以下文件:

android.useAndroidX=true
android.enableJetifier=true

请遵循此link,以获取有关如何迁移到AndroidX的信息。如果仍然存在任何错误,请执行手动替换,方法是:编辑>查找>在路径中替换(CTRL + SHIFT + R),然后按照此link替换旧的。例如,android.support.v7.app.AppCompatActivityandroidx.appcompat.app.AppCompatActivity。您将在此处找到所有到新AndroidX的映射。