Android 移动应用开发:使用 SQLite 数据库保存新闻
以下是一个简单的布局文件和 Activity 文件的示例,用于将新闻保存到 SQLite 数据库。
布局文件 (activity_main.xml):
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Enter news title" />
<EditText
android:id="@+id/editTextContent"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/editTextTitle"
android:hint="Enter news content" />
<Button
android:id="@+id/buttonSave"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/editTextContent"
android:layout_centerHorizontal="true"
android:text="Save" />
</RelativeLayout>
Activity 文件 (MainActivity.java):
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.support.v7.app.AppCompatActivity;
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 {
private EditText editTextTitle, editTextContent;
private Button buttonSave;
private SQLiteDatabase database;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化视图
editTextTitle = findViewById(R.id.editTextTitle);
editTextContent = findViewById(R.id.editTextContent);
buttonSave = findViewById(R.id.buttonSave);
// 创建或打开数据库
database = openOrCreateDatabase('NewsDB', MODE_PRIVATE, null);
database.execSQL("CREATE TABLE IF NOT EXISTS news (id INTEGER PRIMARY KEY AUTOINCREMENT, title VARCHAR, content VARCHAR)");
// 保存按钮点击事件
buttonSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String title = editTextTitle.getText().toString().trim();
String content = editTextContent.getText().toString().trim();
if (title.isEmpty() || content.isEmpty()) {
Toast.makeText(MainActivity.this, 'Please enter title and content', Toast.LENGTH_SHORT).show();
} else {
// 插入新闻到数据库
ContentValues values = new ContentValues();
values.put('title', title);
values.put('content', content);
database.insert('news', null, values);
Toast.makeText(MainActivity.this, 'News saved successfully', Toast.LENGTH_SHORT).show();
// 清空输入框
editTextTitle.setText("");
editTextContent.setText("");
}
}
});
}
@Override
protected void onDestroy() {
super.onDestroy();
// 关闭数据库连接
database.close();
}
}
在这个示例中,布局文件包含了一个标题输入框 (EditText)、内容输入框 (EditText) 和保存按钮 (Button)。在 Activity 文件中,我们首先初始化视图,并创建或打开名为 'NewsDB' 的 SQLite 数据库。然后,我们设置保存按钮的点击事件,当点击按钮时,将输入的标题和内容插入到名为 'news' 的数据库表中。最后,在 Activity 销毁时关闭数据库连接。
原文地址: http://www.cveoy.top/t/topic/f34u 著作权归作者所有。请勿转载和采集!