用sqlite保存客户端的账户信息
来源:互联网 发布:数组的存储方式 编辑:程序博客网 时间:2024/06/05 07:54
每次关闭App后都需要输入账号密码,觉得很不方便,于是准备在用户第一次登陆成功时利用sqlite在客户端保存用户的账户信息,第二次打开App时检查是否有保存的记录,如果有,直接读取后发送登陆请求给服务器。(在密码过期或者重置后会删除本地记录)
这是写好的方法,之前因为写错 SQL语句导致查出来的列与表实际的列不一样。折腾了半天发现是 把*(全部列) 写成 了Count*(只有1列)
package com.example.panda.easyexpress10;import android.content.Context;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;/** * Created by SmallBear on 2015/10/17. */public final class DatabaseHelper { public static boolean IsSaved(Context context){ SQLiteDatabase db= new SQLiteDB(context).getWritableDatabase(); Cursor cursor = db.rawQuery("select * from User", null); System.out.println("------------------------------数据库一共" + (cursor.getCount()) +"行"+cursor.getColumnCount()+"列"); System.out.println("------------------------------第1列列名是" + (cursor.getColumnName(0))+"第2列列名是" + (cursor.getColumnName(1)) ); System.out.println("------------------------------名为uid的索引是" + (cursor.getColumnIndex("uid")) +" "); System.out.println("------------------------------名为psw的索引是" + (cursor.getColumnIndex("psw")) +" "); // System.out.println("------------------------------第一行第1列的数据是" + (cursor.getInt(0)) +" "); // System.out.println("------------------------------第一行第1列的数据是" + (cursor.getInt(1)) +" "); if (cursor.getCount()>0) { cursor.moveToFirst(); Varbs.uid=cursor.getInt(cursor.getColumnIndex("uid")); Varbs.name=cursor.getString(cursor.getColumnIndex("name")); Varbs.psw=cursor.getString(cursor.getColumnIndex("psw")); System.out.println("------------------------------用户名是" + (cursor.getInt(cursor.getColumnIndex("name"))) +" "); System.out.println("------------------------------密码是" + (cursor.getString(cursor.getColumnIndex("psw"))) +" "); db.close(); return true; } else { db.close(); return false; } } public static void Add(Context context,int uid,String name,String psw){ SQLiteDatabase db= new SQLiteDB(context).getWritableDatabase(); db.execSQL("insert into User(uid,name,psw) values(?,?,?)", new Object[]{uid,name, psw}); db.close(); } public static void delete(Context context){ System.out.println("------------------------------正在删除保存的用户信息" ); SQLiteDatabase db= new SQLiteDB(context).getWritableDatabase(); db.execSQL("DELETE FROM User"); db.close(); }}
这个是表结构
package com.example.panda.easyexpress10;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;/** * Created by SmallBear on 2015/10/17. */public class SQLiteDB extends SQLiteOpenHelper { //类没有实例化,是不能用作父类构造器的参数,必须声明为静态 private static final String name = "AcountDB"; //数据库名称 private static final int version = 5; //数据库版本 public SQLiteDB(Context context) { //第三个参数CursorFactory指定在执行查询时获得一个游标实例的工厂类,设置为null,代表使用系统默认的工厂类 super(context, name, null, version); } @Override public void onCreate(android.database.sqlite.SQLiteDatabase db) { System.out.println("------------------------------正在创建表" + ("") +" "); db.execSQL("CREATE TABLE User ( uid integer ,name varchar(20), psw varchar(20))"); } @Override public void onUpgrade(android.database.sqlite.SQLiteDatabase db, int oldVersion, int newVersion) { System.out.println("------------------------------正在更新表" + ("") +" "); db.execSQL(" DROP TABLE IF EXISTS User "); db.execSQL("CREATE TABLE User ( uid integer ,name varchar(20), psw varchar(20))"); }}
0 0
- 用sqlite保存客户端的账户信息
- 清除MyEclipse保存的svn账户信息
- SQLite保存登录信息
- Oracle的账户信息
- Android SQLite保存多个选择题的选择信息
- 登录账户名的保存
- vim用root账户保存
- android客户端登陆web服务端,怎么让服务端保存客户端的登录信息
- SQlite保存python的对象
- 删除已存在的SVN账户信息
- 删除已存在的SVN账户信息
- 把客户端的信息保存在flash的SharedObject中,实现类似cookies的功能
- 一个openlaszlo使用flash的共享对象实现保存客户端信息的例子
- 一个简单的BitTorrent客户端实现(二):种子文件解析及信息保存
- 用注册表信息来保存窗体的打开信息
- keychiain 保存账户密码
- 保存GIT账户
- 如何删除掉电脑中svn保存的账户密码
- 欢迎使用CSDN-markdown编辑器
- clousim学习笔记----关于cloudlet从生到死
- 数组排序同时返回元素在原数组中的位置
- 024 Swap Nodes in Pairs [Leetcode]
- 图像处理(六)递归双边滤波磨皮
- 用sqlite保存客户端的账户信息
- CDMA2000各种信令流程
- javax.persistence.TransactionRequiredException: Executing an update/delete query
- C. Three States
- Win32打开某个文件所在的文件夹并定位
- Qt中的智能指针
- 互联网头条:寒冬,你们全家都寒冬
- WinPcap获取网卡的更多信息
- JavaScript获取函数参数名称