// 导入必要的类和包
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class MainActivity extends AppCompatActivity {

    // 声明私有变量,用于存储界面元素和数据库帮助器对象
    private EditText editTextTitle, editTextContent;
    private Button buttonSave;
    private NewsDatabaseHelper databaseHelper;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // 初始化界面元素,通过findViewById方法获取布局文件中定义的视图组件
        editTextTitle = findViewById(R.id.editTextTitle);
        editTextContent = findViewById(R.id.editTextContent);
        buttonSave = findViewById(R.id.buttonSave);
        databaseHelper = new NewsDatabaseHelper(this);
        
        // 设置按钮的点击事件监听器,当用户点击按钮时,会触发onClick方法
        buttonSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 调用保存新闻到数据库的方法
                saveNewsToDatabase(); 
            }
        });
    }

    // 保存新闻到数据库的方法
    private void saveNewsToDatabase() {
        // 获取标题和内容的文本输入框的文本内容,并去除首尾空格
        String title = editTextTitle.getText().toString().trim();
        String content = editTextContent.getText().toString().trim();
        
        // 获取可写的数据库实例,用于执行写入操作
        SQLiteDatabase db = databaseHelper.getWritableDatabase();
        
        // 创建一个ContentValues对象,用于存储要插入数据库的数据,类似于键值对的形式
        ContentValues values = new ContentValues();
        values.put(NewsDatabaseHelper.COLUMN_TITLE, title); // 将标题添加到ContentValues中
        values.put(NewsDatabaseHelper.COLUMN_CONTENT, content); // 将内容添加到ContentValues中
        
        // 将数据插入到数据库的指定表中,并返回插入的新行的ID
        long newRowId = db.insert(NewsDatabaseHelper.TABLE_NAME, null, values);
        
        // 可以根据newRowId的值判断插入操作是否成功
    }
}
Android SQLite数据库操作:保存新闻标题和内容

原文地址: https://www.cveoy.top/t/topic/f34n 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录