1. 下面是原代码:
  2. packagecom.smart.db;
  3. importandroid.content.Context;
  4. importandroid.database.sqlite.SQLiteDatabase;
  5. importandroid.database.sqlite.SQLiteOpenHelper;
  6. publicclassSQLiteextendsSQLiteOpenHelper{
  7. publicstaticfinalStringTB_NAME="smrtDataBase";
  8. //构造方法
  9. publicSQLite(Contextcontext){
  10. super(context,TB_NAME,null,1);
  11. }
  12. /**
  13. *创建数据库表
  14. */
  15. @Override
  16. publicvoidonCreate(SQLiteDatabasedb){
  17. db.execSQL("CREATETABLEusers(userIdintegerprimarykeyautoincrement,namevarchar(20),passwordvarchar(20))");
  18. }
  19. /**
  20. *当检测与前一次创建数据库版本不一样时,先删除表再创建新表
  21. */
  22. @Override
  23. publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){
  24. db.execSQL("DROPTABLEIFEXISTSusers");
  25. onCreate(db);
  26. }
  27. }
  28. packagecom.smart.db;
  29. importandroid.content.ContentValues;
  30. importandroid.content.Context;
  31. importandroid.database.Cursor;
  32. importandroid.database.sqlite.SQLiteDatabase;
  33. publicclassUserImpl{
  34. privateSQLitesqlite;
  35. privateContextcontent;
  36. privateSQLiteDatabasedb;
  37. publicUserImpl(Contextcontext){
  38. sqlite=newSQLite(context);
  39. }
  40. //登录方法
  41. publicCursorlogin(Stringname,Stringpwd){
  42. SQLiteDatabasedatabase=sqlite.getReadableDatabase();
  43. CursormCursor=database.query(true,"users",newString[]{"name"},
  44. "name=?andpassword=?",newString[]{name,pwd},null,
  45. null,null,null);
  46. returnmCursor;
  47. }
  48. //保存方法
  49. publicbooleansave(Stringname,Stringpassword){
  50. SQLiteDatabasedatabase=sqlite.getWritableDatabase();
  51. ContentValuesvalues=newContentValues();
  52. values.put("name",name);
  53. values.put("password",password);
  54. //必须添加记录,除了主键之处,其它都要null
  55. database.insert("users","name",values);
  56. returntrue;
  57. }
  58. }
  59. packagecom.smart.loginActivity;
  60. importcom.smart.db.UserImpl;
  61. importandroid.app.Activity;
  62. importandroid.database.Cursor;
  63. importandroid.os.Bundle;
  64. importandroid.util.Log;
  65. importandroid.view.View;
  66. importandroid.view.View.OnClickListener;
  67. importandroid.widget.Button;
  68. importandroid.widget.EditText;
  69. importandroid.widget.Toast;
  70. publicclassLoginMainextendsActivity{
  71. privatestaticfinalStringTAG="LoginMain";
  72. privateButtonok;
  73. privateButtonexit;
  74. privateEditTextname;
  75. privateEditTextpassword;
  76. @Override
  77. publicvoidonCreate(BundlesavedInstanceState){
  78. super.onCreate(savedInstanceState);
  79. setContentView(R.layout.main);//得到控件
  80. ok=(Button)findViewById(R.id.ok);
  81. exit=(Button)findViewById(R.id.exit);
  82. name=(EditText)findViewById(R.id.username);
  83. password=(EditText)findViewById(R.id.password);
  84. ok.setOnClickListener(newOnClickListener(){//方法编写
  85. @Override
  86. publicvoidonClick(Viewv){
  87. Log.i(TAG,name.getText().toString()+"<----passord---->"
  88. +password.getText().toString());
  89. try{
  90. UserImplimpl=newUserImpl(LoginMain.this);
  91. Cursorcursor=impl.login(name.getText().toString(),password.getText().toString());//得到记录
  92. if(cursor.moveToNext()){//进行判断数据库当中是否有记得
  93. Toast.makeText(LoginMain.this,"成功登录!",Toast.LENGTH_LONG)
  94. .show();
  95. }else{
  96. Toast.makeText(LoginMain.this,"你的用户名或密码错误,请重新输入",
  97. Toast.LENGTH_LONG).show();
  98. name.setText("");
  99. password.setText("");
  100. }
  101. }catch(Exceptione){
  102. Log.i(TAG,"报错了");
  103. }
  104. }
  105. });
  106. //取消
  107. exit.setOnClickListener(newOnClickListener(){
  108. @Override
  109. publicvoidonClick(Viewv){
  110. Log.i(TAG,name.getText().toString()+"<----passord---->"
  111. +password.getText().toString());
  112. Toast.makeText(LoginMain.this,"你点击了取消!",Toast.LENGTH_LONG)
  113. .show();
  114. finish();
  115. }
  116. });
  117. }
  118. }
  119. <?xmlversion="1.0"encoding="utf-8"?>
  120. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  121. android:orientation="vertical"
  122. android:layout_width="fill_parent"
  123. android:layout_height="fill_parent"
  124. >
  125. <LinearLayoutandroid:orientation="horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content">
  126. <TextView
  127. android:layout_width="100dip"
  128. android:layout_height="wrap_content"
  129. android:text="@string/userName"
  130. />
  131. <EditText
  132. android:layout_width="200dip"
  133. android:layout_height="wrap_content"
  134. android:textSize="15dip"
  135. android:id="@+id/username"
  136. />
  137. </LinearLayout>
  138. <LinearLayoutandroid:orientation="horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content">
  139. <TextView
  140. android:layout_width="100dip"
  141. android:layout_height="wrap_content"
  142. android:text="@string/userPwd"
  143. />
  144. <EditText
  145. android:layout_width="200dip"
  146. android:layout_height="wrap_content"
  147. android:textSize="15dip"
  148. android:id="@+id/password"
  149. android:password="true"
  150. />
  151. </LinearLayout>
  152. <LinearLayoutandroid:orientation="horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content">
  153. <Button
  154. android:layout_width="100dip"
  155. android:layout_height="wrap_content"
  156. android:text="@string/ok"
  157. android:id="@+id/ok"
  158. />
  159. <Button
  160. android:layout_width="100dip"
  161. android:layout_height="wrap_content"
  162. android:text="@string/exit"
  163. android:id="@+id/exit"
  164. />
  165. </LinearLayout>
  166. </LinearLayout>

更多相关文章

  1. Android下按扭的使用方法
  2. API 23及之后版本关于用android studio 中LocationManager的方法
  3. android 数据库更改数据库位置【DbFlow示范】
  4. Android jetpack Room数据库(一)基本使用
  5. Android:获取屏幕分辨率方法汇总
  6. android获取屏幕长宽的方法
  7. 【Android】SQLite数据库的简单使用
  8. android 进程自杀再重启的方法

随机推荐

  1. android EditText 限制输入大小写,大写转
  2. Android(安卓)10.0 Activity启动详解(二)
  3. Gradle Android基本应用
  4. Android学习之多线程编程(handler篇)
  5. Android(安卓)Studio 自定义皮肤主题和背
  6. Android包管理机制(二)PackageInstaller安
  7. Android小程序-Walker注册页面(六)
  8. 使用Android(安卓)NDK内置编译器为Androi
  9. 【Android】BroadcastReceiver发送intent
  10. 修改Android模拟器的IMEI号