以下是一个简单的布局文件代码示例,用于在 Android 开发中保存新闻到 SQLite 数据库:

<!-- activity_main.xml -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <EditText
        android:id="@+id/editTextTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Title" />

    <EditText
        android:id="@+id/editTextContent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Content" />

    <Button
        android:id="@+id/buttonSave"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Save" />

</LinearLayout>

这个布局文件包含一个标题输入框(EditText)用于输入新闻标题,一个内容输入框(EditText)用于输入新闻内容,以及一个保存按钮(Button)用于保存新闻到数据库。

在相应的 Activity 中,你可以使用以下代码来实现保存新闻到 SQLite 数据库的逻辑:

// MainActivity.java
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);

        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) {
                saveNews();
            }
        });
    }

    private void saveNews() {
        String title = editTextTitle.getText().toString().trim();
        String content = editTextContent.getText().toString().trim();

        SQLiteDatabase db = databaseHelper.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(NewsContract.NewsEntry.COLUMN_TITLE, title);
        values.put(NewsContract.NewsEntry.COLUMN_CONTENT, content);

        long newRowId = db.insert(NewsContract.NewsEntry.TABLE_NAME, null, values);

        if (newRowId == -1) {
            Toast.makeText(this, 'Error saving news', Toast.LENGTH_SHORT).show();
        } else {
            Toast.makeText(this, 'News saved with ID: ' + newRowId, Toast.LENGTH_SHORT).show();
            editTextTitle.setText("");
            editTextContent.setText("");
        }
    }
}

在这个示例中,我们首先在 Activity 的 onCreate 方法中获取布局文件中的 EditText 和 Button 实例,并为 Button 设置一个点击事件监听器。当点击保存按钮时,调用 saveNews 方法来保存新闻到数据库。

在 saveNews 方法中,我们首先获取用户输入的标题和内容,并使用数据库助手类(NewsDatabaseHelper)获取一个可写的 SQLiteDatabase 实例。然后,我们创建一个 ContentValues 对象,并使用 put 方法将新闻标题和内容放入 ContentValues 对象中。

接下来,我们调用 SQLiteDatabase 的 insert 方法将 ContentValues 对象中的数据插入到数据库的表中。如果插入成功,insert 方法将返回新插入行的行 ID(newRowId),否则返回 -1。我们可以根据返回值判断保存是否成功,并显示相应的 Toast 消息。

最后,我们清空标题和内容输入框中的文本,以便用户输入下一条新闻。

请注意,这只是一个简单的示例,你可能需要根据你的实际需求进行适当的修改和扩展。

Android 开发新闻系统:使用 SQLite 数据库保存新闻的布局文件代码

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

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