Android 代码详解:使用 SQLite 数据库保存新闻数据
// 导入 android.content.ContentValues 类,用于存储键值对数据 import android.content.ContentValues; // 导入 android.database.sqlite.SQLiteDatabase 类,用于操作数据库 import android.database.sqlite.SQLiteDatabase; // 导入 android.os.Bundle 类,用于保存和传递数据 import android.os.Bundle; // 导入 android.view.View 类,用于创建用户界面组件 import android.view.View; // 导入 android.widget.Button 类,用于创建按钮组件 import android.widget.Button; // 导入 android.widget.EditText 类,用于创建文本输入框组件 import android.widget.EditText; // 导入 android.widget.Toast 类,用于显示短暂的提示消息 import android.widget.Toast; // 导入 androidx.appcompat.app.AppCompatActivity 类,用于创建活动 import androidx.appcompat.app.AppCompatActivity;
// 创建 MainActivity 类,继承自 AppCompatActivity 类 public class MainActivity extends AppCompatActivity { // 声明私有变量,用于引用界面上的文本输入框和按钮组件 private EditText editTextTitle, editTextContent; private Button buttonSave; // 声明私有变量,用于引用数据库帮助类对象 private NewsDatabaseHelper databaseHelper;
// 重写 onCreate() 方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 设置活动的布局文件为 activity_main.xml
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);
// 为按钮组件设置点击事件监听器
buttonSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 调用 saveNewsToDatabase() 方法保存新闻到数据库
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();
// 将标题和内容放入 ContentValues 对象中
values.put(NewsDatabaseHelper.COLUMN_TITLE, title);
values.put(NewsDatabaseHelper.COLUMN_CONTENT, content);
// 将数据插入到数据库中,并返回新插入行的 ID
long newRowId = db.insert(NewsDatabaseHelper.TABLE_NAME, null, values);
}
}
原文地址: https://www.cveoy.top/t/topic/f34r 著作权归作者所有。请勿转载和采集!