Android数据库实验_第1页
Android数据库实验_第2页
Android数据库实验_第3页
Android数据库实验_第4页
Android数据库实验_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上实验报告实验项目:Android数据库实验一、实验目的1、理解Android中常用的数据存储方式及各自特点;2、掌握Sqlite数据库的相关操作;3、掌握编程访问Sqlite数据库的方法;二、实验原理1、数据存储方式:SharedPreferences、文件、数据库等;2、Sqlite数据库访问;三、实验步骤、数据记录及处理1、手动操作Sqlite数据库;2、编程访问Sqlite数据库,实验用户登录、注册等基本功能;1.定义数据库MySQLiteOpenHelper继承父类SQLiteOpenHelper写基本操作要用的方法并建立相关的类。相关代码如下:MySQLit

2、eOpenHelper.java:public class MySQLiteOpenHelper extends SQLiteOpenHelper public static final String DATABASE_NAME = S.db; public static final String TABLE_NAME = S_table; public static final String COL_1 = ID; public static final String COL_2 = NAME; public static final String COL_3 = PASSWORD; pub

3、lic MySQLiteOpenHelper(Context contect) super(contect, DATABASE_NAME, null, 1); Override public void onCreate(SQLiteDatabase db) db.execSQL(CREATE TABLE + TABLE_NAME + (ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,PASSWORD TEXT); Override public void onUpgrade(SQLiteDatabase db, int oldVersion, in

4、t newVersion) db.execSQL(DROP TABLE IF EXISTS + TABLE_NAME); public Integer deleteData(String id) SQLiteDatabase db = this.getWritableDatabase(); int i = db.delete(TABLE_NAME, ID=?, new Stringid); return i; public boolean find(User userpeople) SQLiteDatabase db = this.getWritableDatabase(); User use

5、r =queryAllData(); if(user=null)return false; for(User i:user) if(.equals()& i.password.equals(userpeople.password) return true; return false; public User queryAllData() SQLiteDatabase db = this.getWritableDatabase(); Cursor results = db.query(TABLE_NAME, new String COL_1,COL_2,

6、 COL_3,null,null,null,null,null); return ConvertToPeople(results); private User ConvertToPeople(Cursor cursor) int resultCounts = cursor.getCount(); if (resultCounts = 0 | !cursor.moveToFirst() return null; User user = new UserresultCounts; for (int i = 0 ; iresultCounts; i+) useri = new User(); use

7、 = cursor.getString(cursor.getColumnIndex(COL_2); useri.password = cursor.getString(cursor.getColumnIndex(COL_3); cursor.moveToNext(); return user; public boolean insertData(String name, String password) SQLiteDatabase db = this.getWritableDatabase(); /打开数据库 ContentValues contentValues = new

8、ContentValues(); contentValues.put(COL_2, name); contentValues.put(COL_3, password); long result = db.insert(TABLE_NAME, null, contentValues); db.close(); if (result = -1) return false; else return true; User.java:public class User private static final long serialVersionUID = 1L; public String name;

9、 public String password; public User() public User(String name, String password) super(); = name; this.password = password; public String getName() return name; public void setName(String name) = name; public String getPassword() return password; public void setPassword(String pa

10、ssword) this.password = password; Override public String toString() return User name= + name + , password= + password + ; 用cmd命令查看在注册界面输入的用户名和密码已经被正确的存入数据库中,操作如下图:2.实现登陆注册的验证。验证界面的数据已经存入数据库中,要完成验证我们需要把用户在登陆界面输入的用户名和密码获取到并和数据库中的数据进行比对,结果会有两种情况:1. 信息完全匹配,界面下方显示Toast登陆成功;2. 信息有至少一条不匹配,界面下方显示Toast登陆失败;相

11、关代码如下:RegisterActivity.java:/定义数据库需要控件(INSERT)myDb = new MySQLiteOpenHelper(this);textName=(EditText)findViewById(R.id.ideText3);textPassword=(EditText)findViewById(R.id.ideText4);Button button4 = (Button)findViewById(R.id.button4);button4.setOnClickListener(new View .OnClickListener() Override publ

12、ic void onClick(View v) ClickMe(); );/添加数据入数据库(INSERT)private void ClickMe() String new_name = textName.getText().toString(); String new_password = textPassword.getText().toString(); Boolean result = myDb.insertData(new_name,new_password); if(result = true) Toast.makeText(this, Data Inserted Sucessf

13、ully, Toast.LENGTH_SHORT).show(); else Toast.makeText(this, Data Inserted Failed, Toast.LENGTH_SHORT).show(); MainActivity.java:/登陆Button button1 = (Button) findViewById(R.id.button1);button1.setOnClickListener(new View.OnClickListener() Override public void onClick(View v) /点击登录按钮 _name = (EditText

14、) findViewById(R.id.et1); _password = (EditText) findViewById(R.id.et2); User user = new User(_name.getText().toString(),_password.getText().toString(); /String log_name = _name.getText().toString(); /String log_password = _password.getText().toString(); if(myDb.find(user)=true) Toast.makeText(getApplicationContext(), 登录成功, Toast.LENGTH_SHORT).show(); else Toast.makeText(getApplicationContext(), 登录失败, Toast.LENGTH_SHORT).show(); );/验证登录public boolean login(String username,String password) SQLiteDatabase db = myDb.getW

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论