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. 升级android studio3.0遇到的问题
  3. Android标题栏(titlebar)显示进度条
  4. android 数据库更改数据库位置【DbFlow示范】
  5. android proguard 错误处理
  6. API 23及之后版本关于用android studio 中LocationManager的方法
  7. Android下按扭的使用方法
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. Android(安卓)Notes(06) - Touch事件分发
  2. android studio logcat 打印不出信息
  3. [Android] - 官方轉換dp, sp 至 pixel的
  4. 如何打log 检查 Android(安卓)CTS failur
  5. PendingIntent实现原理和代码
  6. Android崩溃
  7. Android中Http网络请求库Asnyc-http的使
  8. Android(安卓)内存溢出(Out Of Memory)
  9. Android(安卓)30月入门到精通(6) Android(
  10. Eclipse(Windowns XP)下搭建Android开发