(資料庫)Android登入,註冊介面簡單實現。
本文使旨在用最簡單的Demo來實現原理,有不足之處歡迎指出,多多包涵,大家一起交流~
1、一般兄弟們看這篇文章應該對資料庫多少有些瞭解,簡潔說SQL是Structured Query Language結構化查詢語言的縮寫。SQL是專為資料庫而建立的操作命令集。資料庫簡單的說就是實行增,刪,改,查的方法。
今天我用資料庫寫了一個登入註冊介面,仿的是ONE的登入介面
登入介面:
註冊介面:
然後建登入Activitty,註冊Activity,分別在兩個佈局中寫相關的佈局控制元件,
大家所熟悉的接下來我們應該寫OpenHelper繼承SQLiteOpenHelper,建個db包 我建個studentdao類
然後在Helper裡面建立資料庫表,資料庫版本號增加時候方法(onUpgrade 切記版本號只能增加不能減小),程式碼如下:
public class DbHelper extends SQLiteOpenHelper { public DbHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { String sql="create table student(id integer primary key autoincrement," + "num integer(5),"+"name varchar(3))"; sqLiteDatabase.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { } }
再說dbo,各個Activity都可以從dbo中呼叫裡面的的方法:
因為我只需要插入資料和查詢方法所以我只寫了兩個方法:
public class StudentDao { Context context; DbHelper dbHelper; public StudentDao(Context context) { this.context = context; dbHelper=new DbHelper(context,"student.db",null,1); } // 往student表中 插入資料方法 public void insert(String num,String name){ // 獲取資料庫寫的許可權 一般都是更新 SQLiteDatabase sqLiteDatabase= dbHelper.getWritableDatabase(); String sql="insert into student(num,name)values(?,?)"; sqLiteDatabase.execSQL(sql,new String[]{num,name}); // ContentValues values=new ContentValues(); // values.put("num",num); // values.put("name",name); // sqLiteDatabase.insert("student",null,values); // sqLiteDatabase.close(); } // 查詢資料庫方法, 使用資料庫讀資料庫許可權的時候,不能呼叫sqLiteDatabase.close(); public Cursor query(String num,String name){ SQLiteDatabase sqLiteDatabase= dbHelper.getReadableDatabase(); String sql="select*from student where num=?and name=?"; return sqLiteDatabase.rawQuery(sql,new String[]{num,name}); }
一個是條件查詢,一個是查詢所有方法:
需要注意的是增呼叫的是getWriteDatabase();
查詢呼叫的是getRead。。。。()
然後我們在註冊Activity呼叫 insert方法
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_login_zhuce); login_zhuce_xiyibu= (Button) findViewById(R.id.login_zhuce_xiyibu); login_zhuce_haoma= (EditText) findViewById(R.id.login_zhuce_haoma); login_zhuce_duanxin= (EditText) findViewById(R.id.login_zhuce_duanxin); studentdao = new StudentDao(this); login_zhuce_xiyibu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String str1=login_zhuce_haoma.getText().toString(); String str11= login_zhuce_duanxin.getText().toString(); studentdao.insert(str1,str11); Intent intent=new Intent(Login_zhuceActivity.this,Login_dengluActivity.class); if(login_zhuce_haoma.getText().toString().length()==11){ Toast.makeText(Login_zhuceActivity.this,"註冊成功",Toast.LENGTH_SHORT).show(); startActivity(intent); }else { Toast.makeText(Login_zhuceActivity.this,"請輸入正確的11手機號碼",Toast.LENGTH_SHORT).show(); } } });
簡單判斷下號碼位數。。想加更多判斷條件的自行自行新增
接下來我們在登入Activity中寫查詢方法,因為需要判定我們用條件查詢方法:
login_denglu_denglu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent1 = new Intent(Login_dengluActivity.this, MainActivity.class); Cursor cursor = studentdao.query(login_edithaoma.getText().toString().trim(), login_editmima.getText().toString().trim()); if (login_edithaoma.getText().toString().length()==11) { if (cursor.moveToNext()) { startActivity(intent1); Toast.makeText(Login_dengluActivity.this, "登入成功", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(Login_dengluActivity.this, "您輸入的賬號或密碼有誤", Toast.LENGTH_SHORT).show(); } }else { Toast.makeText(Login_dengluActivity.this, "請輸入正確11位手機號", Toast.LENGTH_SHORT).show(); } } }); login_zhuce_zhuce = (TextView) findViewById(R.id.login_zhuce_zhuce); login_zhuce_zhuce.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(Login_dengluActivity.this, Login_zhuceActivity.class); startActivity(intent); String str1 = login_edithaoma.getText().toString(); String str2 = login_editmima.getText().toString(); studentdao.query(str1, str2); // break; } });
也是簡單判斷下,判斷和庫中儲存的賬號。密碼是否相等:
其實沒太大難度,主要需要主要方法呼叫時小細節,和判斷時的一些邏輯~
以上就實現了登入,註冊功能,需要原始碼的可私信我,寫的不足之處歡迎大家多包涵,指教,一起交流~
相關推薦
(資料庫)Android登入,註冊介面簡單實現。
本文使旨在用最簡單的Demo來實現原理,有不足之處歡迎指出,多多包涵,大家一起交流~ 1、一般兄弟們看這篇文章應該對資料庫多少有些瞭解,簡潔說SQL是Structured Query Languag
Photon Server遊戲伺服器從零開始學習(六)遊戲登入與註冊操作
為了在客戶端與伺服器端使用共同的code,建立共有引用Common: public enum OperationCode:byte //區分請求和響應的型別 { Default,//預設請求 Login, //登入 Register
雜湊(Hash)資料結構,使用C語言實現s。傻瓜也能
雜湊資料結構是一種非常簡單,實用的資料結構。原理是將資料通過一定的hash函式規則,然後儲存起來。使查詢的時間複雜度近似於O(1)。進而大大節省了程式的執行時間。 雜湊表的原理如圖 原來的資料可以直接通過雜湊函式儲存起來,這樣在搜尋的時候,等於每一個數據都有了自己的特定查詢號碼,
資料結構學習之路(一)C語言對陣列的簡單實現
以下的程式只是在觀看郝斌老師講解的(C語言資料結構)之後自己做得簡單練習。# include <stdio.h> # include <stdlib.h> typedef struct MyArray{ int * pBase; //存放陣列第一個
JBolt開發平臺入門(15)- 上下結構主從表管理簡單實現
在上節課中,我們講到一種上下結構的主從表管理方式。如下圖所示: 上圖中,上半部分是主表JboltVersion表的增刪改查管理t
基於java的微信小程式的實現(二)登入,註冊,登出介面的實現
1.開發工具以及相關環境的配置 1.首先關於IDE,前端小程式端採用的是微信官方的微信開發者工具,後端使用的是idea(idea是真的智慧,再也不想回去eclipse了呢),關於前端的一些程式碼,主要是參照微信官方的API進行開發的,整體的檔案結構也和js,css,html也很相似。
python3 django框架開發(三) 連線MySQL,HTML進行登入,註冊操作
轉載請註明:https://blog.csdn.net/weixin_40490238/article/details/84573309 在上一篇中已經連線好了mysql,建立好使用者表 現在完成 HTML 的使用者登入註冊 sign-in.html的登入表單:
基於java的微信小程式的實現(三)登入,註冊,注小程式端的實現
1.微信小程式專案結構認識 js檔案用來寫相關的邏輯操作,主要是用來操作資料 json檔案用來寫一些相關的配置 wxss相當於css用來寫頁面樣式 wxml相當於html用來寫頁面的元素的 pages資料夾中可以存放多個資料夾,每個資料夾裡面都是一套是js,json
SQL資料庫學習之路(練習)---C#登入介面連資料庫
目錄 參考文章: C#登入介面連資料庫 一、在資料庫中先建立一個數據庫。 資料庫命名為NamePwd,使用SQL語言建立兩個表,一個表命名為name,另一個表命名為pwd。在兩個表中都只建立一個列。 create table
android 登入,傳送等待ProgressDialog(多執行緒)
常常需要在登入,傳送或者其他時候需要等待網路,為了增加使用者體驗,這裡使用了ProgressDialog 下面直接放程式碼 ProgressDialog dialog;//新建一個ProgressDialog protected void onCreate(Bun
使用者登入和註冊介面(html ajax)
使用者名稱密碼的登入頁面(點選註冊跳轉到註冊頁面) </html>login.html <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> &l
Android Camera2 拍照(三)——切換攝像頭,延時拍攝和閃光模式
openca any The visible surface else 提示 再次 .cn 原文:Android Camera2 拍照(三)——切換攝像頭,延時拍攝和閃光模式
iPhone(蘋果)手機怎麽註冊INS賬號,如何簡單使用instagram!
服務器 簡單使用 手機 需要 cto ext alt sta pro 現在這個時代還有多少人不知道INS這個軟件呢 ?instagram已經成為現在年輕人的主流使用工具的。但是還是有很多人不懂的怎麽去使用如何打開instagram軟件。可以說這個款軟件是被國.內禁的,需要通
(超詳細)在使用mybatis時遇到查詢結果返回為空(NULL)的情況,但是查資料庫能查到
這個問題困擾了我一個下午,看了很多部落格都沒有我中情況,所有寫給和我有一樣錯誤的 由於我的實體類裡聲明瞭其它實體類,所以在mapper.xml檔案裡要使用resultMap,在resultMap裡要使用association引入,否則會報錯 下面貼出我的實體類: pub
資料庫開發(五)組函式,子查詢
組函式: 單行函式:每一行會得到一個結果 組函式(多行函式):一組得到一個結果,預設情況下所有的資料是一組 常用組函式(統計): SUM():求和 AVG():求平均 MAX():求最大 MIN():求最小 COUNT():統計個數
Java基礎篇(三)--- 抽象類,介面,final,單目運算子
多型 ①父類引用指向子類: java允許父類的引用變數引用它的子類的例項(物件) Animal animal = new Cat(); 這種轉換是自動完成的 子類在一定條件下是可以轉換為父類的 ②繼承: 類的單繼承和介面的多繼承,都能體現多型 ③重寫、過載 過載:同一個類的同名函式(方法的引
WPF進階之介面(2):IDisposable,ICollectionView
原始碼地址:https://www.xuebuyuan.com/892590.html 廢話不多說,進入正題,先來說說IDisposable,看例子(來自MSDN): using System;using System.ComponentModel; // 下面的例子
介面自動化之requests學習(七)--獲取token,並傳入下一個請求中
#!usr/bin/env python #-*- coding:utf-8 -*- """ @author:Administrator @file: requests_post.py @time: 2018/10/13 """ """ 獲取token並返回給下一個函式的方法
springcloud feign原始碼分析(4)——來看看將@FeignClient介面構造為bean的過程以及是如何註冊到容器裡的
接著上一篇,繼續來看 registerFeignClient() 方法 這邊一看就是在構造構造一個BeanDefiniction的東西,這個東西的話,構造的過程,其實就是用了構造器模式,這個構造器模式呢,就會將@FeignClient註解的屬性以及ServiceAClien
Pr_cc 學習筆記(五)工作區,快捷鍵,介面設定
(一) 在時間序列的視訊段中,按住ctrl鍵拖動一個視訊段到另一視訊段前面,可以把視訊段向後頂(無覆蓋的插入) 如圖 (二) 在編輯-常規可以設定時間線的滾動效果,如圖 (三) 想了解更多快捷鍵,如圖 (四) 在素材的圖示檢視中,右