android登录简单窗口
16lz
2022-03-15
- 下面是原代码:
- packagecom.smart.db;
- importandroid.content.Context;
- importandroid.database.sqlite.SQLiteDatabase;
- importandroid.database.sqlite.SQLiteOpenHelper;
- publicclassSQLiteextendsSQLiteOpenHelper{
- publicstaticfinalStringTB_NAME="smrtDataBase";
- //构造方法
- publicSQLite(Contextcontext){
- super(context,TB_NAME,null,1);
- }
- /**
- *创建数据库表
- */
- @Override
- publicvoidonCreate(SQLiteDatabasedb){
- db.execSQL("CREATETABLEusers(userIdintegerprimarykeyautoincrement,namevarchar(20),passwordvarchar(20))");
- }
- /**
- *当检测与前一次创建数据库版本不一样时,先删除表再创建新表
- */
- @Override
- publicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){
- db.execSQL("DROPTABLEIFEXISTSusers");
- onCreate(db);
- }
- }
- packagecom.smart.db;
- importandroid.content.ContentValues;
- importandroid.content.Context;
- importandroid.database.Cursor;
- importandroid.database.sqlite.SQLiteDatabase;
- publicclassUserImpl{
- privateSQLitesqlite;
- privateContextcontent;
- privateSQLiteDatabasedb;
- publicUserImpl(Contextcontext){
- sqlite=newSQLite(context);
- }
- //登录方法
- publicCursorlogin(Stringname,Stringpwd){
- SQLiteDatabasedatabase=sqlite.getReadableDatabase();
- CursormCursor=database.query(true,"users",newString[]{"name"},
- "name=?andpassword=?",newString[]{name,pwd},null,
- null,null,null);
- returnmCursor;
- }
- //保存方法
- publicbooleansave(Stringname,Stringpassword){
- SQLiteDatabasedatabase=sqlite.getWritableDatabase();
- ContentValuesvalues=newContentValues();
- values.put("name",name);
- values.put("password",password);
- //必须添加记录,除了主键之处,其它都要null
- database.insert("users","name",values);
- returntrue;
- }
- }
- packagecom.smart.loginActivity;
- importcom.smart.db.UserImpl;
- importandroid.app.Activity;
- importandroid.database.Cursor;
- importandroid.os.Bundle;
- importandroid.util.Log;
- importandroid.view.View;
- importandroid.view.View.OnClickListener;
- importandroid.widget.Button;
- importandroid.widget.EditText;
- importandroid.widget.Toast;
- publicclassLoginMainextendsActivity{
- privatestaticfinalStringTAG="LoginMain";
- privateButtonok;
- privateButtonexit;
- privateEditTextname;
- privateEditTextpassword;
- @Override
- publicvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);//得到控件
- ok=(Button)findViewById(R.id.ok);
- exit=(Button)findViewById(R.id.exit);
- name=(EditText)findViewById(R.id.username);
- password=(EditText)findViewById(R.id.password);
- ok.setOnClickListener(newOnClickListener(){//方法编写
- @Override
- publicvoidonClick(Viewv){
- Log.i(TAG,name.getText().toString()+"<----passord---->"
- +password.getText().toString());
- try{
- UserImplimpl=newUserImpl(LoginMain.this);
- Cursorcursor=impl.login(name.getText().toString(),password.getText().toString());//得到记录
- if(cursor.moveToNext()){//进行判断数据库当中是否有记得
- Toast.makeText(LoginMain.this,"成功登录!",Toast.LENGTH_LONG)
- .show();
- }else{
- Toast.makeText(LoginMain.this,"你的用户名或密码错误,请重新输入",
- Toast.LENGTH_LONG).show();
- name.setText("");
- password.setText("");
- }
- }catch(Exceptione){
- Log.i(TAG,"报错了");
- }
- }
- });
- //取消
- exit.setOnClickListener(newOnClickListener(){
- @Override
- publicvoidonClick(Viewv){
- Log.i(TAG,name.getText().toString()+"<----passord---->"
- +password.getText().toString());
- Toast.makeText(LoginMain.this,"你点击了取消!",Toast.LENGTH_LONG)
- .show();
- finish();
- }
- });
- }
- }
- <?xmlversion="1.0"encoding="utf-8"?>
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- android:orientation="vertical"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- >
- <LinearLayoutandroid:orientation="horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content">
- <TextView
- android:layout_width="100dip"
- android:layout_height="wrap_content"
- android:text="@string/userName"
- />
- <EditText
- android:layout_width="200dip"
- android:layout_height="wrap_content"
- android:textSize="15dip"
- android:id="@+id/username"
- />
- </LinearLayout>
- <LinearLayoutandroid:orientation="horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content">
- <TextView
- android:layout_width="100dip"
- android:layout_height="wrap_content"
- android:text="@string/userPwd"
- />
- <EditText
- android:layout_width="200dip"
- android:layout_height="wrap_content"
- android:textSize="15dip"
- android:id="@+id/password"
- android:password="true"
- />
- </LinearLayout>
- <LinearLayoutandroid:orientation="horizontal"android:layout_width="wrap_content"android:layout_height="wrap_content">
- <Button
- android:layout_width="100dip"
- android:layout_height="wrap_content"
- android:text="@string/ok"
- android:id="@+id/ok"
- />
- <Button
- android:layout_width="100dip"
- android:layout_height="wrap_content"
- android:text="@string/exit"
- android:id="@+id/exit"
- />
- </LinearLayout>
- </LinearLayout>
更多相关文章
- Android对话框的几种形式
- 升级android studio3.0遇到的问题
- Android标题栏(titlebar)显示进度条
- android 数据库更改数据库位置【DbFlow示范】
- android proguard 错误处理
- API 23及之后版本关于用android studio 中LocationManager的方法
- Android下按扭的使用方法
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用