android开发新闻系统进行新闻保存到SQLite数据库的布局文件代码
以下是一个简单的布局文件代码示例,用于在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消息。
最后,我们清空标题和内容输入框中的文本,以便用户输入下一条新闻。
请注意,这只是一个简单的示例,你可能需要根据你的实际需求进行适当的修改和扩展。
原文地址: http://www.cveoy.top/t/topic/hB9B 著作权归作者所有。请勿转载和采集!