android登录简单窗口

简介:

 

 
  1. 下面是原代码: 
  2. package com.smart.db; 
  3.  
  4. import android.content.Context; 
  5. import android.database.sqlite.SQLiteDatabase; 
  6. import android.database.sqlite.SQLiteOpenHelper; 
  7.  
  8. public class SQLite extends SQLiteOpenHelper{ 
  9.     public static final String TB_NAME = "smrtDataBase"
  10.     //构造方法 
  11.     public SQLite(Context context) { 
  12.       
  13.       super(context, TB_NAME, null1); 
  14.     } 
  15.  
  16.     /** 
  17.       * 创建数据库表 
  18.       */ 
  19.     @Override 
  20.     public void onCreate(SQLiteDatabase db) { 
  21.         db.execSQL("CREATE TABLE users (userId integer primary key autoincrement,name varchar(20),password varchar(20))"); 
  22.     } 
  23.  
  24.     /** 
  25.       * 当检测与前一次创建数据库版本不一样时,先删除表再创建新表 
  26.       */ 
  27.     @Override 
  28.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
  29.       db.execSQL("DROP TABLE IF EXISTS users"); 
  30.       onCreate(db); 
  31.     } 
  32.  
  33.     
  34.     
  35.  
  36.     
  37.  
  38.  
  39. package com.smart.db; 
  40.  
  41. import android.content.ContentValues; 
  42. import android.content.Context; 
  43. import android.database.Cursor; 
  44. import android.database.sqlite.SQLiteDatabase; 
  45.  
  46. public class UserImpl { 
  47.     private SQLite sqlite; 
  48.     private Context content; 
  49.     private SQLiteDatabase db; 
  50.  
  51.     public UserImpl(Context context) { 
  52.  
  53.         sqlite = new SQLite(context); 
  54.     } 
  55. //登录方法 
  56.     public Cursor login(String name, String pwd) { 
  57.         SQLiteDatabase database = sqlite.getReadableDatabase(); 
  58.         Cursor mCursor = database.query(true"users"new String[] { "name" }, 
  59.                 "name=? and password=?"new String[] { name, pwd }, null
  60.                 nullnullnull); 
  61.         return mCursor; 
  62.     } 
  63. //保存方法 
  64.     public boolean save(String name, String password) { 
  65.         SQLiteDatabase database = sqlite.getWritableDatabase(); 
  66.         ContentValues values = new ContentValues(); 
  67.         values.put("name", name); 
  68.         values.put("password", password); 
  69.         // 必须添加记录,除了主键之处,其它都要null 
  70.         database.insert("users""name", values); 
  71.         return true
  72.     } 
  73.  
  74. package com.smart.loginActivity; 
  75.  
  76. import com.smart.db.UserImpl; 
  77.  
  78. import android.app.Activity; 
  79. import android.database.Cursor; 
  80. import android.os.Bundle; 
  81. import android.util.Log; 
  82. import android.view.View; 
  83. import android.view.View.OnClickListener; 
  84. import android.widget.Button; 
  85. import android.widget.EditText; 
  86. import android.widget.Toast; 
  87.  
  88. public class LoginMain extends Activity { 
  89.  
  90.     private static final String TAG = "LoginMain"
  91.     private Button ok; 
  92.     private Button exit; 
  93.     private EditText name; 
  94.     private EditText password; 
  95.  
  96.     @Override 
  97.     public void onCreate(Bundle savedInstanceState) { 
  98.         super.onCreate(savedInstanceState); 
  99.         setContentView(R.layout.main);//得到控件 
  100.         ok = (Button) findViewById(R.id.ok); 
  101.         exit = (Button) findViewById(R.id.exit); 
  102.         name = (EditText) findViewById(R.id.username); 
  103.         password = (EditText) findViewById(R.id.password); 
  104.         ok.setOnClickListener(new OnClickListener() {//方法编写 
  105.             @Override 
  106.             public void onClick(View v) { 
  107.                 Log.i(TAG, name.getText().toString() + "<----passord---->" 
  108.                         + password.getText().toString()); 
  109.                 try { 
  110.                     UserImpl impl = new UserImpl(LoginMain.this); 
  111.                     Cursor cursor = impl.login(name.getText().toString(), password.getText().toString());// 得到记录 
  112.                     if (cursor.moveToNext()) {//进行判断数据库当中是否有记得 
  113.                         Toast.makeText(LoginMain.this"成功登录!", Toast.LENGTH_LONG) 
  114.                                 .show(); 
  115.  
  116.                     } else { 
  117.                         Toast.makeText(LoginMain.this"你的用户名或密码错误,请重新输入"
  118.                                 Toast.LENGTH_LONG).show(); 
  119.                         name.setText(""); 
  120.                         password.setText(""); 
  121.                     } 
  122.                 } catch (Exception e) { 
  123.                     Log.i(TAG, "报错了"); 
  124.                 } 
  125.  
  126.             } 
  127.         }); 
  128.         //取消 
  129.         exit.setOnClickListener(new OnClickListener() { 
  130.             @Override 
  131.             public void onClick(View v) { 
  132.                 
  133.                 Log.i(TAG, name.getText().toString() + "<----passord---->" 
  134.                         + password.getText().toString()); 
  135.                 Toast.makeText(LoginMain.this"你点击了取消!", Toast.LENGTH_LONG) 
  136.                         .show(); 
  137.                 finish(); 
  138.             } 
  139.         }); 
  140.     } 
  141. <?xml version="1.0" encoding="utf-8"?> 
  142. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  143.     android:orientation="vertical" 
  144.     android:layout_width="fill_parent" 
  145.     android:layout_height="fill_parent" 
  146.     > 
  147.     <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"
  148.     
  149. <TextView  
  150.     android:layout_width="100dip" 
  151.     android:layout_height="wrap_content" 
  152.     android:text="@string/userName" 
  153.     /> 
  154. <EditText 
  155.     android:layout_width="200dip" 
  156.     android:layout_height="wrap_content" 
  157.     android:textSize="15dip" 
  158.     android:id="@+id/username" 
  159.     /> 
  160.     </LinearLayout> 
  161.     <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"
  162.     
  163. <TextView  
  164.     android:layout_width="100dip" 
  165.     android:layout_height="wrap_content" 
  166.     android:text="@string/userPwd" 
  167.     /> 
  168. <EditText 
  169.     android:layout_width="200dip" 
  170.     android:layout_height="wrap_content" 
  171.     android:textSize="15dip" 
  172.     android:id="@+id/password" 
  173.     android:password="true" 
  174.     /> 
  175.  
  176.     </LinearLayout> 
  177.     
  178.     <LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"
  179. <Button 
  180.     
  181.     android:layout_width="100dip" 
  182.     android:layout_height="wrap_content" 
  183.     android:text="@string/ok" 
  184.     android:id="@+id/ok" 
  185.     /> 
  186.  
  187.     <Button 
  188.     
  189.     android:layout_width="100dip" 
  190.     android:layout_height="wrap_content" 
  191.     android:text="@string/exit" 
  192.     android:id="@+id/exit" 
  193.     /> 
  194.     </LinearLayout> 
  195. </LinearLayout> 

 


本文转自 llb988 51CTO博客,原文链接:http://blog.51cto.com/llb988/531777,如需转载请自行联系原作者

相关文章
|
3月前
|
数据安全/隐私保护 Android开发
2023安卓逆向 -- 某合伙apk登录加密分析
2023安卓逆向 -- 某合伙apk登录加密分析
26 0
|
6月前
|
JavaScript Java Android开发
Cocos Creator Android 平台 Facebook 原生登录(二)
Cocos Creator Android 平台 Facebook 原生登录
|
6月前
|
开发工具 Android开发 数据安全/隐私保护
Cocos Creator Android 平台 Facebook 原生登录(一)
Cocos Creator Android 平台 Facebook 原生登录
278 0
|
6月前
|
数据安全/隐私保护 Android开发
2023安卓逆向 -- 某合伙apk登录加密分析
2023安卓逆向 -- 某合伙apk登录加密分析
41 0
|
6月前
|
Java 数据安全/隐私保护 Android开发
Android 实战项目 -- 登录主页、找回密码
Android 实战项目 -- 登录主页、找回密码
89 0
|
6月前
|
存储 JavaScript Java
Cocos Creator Android 平台 Google 原生登录(二)
Cocos Creator Android 平台 Google 原生登录
123 0
|
6月前
|
API 开发工具 Android开发
Cocos Creator Android 平台 Google 原生登录(一)
Cocos Creator Android 平台 Google 原生登录
182 0
|
7月前
|
Android开发 开发者
Android播放器实现视频窗口实时放大缩小功能
很多开发者希望Android播放端实现视频窗口的放大缩小功能,为此,我们做了个简单的demo,通过播放端回调RGB数据,直接在上层view操作处理即可,Github:https://github.com/daniulive/SmarterStreaming
179 0
|
8月前
|
Android开发
Android 中PopupWindow弹出式窗口的使用
Android 中PopupWindow弹出式窗口的使用
39 0
|
8月前
|
JavaScript 前端开发 Android开发
uniapp+vue+uview适配安卓4.4项目实现简单登录和操作页面
uniapp+vue+uview适配安卓4.4项目实现简单登录和操作页面
172 0