zoukankan      html  css  js  c++  java
  • android登录功能

    登录功能的user文件

     1 package com.example.justloginregistertest;
     2 /**
     3  * Created by littlecurl 2018/6/24
     4  */
     5 public class User {
     6     private String name;            //用户名
     7     private String password;        //密码
     8     public User(String name, String password) {
     9         this.name = name;
    10         this.password = password;
    11     }
    12     public String getName() {
    13         return name;
    14     }
    15     public void setName(String name) {
    16         this.name = name;
    17     }
    18     public String getPassword() {
    19         return password;
    20     }
    21     public void setPassword(String password) {
    22         this.password = password;
    23     }
    24 }

    连接数据库的DBOpenHelper文件

     1 package com.example.justloginregistertest;
     2 
     3 import android.content.Context;
     4 import android.database.Cursor;
     5 import android.database.sqlite.SQLiteDatabase;
     6 import android.database.sqlite.SQLiteOpenHelper;
     7 
     8 import java.util.ArrayList;
     9 /**
    10  * Created by littlecurl 2018/6/24
    11  */
    12 
    13 public class DBOpenHelper extends SQLiteOpenHelper {
    14     /**
    15      * 声明一个AndroidSDK自带的数据库变量db
    16      */
    17     private SQLiteDatabase db;
    18 
    19     /**
    20      * 写一个这个类的构造函数,参数为上下文context,所谓上下文就是这个类所在包的路径
    21      * 指明上下文,数据库名,工厂默认空值,版本号默认从1开始
    22      * super(context,"db_test",null,1);
    23      * 把数据库设置成可写入状态,除非内存已满,那时候会自动设置为只读模式
    24      * 不过,以现如今的内存容量,估计一辈子也见不到几次内存占满的状态
    25      * db = getReadableDatabase();
    26      */
    27     public DBOpenHelper(Context context){
    28         super(context,"db_test",null,1);
    29         db = getReadableDatabase();
    30     }
    31 
    32     /**
    33      * 重写两个必须要重写的方法,因为class DBOpenHelper extends SQLiteOpenHelper
    34      * 而这两个方法是 abstract 类 SQLiteOpenHelper 中声明的 abstract 方法
    35      * 所以必须在子类 DBOpenHelper 中重写 abstract 方法
    36      * 想想也是,为啥规定这么死必须重写?
    37      * 因为,一个数据库表,首先是要被创建的,然后免不了是要进行增删改操作的
    38      * 所以就有onCreate()、onUpgrade()两个方法
    39      * @param db
    40      */
    41     @Override
    42     public void onCreate(SQLiteDatabase db){
    43         db.execSQL("CREATE TABLE IF NOT EXISTS user(" +
    44                 "_id INTEGER PRIMARY KEY AUTOINCREMENT," +
    45                 "name TEXT," +
    46                 "password TEXT)");
    47     }
    48     @Override
    49     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
    50         db.execSQL("DROP TABLE IF EXISTS user");
    51         onCreate(db);
    52     }
    53     /**
    54      * 接下来写自定义的增删改查方法
    55      * 这些方法,写在这里归写在这里,以后不一定都用
    56      * add()
    57      * delete()
    58      * update()
    59      * getAllData()
    60      */
    61     public void add(String name,String password){
    62         db.execSQL("INSERT INTO user (name,password) VALUES(?,?)",new Object[]{name,password});
    63     }
    64     public void delete(String name,String password){
    65         db.execSQL("DELETE FROM user WHERE name = AND password ="+name+password);
    66     }
    67     public void updata(String password){
    68         db.execSQL("UPDATE user SET password = ?",new Object[]{password});
    69     }
    70 
    71     /**
    72      * 前三个没啥说的,都是一套的看懂一个其他的都能懂了
    73      * 下面重点说一下查询表user全部内容的方法
    74      * 我们查询出来的内容,需要有个容器存放,以供使用,
    75      * 所以定义了一个ArrayList类的list
    76      * 有了容器,接下来就该从表中查询数据了,
    77      * 这里使用游标Cursor,这就是数据库的功底了,
    78      * 在Android中我就不细说了,因为我数据库功底也不是很厚,
    79      * 但我知道,如果需要用Cursor的话,第一个参数:"表名",中间5个:null,
    80      *                                                     最后是查询出来内容的排序方式:"name DESC"
    81      * 游标定义好了,接下来写一个while循环,让游标从表头游到表尾
    82      * 在游的过程中把游出来的数据存放到list容器中
    83      * @return
    84      */
    85     public ArrayList<User> getAllData(){
    86 
    87         ArrayList<User> list = new ArrayList<User>();
    88         Cursor cursor = db.query("user",null,null,null,null,null,"name DESC");
    89         while(cursor.moveToNext()){
    90             String name = cursor.getString(cursor.getColumnIndex("name"));
    91             String password = cursor.getString(cursor.getColumnIndex("password"));
    92             list.add(new User(name,password));
    93         }
    94         return list;
    95     }
    96 }
  • 相关阅读:
    (转)解读Flash矩阵
    Size Classes with Xcode 6
    Android viewPage notifyDataSetChanged无刷新
    pgbouncer 源码编译安装
    在greenplum中创建master only 表
    创建函数查询greenplum使用到某个数据表的所有视图
    greenplum 视图权限
    创建视图查询所有segment 实例上的会话状态
    greenplumdb 元数据检查gpcheckcat 问题修复一例
    pg_dump 备份greenplum db 报错退出
  • 原文地址:https://www.cnblogs.com/znjy/p/14891901.html
Copyright © 2011-2022 走看看