以下是一个简单的布局文件代码示例,用于在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/hB9B 著作权归作者所有。请勿转载和采集!

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