1. 程式人生 > >(資料庫)Android登入,註冊介面簡單實現。

(資料庫)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框架開發 連線MySQLHTML進行登入註冊操作

轉載請註明: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:IDisposableICollectionView

原始碼地址: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鍵拖動一個視訊段到另一視訊段前面,可以把視訊段向後頂(無覆蓋的插入) 如圖 (二) 在編輯-常規可以設定時間線的滾動效果,如圖   (三) 想了解更多快捷鍵,如圖 (四) 在素材的圖示檢視中,右