团队冲刺--第一阶段(七)

团队冲刺--第一阶段(七),第1张

概述一、前言昨天完善了登录注册的服务端。今天利用Sqlite数据库实现了记住用户登录状态的功能,当用户登录以后在数据库中插入用户数据,当用户点击退出登录之后,将数据删除,在启动APP的时候对本地数据库进行查询,如果有数据,则直接进入主页面,否则进入登录页面。遇到的困难是在记住

@H_301_1@一、前言

@H_301_1@  昨天完善了登录注册的服务端。

  今天利用sqlite数据库实现了记住用户登录状态的功能,当用户登录以后在数据库中插入用户数据,当用户点击退出登录之后,将数据删除,在启动APP的时候对本地数据库进行查询,如果有数据,则直接进入主页面,否则进入登录页面。遇到的困难是在记住用户已登录之后,用户ID参数的传导问题,通过了解query语法解决。

  明天继续对细节以及一些页面进行美化改进。

@H_301_1@二、成果

@H_301_1@

@H_301_1@ 三、代码

@[email protected]

package com.androIDlearing.tdtreehole.database;import androID.content.Context;import androID.database.sqlite.sqliteDatabase;import androID.database.sqlite.sqliteOpenHelper;import androID.util.Log;import androIDx.annotation.Nullable;/** * @Projectname: TDTreeHole * @Package: com.androIDlearing.tdtreehole.databasehelper * @Classname: DataBaseHelper * @Description: java类作用描述 * @Author: 武神酱丶 * @CreateDate: 2020/4/23 16:44 * @UpdateUser: 更新者 * @UpdateDate: 2020/4/23 16:44 * @UpdateRemark: 更新说明 * @Version: 1.0 */public class DataBaseHelper  extends sqliteOpenHelper {    private static final String DATA_BASE_name = "user";    private static final int VERSION = 1;    private static final String TAG = "DataBaseHelper";    public DataBaseHelper(@Nullable Context context) {        super(context, DATA_BASE_name, null, VERSION);    }    //创建数据库的回调    @OverrIDe    public voID onCreate(sqliteDatabase db) {        Log.d(TAG,"创建数据库...");        String sql = "create table "+DATA_BASE_name+"(ID integer primary key,username varchar(255),password varchar(255))";        db.execsql(sql);    }    //需要修改表结构时使用该方法    @OverrIDe    public voID onUpgrade(sqliteDatabase db, int oldVersion, int newVersion) {        //升级数据库的回调    }}
VIEw Code

@[email protected]

package com.androIDlearing.tdtreehole.database;import androID.content.ContentValues;import androID.content.Context;import androID.database.Cursor;import androID.database.sqlite.sqliteDatabase;import androID.database.sqlite.sqliteOpenHelper;import androID.util.Log;/** * @Projectname: TDTreeHole * @Package: com.androIDlearing.tdtreehole.database * @Classname: Dao * @Description: java类作用描述 * @Author: 武神酱丶 * @CreateDate: 2020/4/23 16:49 * @UpdateUser: 更新者 * @UpdateDate: 2020/4/23 16:49 * @UpdateRemark: 更新说明 * @Version: 1.0 */public class Dao {    private static final String TAG ="Dao" ;    private final DataBaseHelper mHelper;    private static final String DATA_BASE_name = "user";    //创建数据库    public Dao(Context context){        mHelper = new DataBaseHelper(context);    }    //插入数据    public voID insert(int ID,String username,String password){        sqliteDatabase db = mHelper.getWritableDatabase();        ContentValues values = new ContentValues();        values.put("ID",ID);        values.put("username",username);        values.put("password",password);        db.insert(DATA_BASE_name,null,values);        db.close();    }    //查询数据    public int select(){        sqliteDatabase db = mHelper.getWritableDatabase();        int userID = 0;        Cursor cursor = db.query(DATA_BASE_name,null,null,null,null,null,null);        while (cursor.movetoNext()){            userID = cursor.getInt(cursor.getColumnIndex("ID"));        }        cursor.close();        db.close();        return userID;    }    //删除数据    public voID delete(){        sqliteDatabase db = mHelper.getWritableDatabase();        db.delete(DATA_BASE_name,null,null);        db.close();    }}
VIEw Code

@[email protected]

package com.androIDlearing.tdtreehole.activity;import androID.content.Intent;import androID.os.Bundle;import androIDx.appcompat.app.AppCompatActivity;import com.androIDlearing.tdtreehole.database.Dao;import com.androIDlearing.tdtreehole.database.DataBaseHelper;import static java.lang.Thread.sleep;public class LunchActivity extends AppCompatActivity {    private DataBaseHelper mDatabaseHelper;    @OverrIDe    protected voID onCreate(Bundle savedInstanceState) {        super.onCreate( savedInstanceState );        //app启动页的加载        new Thread( new Runnable( ) {            @OverrIDe            public voID run() {                //耗时任务,比如加载网络数据                runOnUiThread(new Runnable() {                    @OverrIDe                    public voID run() {                        // 这里可以睡几秒钟,如果要放广告的话                        try {                            sleep(2000);                        } catch (InterruptedException e) {                            e.printstacktrace();                        }                    }                });            }        } ).start();        //初始化用户的登录状态        initState();    }    private voID initState() {        Dao dao = new Dao(this);        //查询数据,如果数据库中有数据,跳转至MainActivity        if (dao.select()!=0){            Intent intent = new Intent(LunchActivity.this, MainActivity.class);            intent.putExtra("IDKey",dao.select());            startActivity(intent);            LunchActivity.this.finish();        }        //如果没有查询到数据,跳转至LoginActivity        else {            Intent intent = new Intent(LunchActivity.this, LoginActivity.class);            startActivity(intent);            LunchActivity.this.finish();        }    }}
VIEw Code

@H_301_1@四、今日团队链接

https://www.cnblogs.com/three3/p/12763763.html

总结

以上是内存溢出为你收集整理的团队冲刺--第一阶段(七)全部内容,希望文章能够帮你解决团队冲刺--第一阶段(七)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062252.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存