备忘录项目截图:(长按可以删除,带有粘贴功能)
实现步骤:
1.创建备忘录数据库表:DataBaseHelp.java
package com.example.sqlite;
import android.annotation.SuppressLint;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import androidx.annotation.Nullable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class DataBaseHelp extends SQLiteOpenHelper {
public static final String COPY_TEXT_TABLE = "COPY_TEXT_TABLE";
public static final String COLUMN_TEXT = "TEXT";
public static final String COLUMN_ID = "ID";
public DataBaseHelp(@Nullable Context context) {
super(context, "copy-text.db", null, 2);
}
@Override
public void onCreate(SQLiteDatabase db) {
String createTableStatement = "CREATE TABLE " + COPY_TEXT_TABLE +
" (" + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
COLUMN_TEXT + " TEXT)";
db.execSQL(createTableStatement);
}
2.主界面设计:activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<!-- android:inputType="textPersonName"-->
<EditText
android:id="@+id/et_text"
android:layout_width="337dp"
android:layout_height="116dp"
android:layout_marginStart="32dp"
android:layout_marginTop="32dp"
android:layout_marginEnd="32dp"
android:background="@drawable/edittext_border"
android:ems="10"
android:gravity="left|top"
android:hint="@string/input_hint"
android:inputType="textMultiLine"
android:minHeight="48dp"
android:padding="10dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="RtlHardcoded" />
<Button
android:id="@+id/btn_add"
android:layout_width="130dp"
android:layout_height="60dp"
android:layout_marginTop="8dp"
android:text="@string/btn_add"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.839"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_text" />
<ListView
android:id="@+id/lv_customerList"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="8dp"
android:layout_marginBottom="50dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/btn_add" />
<Button
android:id="@+id/btn_paste"
android:layout_width="130dp"
android:layout_height="60dp"
android:layout_marginTop="8dp"
android:text="@string/btn_paste"
app:layout_constraintEnd_toStartOf="@+id/btn_add"
app:layout_constraintHorizontal_bias="0.438"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/et_text" />
</androidx.constraintlayout.widget.ConstraintLayout>
3.后端增删改查
public boolean addOne(CopyTextModel copyTextModel) {
SQLiteDatabase db = this.getWritableDatabase();
ContentValues cv = new ContentValues();
// System.out.println("text:"+copyTextModel.getText());
try {
cv.put(COLUMN_TEXT, copyTextModel.getText().trim());
long insert = db.insert(COPY_TEXT_TABLE, null, cv);
return insert != -1;
} catch (Exception e) {
return false;
}
}
public boolean deleteOne(CopyTextModel copyTextModel) {
SQLiteDatabase db = this.getWritableDatabase();
String queryString = "DELETE FROM " + COPY_TEXT_TABLE + " WHERE " + COLUMN_ID + " = ?";
@SuppressLint("Recycle")
Cursor cursor = db.rawQuery(queryString, new String[]{String.valueOf(copyTextModel.getId())});
return cursor.moveToFirst();
}