赞
踩
目录
登录按钮绑定匹配数据库用户密码是否正确并且传值跳转Content页面事件:
1. 数据库需要存储用户信息、及备忘录信息,
2. 每个用户都有各自的备忘录信息,信息互不干扰
3. 根据按钮 完成数据库 增删查改,实时更新信息
下载链接
官网 SQLiteStudiohttps://sqlitestudio.pl/
在本地android studio 上 查询数据库并且复制到桌面用sqlitestudio 工具查看
结果如下:
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"
- android:background="@drawable/img"
- tools:context=".MainActivity">
-
- <ImageView
- android:id="@+id/imageView"
- android:layout_width="122dp"
- android:layout_height="109dp"
- android:layout_marginStart="152dp"
- android:layout_marginBottom="44dp"
- android:src="@drawable/userimg"
- app:layout_constraintBottom_toTopOf="@+id/loginView"
- app:layout_constraintStart_toStartOf="parent" />
-
- <EditText
- android:id="@+id/loginView"
- android:layout_width="235dp"
- android:layout_height="51dp"
- android:layout_marginStart="108dp"
- android:layout_marginTop="232dp"
- android:background="@android:drawable/editbox_background"
- android:hint=" Enter your name"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <EditText
- android:id="@+id/passwordView"
- android:layout_width="240dp"
- android:layout_height="50dp"
- android:layout_marginStart="104dp"
- android:layout_marginTop="36dp"
- android:background="@android:drawable/editbox_background"
- android:hint=" Enter your password"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/loginView" />
-
- <Button
- android:id="@+id/loginbutton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="84dp"
- android:layout_marginTop="144dp"
- android:text="登录"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/passwordView" />
-
- <Button
- android:id="@+id/registerbutton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="144dp"
- android:layout_marginEnd="40dp"
- android:text="注册"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/passwordView" />
-
- <CheckBox
- android:id="@+id/checkBox"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="68dp"
- android:layout_marginEnd="36dp"
- android:text="记住密码"
- android:textAppearance="@style/TextAppearance.AppCompat.Medium"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/passwordView" />
-
- </androidx.constraintlayout.widget.ConstraintLayout>
icon 文件
- package com.example.myapplication;
-
- import androidx.appcompat.app.AppCompatActivity;
-
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.database.sqlite.SQLiteDatabase;
- import android.graphics.drawable.Drawable;
- import android.os.Bundle;
- import android.text.method.PasswordTransformationMethod;
- import android.widget.Button;
- import android.widget.CheckBox;
- import android.widget.EditText;
- import android.widget.Toast;
-
- public class MainActivity extends AppCompatActivity {
-
- private EditText editText;
- private EditText editText1;
- Drawable icon;
- Drawable icon1;
- private CheckBox checkBox;
-
- private MyHelper myHelper;
-
-
-
-
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main1);
-
- editText = findViewById(R.id.loginView);
- editText1 = findViewById(R.id.passwordView);
- editText1.setTransformationMethod(PasswordTransformationMethod.getInstance());//密码不可见
-
- icon = getResources().getDrawable(R.drawable.profile1);
- icon1 = getResources().getDrawable(R.drawable.password);
- icon.setBounds(0, 0, 80, 80);
- editText.setCompoundDrawables(icon, null, null, null);
- icon1.setBounds(0,0,80,80);
- editText1.setCompoundDrawables(icon1, null, null, null);
-
-
-
-
-
-
- }
- }
建立用户表user_table及备忘录content_table
- package com.example.myapplication;
-
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- import android.widget.Toast;
-
- import androidx.annotation.Nullable;
-
- import java.util.ArrayList;
- import java.util.List;
-
- public class MyHelper extends SQLiteOpenHelper {
- private static final String dbname = "memo.db";
- private static final String UserTableName = "user_table";
- private static final String ContentTableName = "content_table";
- private List<String> memolist = new ArrayList<>();
-
- public MyHelper(@Nullable Context context) {
- super(context,dbname, null, 2);
- }
-
- @Override
- public void onCreate(SQLiteDatabase sqLiteDatabase) {
-
- String sql_create1 = "CREATE TABLE IF NOT EXISTS "+ UserTableName +"("+"_id integer primary key autoincrement,username varchar not null,password varchar not null"+");";
- sqLiteDatabase.execSQL(sql_create1);
- String sql_create2 = "CREATE TABLE IF NOT EXISTS "+ ContentTableName +"("+"_id integer primary key autoincrement,username varchar not null,memotitle varchar not null"+");";
- sqLiteDatabase.execSQL(sql_create2);
-
- }
- }
插入用户信息:
-
- //注册事件 插入user记录
- protected void insert_user(user user,SQLiteDatabase sqLiteDatabase){
- sqLiteDatabase.execSQL("insert into user_table "
- + "(username,password)"
- + "values(?,?)" ,
- new String[]{user.getUsername(), user.getPassword()}
- );
-
- }
匹配用户及密码信息:
-
- //查询数据库 先按username 筛选记录 再与password字段匹配 ,如果不存在记录也是返回false
- @SuppressLint("Range")
- protected boolean queryuser(user user, SQLiteDatabase sqLiteDatabase){
-
- Cursor cursor = sqLiteDatabase.rawQuery("select * from user_table where username = ? and password = ?", new String[]{user.getUsername(), user.getPassword()});
- if(cursor.moveToNext()) {
-
-
- return true;
-
-
- }
- return false;
- }
- myHelper = new MyHelper(MainActivity.this);
- db = myHelper.getWritableDatabase();
- register = findViewById(R.id.registerbutton);
- //注册事件
- register.setOnClickListener(view -> {
- user user = new user(editText.getText().toString(),editText1.getText().toString());
- myHelper.insert_user(user,db);
- Toast.makeText(MainActivity.this,"注册成功",Toast.LENGTH_LONG).show();
- });
- login.setOnClickListener(view -> {
- user user = new user(editText.getText().toString(),editText1.getText().toString());
-
- if (myHelper.queryuser(user,db)){
-
- Toast.makeText(MainActivity.this,"登陆成功",Toast.LENGTH_LONG).show();
-
- Intent intent = new Intent(MainActivity.this,ContentActivity.class);
- intent.putExtra("username",editText.getText().toString());
- startActivity(intent);
-
- }else {
- Toast.makeText(MainActivity.this,"用户名或密码错误",Toast.LENGTH_LONG).show();
- }
- });
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout 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"
- android:orientation="vertical"
- android:background="@drawable/background"
- android:gravity="center"
- tools:context=".ContentActivity">
-
- <TextView
- android:id="@+id/textView"
- android:layout_width="401dp"
- android:layout_height="39dp"
- android:text="备忘录"
- android:textAlignment="center"
- android:textAppearance="@style/TextAppearance.AppCompat.Large" />
-
- <ListView
- android:id="@+id/listview"
- android:layout_width="398dp"
- android:layout_height="613dp" />
-
- <Button
- android:id="@+id/button"
- android:layout_width="wrap_content"
- android:layout_height="65dp"
- android:background="@android:drawable/ic_input_add"
- android:backgroundTint="#E1D0D0"
- app:rippleColor="@color/white" />
- </LinearLayout>
- //查询备忘录并且返回list
- protected List<String> queryMemo(String username,SQLiteDatabase db){
- memolist.clear();
-
- Cursor cursor = db.rawQuery("select * from content_table where username = ? ", new String[]{username});
-
- while (cursor.moveToNext()){
- memolist.add(cursor.getString(2));
- }
-
-
-
-
- return memolist;
- }
-
- //插入备忘录
- protected void insert_title(String username ,String title ,SQLiteDatabase db){
- db.execSQL("insert into content_table "
- + "(username,memotitle)"
- + "values(?,?)" ,
- new String[]{username, title}
- );
- }
-
-
- //删除备忘录
- public void delete_content(String username ,String title ,SQLiteDatabase db){
- String sql = "delete from "+ ContentTableName +" where username like '"+username+"' and memotitle like '"+title
- +"';";
- db.execSQL(sql);
- }
-
- //更新备忘录
- public void update_content(String username,String old_tit,String new_tit,SQLiteDatabase db){
- String sql = "update "+ ContentTableName +" set memotitle = '"+new_tit+"'where username like '"
- +username+"' and memotitle like '"+old_tit+"';";
- db.execSQL(sql);
- }
- //列表点击事件
- //长按
- listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
- @Override
- public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
- final String content = ((TextView) view).getText().toString();
- AlertDialog.Builder editDialog = new AlertDialog.Builder(ContentActivity.this);
- editDialog.setTitle(content);
- editDialog.setMessage("是否删除该备忘录");
- editDialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- myHelper.delete_content(username, content, db);
- Toast.makeText(ContentActivity.this, "数据已删除", Toast.LENGTH_LONG).show();
- onResume();
- }
- });
- editDialog.show();
- return true;
- }
- });
- //短按事件
- listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
- final String content = ((TextView) view).getText().toString();
- final EditText editText = new EditText(ContentActivity.this);
-
- editText.setText(memolist.get(i));
- AlertDialog.Builder editDialog = new AlertDialog.Builder(ContentActivity.this);
- editDialog.setView(editText);
- editDialog.setTitle("请重新输入内容:");
- editDialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- String newtitle = editText.getText().toString();
- if (newtitle.length() > 0) {
- myHelper.update_content(username, content, newtitle, db);
- Toast.makeText(ContentActivity.this, "数据已存入", Toast.LENGTH_LONG).show();
- onResume();
- } else {
- Toast.makeText(ContentActivity.this, "数据为空", Toast.LENGTH_LONG).show();
- }
- }
- });
- editDialog.show();
- }
- });
- //添加备忘录按键
- button = findViewById(R.id.button);
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- final EditText editText = new EditText(ContentActivity.this);
- AlertDialog.Builder editalertlog = new AlertDialog.Builder(ContentActivity.this);
- editalertlog.setTitle("请输入备忘录内容:");
- editalertlog.setView(editText);
- editalertlog.setPositiveButton("确认", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- String title = editText.getText().toString();
- if(title.length()>0){
- myHelper.insert_title(username,title,db);
- Toast.makeText(ContentActivity.this,"数据已添加",Toast.LENGTH_LONG).show();
- onResume();
- }else {
- Toast.makeText(ContentActivity.this,"输入数据为空",Toast.LENGTH_LONG).show();
- }
- }
- });
- editalertlog.show();
-
- }
- });
注意:这个回调函数涉及到界面备忘录数据的显示,另外listview 需要适配器,才能绑定数据
- @Override
- protected void onResume() {
- super.onResume();
- if (db ==null || !db.isOpen()) {
- db = myHelper.getWritableDatabase();
- }
- memolist = myHelper.queryMemo(username,db);
- listView.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,memolist));
-
- }
MainActivity.java:
- ackage com.example.myapplication;
-
- import androidx.appcompat.app.AppCompatActivity;
-
- import android.content.Intent;
- import android.content.SharedPreferences;
- import android.database.sqlite.SQLiteDatabase;
- import android.graphics.drawable.Drawable;
- import android.os.Bundle;
- import android.text.method.PasswordTransformationMethod;
- import android.widget.Button;
- import android.widget.CheckBox;
- import android.widget.EditText;
- import android.widget.Toast;
-
- public class MainActivity extends AppCompatActivity {
-
- private EditText editText;
- private EditText editText1;
- Drawable icon;
- Drawable icon1;
- private CheckBox checkBox;
-
- private MyHelper myHelper;
-
-
- private SharedPreferences myShare;
- private SQLiteDatabase db ;
- private Button login;
- private Button register;
-
- @Override
- protected void onStart() {
- super.onStart();
- myShare = getSharedPreferences("save_login",MODE_PRIVATE);
- Boolean checked = myShare.getBoolean("checkBox",false);
- String name = myShare.getString("username",null);
- String password = myShare.getString("password",null);
- if(checked){
- editText.setText("");
- editText1.setText("");
- }else{
- editText.setText(name);
- editText1.setText(password);
- }
-
-
-
- }
-
-
-
-
- @Override
- protected void onStop() {
- super.onStop();
- //myHelper.closeLink();
- myShare = getSharedPreferences("save_login",MODE_PRIVATE);
- SharedPreferences.Editor myEdit = myShare.edit();
- if(checkBox.isChecked()){
-
- myEdit.putString("username",editText.getText().toString());
- myEdit.putString("password",editText1.getText().toString());
- myEdit.putBoolean("checksave",true);
- myEdit.commit();
- }else {
- myEdit.putBoolean("checksave",false);
- myEdit.clear().commit();
- }
-
- }
-
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main1);
-
- editText = findViewById(R.id.loginView);
- editText1 = findViewById(R.id.passwordView);
- editText1.setTransformationMethod(PasswordTransformationMethod.getInstance());//密码不可见
-
- icon = getResources().getDrawable(R.drawable.profile1);
- icon1 = getResources().getDrawable(R.drawable.password);
- icon.setBounds(0, 0, 80, 80);
- editText.setCompoundDrawables(icon, null, null, null);
- icon1.setBounds(0,0,80,80);
- editText1.setCompoundDrawables(icon1, null, null, null);
-
- checkBox = findViewById(R.id.checkBox);
-
- myHelper = new MyHelper(MainActivity.this);
- db = myHelper.getWritableDatabase();
-
- login = findViewById(R.id.loginbutton);
- register = findViewById(R.id.registerbutton);
- login.setOnClickListener(view -> {
- user user = new user(editText.getText().toString(),editText1.getText().toString());
-
- if (myHelper.queryuser(user,db)){
-
- Toast.makeText(MainActivity.this,"登陆成功",Toast.LENGTH_LONG).show();
-
- Intent intent = new Intent(MainActivity.this,ContentActivity.class);
- intent.putExtra("username",editText.getText().toString());
- startActivity(intent);
-
- }else {
- Toast.makeText(MainActivity.this,"用户名或密码错误",Toast.LENGTH_LONG).show();
- }
- });
-
- register.setOnClickListener(view -> {
- user user = new user(editText.getText().toString(),editText1.getText().toString());
- myHelper.insert_user(user,db);
- Toast.makeText(MainActivity.this,"注册成功",Toast.LENGTH_LONG).show();
- });
-
-
-
-
- }
-
- }
ContentActivity.java
- package com.example.myapplication;
-
- import androidx.appcompat.app.AlertDialog;
- import androidx.appcompat.app.AppCompatActivity;
-
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.database.sqlite.SQLiteDatabase;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.ArrayAdapter;
- import android.widget.Button;
- import android.widget.EditText;
- import android.widget.ListView;
- import android.widget.TextView;
- import android.widget.Toast;
-
- import java.util.ArrayList;
- import java.util.List;
-
- public class ContentActivity extends AppCompatActivity {
-
- private ListView listView;
- private String username;
- private String title;
- private MyHelper myHelper;
- private SQLiteDatabase db;
- private List<String> memolist = new ArrayList<>();
- private Button button;
- private TextView textView;
-
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_content);
- listView = findViewById(R.id.listview);
- //接受MainActivity的传值
- Intent intent = getIntent();
- username = intent.getStringExtra("username");
- myHelper =new MyHelper(this);
- textView = findViewById(R.id.textView);
- textView.setText(username+"的备忘录");
-
-
-
- //列表点击事件
- //长按
- listView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
- @Override
- public boolean onItemLongClick(AdapterView<?> adapterView, View view, int i, long l) {
- final String content = ((TextView) view).getText().toString();
- AlertDialog.Builder editDialog = new AlertDialog.Builder(ContentActivity.this);
- editDialog.setTitle(content);
- editDialog.setMessage("是否删除该备忘录");
- editDialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- myHelper.delete_content(username, content, db);
- Toast.makeText(ContentActivity.this, "数据已删除", Toast.LENGTH_LONG).show();
- onResume();
- }
- });
- editDialog.show();
- return true;
- }
- });
-
- //短按事件
- listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
- @Override
- public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
- final String content = ((TextView) view).getText().toString();
- final EditText editText = new EditText(ContentActivity.this);
-
- editText.setText(memolist.get(i));
- AlertDialog.Builder editDialog = new AlertDialog.Builder(ContentActivity.this);
- editDialog.setView(editText);
- editDialog.setTitle("请重新输入内容:");
- editDialog.setPositiveButton("确定", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- String newtitle = editText.getText().toString();
- if (newtitle.length() > 0) {
- myHelper.update_content(username, content, newtitle, db);
- Toast.makeText(ContentActivity.this, "数据已存入", Toast.LENGTH_LONG).show();
- onResume();
- } else {
- Toast.makeText(ContentActivity.this, "数据为空", Toast.LENGTH_LONG).show();
- }
- }
- });
- editDialog.show();
- }
- });
-
- //添加备忘录按键
- button = findViewById(R.id.button);
- button.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- final EditText editText = new EditText(ContentActivity.this);
- AlertDialog.Builder editalertlog = new AlertDialog.Builder(ContentActivity.this);
- editalertlog.setTitle("请输入备忘录内容:");
- editalertlog.setView(editText);
- editalertlog.setPositiveButton("确认", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialogInterface, int i) {
- String title = editText.getText().toString();
- if(title.length()>0){
- myHelper.insert_title(username,title,db);
- Toast.makeText(ContentActivity.this,"数据已添加",Toast.LENGTH_LONG).show();
- onResume();
- }else {
- Toast.makeText(ContentActivity.this,"输入数据为空",Toast.LENGTH_LONG).show();
- }
- }
- });
- editalertlog.show();
-
- }
- });
-
-
-
-
- }
-
- /**
- *
- */
- @Override
- protected void onResume() {
- super.onResume();
- if (db ==null || !db.isOpen()) {
- db = myHelper.getWritableDatabase();
- }
- memolist = myHelper.queryMemo(username,db);
- listView.setAdapter(new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,memolist));
-
- }
-
- /**
- *
- */
- @Override
- protected void onStart() {
- super.onStart();
- }
-
- /**
- *
- */
- @Override
- protected void onStop() {
- super.onStop();
-
-
- }
- }
Myhelper.java
- package com.example.myapplication;
-
- import android.annotation.SuppressLint;
- import android.content.Context;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- import android.widget.Toast;
-
- import androidx.annotation.Nullable;
-
- import java.util.ArrayList;
- import java.util.List;
-
- public class MyHelper extends SQLiteOpenHelper {
- private static final String dbname = "memo.db";
- private static final String UserTableName = "user_table";
- private static final String ContentTableName = "content_table";
- private List<String> memolist = new ArrayList<>();
-
- public MyHelper(@Nullable Context context) {
- super(context,dbname, null, 2);
- }
-
- @Override
- public void onCreate(SQLiteDatabase sqLiteDatabase) {
-
- String sql_create1 = "CREATE TABLE IF NOT EXISTS "+ UserTableName +"("+"_id integer primary key autoincrement,username varchar not null,password varchar not null"+");";
- sqLiteDatabase.execSQL(sql_create1);
- String sql_create2 = "CREATE TABLE IF NOT EXISTS "+ ContentTableName +"("+"_id integer primary key autoincrement,username varchar not null,memotitle varchar not null"+");";
- sqLiteDatabase.execSQL(sql_create2);
-
- }
-
-
-
- @Override
- public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
- String drop = "DROP TABLE IF EXISTS "+ UserTableName +";";
- sqLiteDatabase.execSQL(drop);
- drop = "DROP TABLE IF EXISTS "+ContentTableName +";";
- sqLiteDatabase.execSQL(drop);
- onCreate(sqLiteDatabase);
-
-
- }
-
- //查询数据库 先按username 筛选记录 再与password字段匹配 ,如果不存在记录也是返回false
- @SuppressLint("Range")
- protected boolean queryuser(user user, SQLiteDatabase sqLiteDatabase){
-
- Cursor cursor = sqLiteDatabase.rawQuery("select * from user_table where username = ? and password = ?", new String[]{user.getUsername(), user.getPassword()});
- if(cursor.moveToNext()) {
-
-
- return true;
-
-
- }
- return false;
- }
- //注册事件 插入user记录
- protected void insert_user(user user,SQLiteDatabase sqLiteDatabase){
- sqLiteDatabase.execSQL("insert into user_table "
- + "(username,password)"
- + "values(?,?)" ,
- new String[]{user.getUsername(), user.getPassword()}
- );
-
- }
-
- //查询备忘录并且返回list
- protected List<String> queryMemo(String username,SQLiteDatabase db){
- memolist.clear();
-
- Cursor cursor = db.rawQuery("select * from content_table where username = ? ", new String[]{username});
-
- while (cursor.moveToNext()){
- memolist.add(cursor.getString(2));
- }
-
-
-
-
- return memolist;
- }
-
- //插入备忘录
- protected void insert_title(String username ,String title ,SQLiteDatabase db){
- db.execSQL("insert into content_table "
- + "(username,memotitle)"
- + "values(?,?)" ,
- new String[]{username, title}
- );
- }
-
-
- //删除备忘录
- public void delete_content(String username ,String title ,SQLiteDatabase db){
- String sql = "delete from "+ ContentTableName +" where username like '"+username+"' and memotitle like '"+title
- +"';";
- db.execSQL(sql);
- }
-
- //更新备忘录
- public void update_content(String username,String old_tit,String new_tit,SQLiteDatabase db){
- String sql = "update "+ ContentTableName +" set memotitle = '"+new_tit+"'where username like '"
- +username+"' and memotitle like '"+old_tit+"';";
- db.execSQL(sql);
- }
- }
user.java:
- package com.example.myapplication;
-
- public class user {
- private String username;
- private String password;
- public user(String username, String password){
- this.username = username;
- this.password = password;
- }
-
- public String getUsername() {
- return username;
- }
-
- public String getPassword() {
- return password;
- }
- }
activity_content.xml:
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout 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"
- android:orientation="vertical"
- android:background="@drawable/background"
- android:gravity="center"
- tools:context=".ContentActivity">
-
- <TextView
- android:id="@+id/textView"
- android:layout_width="401dp"
- android:layout_height="39dp"
- android:text="备忘录"
- android:textAlignment="center"
- android:textAppearance="@style/TextAppearance.AppCompat.Large" />
-
- <ListView
- android:id="@+id/listview"
- android:layout_width="398dp"
- android:layout_height="613dp" />
-
- <Button
- android:id="@+id/button"
- android:layout_width="wrap_content"
- android:layout_height="65dp"
- android:background="@android:drawable/ic_input_add"
- android:backgroundTint="#E1D0D0"
- app:rippleColor="@color/white" />
- </LinearLayout>
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"
- android:background="@drawable/img"
- tools:context=".MainActivity">
-
- <ImageView
- android:id="@+id/imageView"
- android:layout_width="122dp"
- android:layout_height="109dp"
- android:layout_marginStart="152dp"
- android:layout_marginBottom="44dp"
- android:src="@drawable/userimg"
- app:layout_constraintBottom_toTopOf="@+id/loginView"
- app:layout_constraintStart_toStartOf="parent" />
-
- <EditText
- android:id="@+id/loginView"
- android:layout_width="235dp"
- android:layout_height="51dp"
- android:layout_marginStart="108dp"
- android:layout_marginTop="232dp"
- android:background="@android:drawable/editbox_background"
- android:hint=" Enter your name"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toTopOf="parent" />
-
- <EditText
- android:id="@+id/passwordView"
- android:layout_width="240dp"
- android:layout_height="50dp"
- android:layout_marginStart="104dp"
- android:layout_marginTop="36dp"
- android:background="@android:drawable/editbox_background"
- android:hint=" Enter your password"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/loginView" />
-
- <Button
- android:id="@+id/loginbutton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginStart="84dp"
- android:layout_marginTop="144dp"
- android:text="登录"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/passwordView" />
-
- <Button
- android:id="@+id/registerbutton"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="144dp"
- android:layout_marginEnd="40dp"
- android:text="注册"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/passwordView" />
-
- <CheckBox
- android:id="@+id/checkBox"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="68dp"
- android:layout_marginEnd="36dp"
- android:text="记住密码"
- android:textAppearance="@style/TextAppearance.AppCompat.Medium"
- app:layout_constraintEnd_toEndOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/passwordView" />
-
- </androidx.constraintlayout.widget.ConstraintLayout>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。