android SQLite實現本地登入註冊功能,SQLite簡單應用(android studio)
SQLite簡單用法介紹
SQLite基本用法很簡單,繼承SQLiteOpenHelper 中有兩個抽象方法,分別是onCreate()和 onUpgrade(),我們必須在自己的幫助類裡面重寫這兩個方法,然後分別在這兩個方法中去實現建立、升級資料庫的邏輯。
SQLiteOpenHelper 中 還 有 兩 個 非 常 重 要 的 實 例 方 法 , getReadableDatabase() 和getWritableDatabase()。
使用 SQL 操作資料庫
新增資料的方法如下:
db.execSQL("insert into Book (name, author, pages, price) values(?, ?, ?, ?)",
new String[] { "The Da Vinci Code", "Dan Brown", "454", "16.96" });
db.execSQL("insert into Book (name, author, pages, price) values(?, ?, ?, ?)",
new String[] { "The Lost Symbol", "Dan Brown", "510", "19.95" });
更新資料的方法如下:
db.execSQL("update Book set price = ? where name = ?", new String[] { "10.99",
"The Da Vinci Code" });
刪除資料的方法如下:
db.execSQL("delete from Book where pages > ?", new String[] { "500" });
查詢資料的方法如下:
db.rawQuery("select * from Book", null);
本地實現登陸註冊
效果圖:
專案架構圖
實現程式碼
OpenHelper類
public class OpenHelper extends SQLiteOpenHelper { //建表語句 public static final String CREATE_USER = "create table User (" + "id integer primary key autoincrement, " + "username text, " + "userpwd text)"; public OpenHelper(Context context, String name, CursorFactory factory, intversion) { super(context, name, factory, version); // TODO Auto-generated constructor stub } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL(CREATE_USER);//建立使用者表 } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, intnewVersion) { // TODO Auto-generated method stub } }
SqliteDB類:
public class SqliteDB { /** * 資料庫名 */ public static final String DB_NAME = "sqlite_dbname"; /** * 資料庫版本 */ public static final int VERSION = 1; private static SqliteDB sqliteDB; private SQLiteDatabase db; private SqliteDB(Context context) { OpenHelper dbHelper = new OpenHelper(context, DB_NAME, null, VERSION); db = dbHelper.getWritableDatabase(); } /** * 獲取SqliteDB例項 * @param context */ public synchronized static SqliteDB getInstance(Context context) { if (sqliteDB == null) { sqliteDB = new SqliteDB(context); } return sqliteDB; } /** * 將User例項儲存到資料庫。 */ public int saveUser(User user) { if (user != null) { /* ContentValues values = new ContentValues(); values.put("username", user.getUsername()); values.put("userpwd", user.getUserpwd()); db.insert("User", null, values);*/ Cursor cursor = db.rawQuery("select * from User where username=?", new String[]{user.getUsername().toString()}); if (cursor.getCount() > 0) { return -1; } else { try { db.execSQL("insert into User(username,userpwd) values(?,?) ", new String[]{user.getUsername().toString(), user.getUserpwd().toString()}); } catch (Exception e) { Log.d("錯誤", e.getMessage().toString()); } return 1; } } else { return 0; } } /** * 從資料庫讀取User資訊。 */ public List<User> loadUser() { List<User> list = new ArrayList<User>(); Cursor cursor = db .query("User", null, null, null, null, null, null); if (cursor.moveToFirst()) { do { User user = new User(); user.setId(cursor.getInt(cursor.getColumnIndex("id"))); user.setUsername(cursor.getString(cursor .getColumnIndex("username"))); user.setUserpwd(cursor.getString(cursor .getColumnIndex("userpwd"))); list.add(user); } while (cursor.moveToNext()); } return list; } public int Quer(String pwd,String name) { HashMap<String,String> hashmap=new HashMap<String,String>(); Cursor cursor =db.rawQuery("select * from User where username=?", new String[]{name}); // hashmap.put("name",db.rawQuery("select * from User where name=?",new String[]{name}).toString()); if (cursor.getCount()>0) { Cursor pwdcursor =db.rawQuery("select * from User where userpwd=? and username=?",new String[]{pwd,name}); if (pwdcursor.getCount()>0) { return 1; } else { return -1; } } else { return 0; } } }
User類:
package model; /** * Created by Administrator on 2015/11/10. */ public class User { private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getUserpwd() { return userpwd; } public void setUserpwd(String userpwd) { this.userpwd = userpwd; } private String username; private String userpwd; }
LoginActivity:
package activity; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.example.administrator.sqlitetest.R; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import model.SqliteDB; import model.User; public class LoginActivity extends AppCompatActivity { private Button reg; private Button login; private EditText count; private EditText pwd; private TextView state; private List<User> userList; private List<User> dataList = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); reg= (Button) findViewById(R.id.regin); login= (Button) findViewById(R.id.login); count= (EditText) findViewById(R.id.count); pwd= (EditText) findViewById(R.id.pwd); state= (TextView) findViewById(R.id.state); reg.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name=count.getText().toString().trim(); String pass=pwd.getText().toString().trim(); User user=new User(); user.setUsername(name); user.setUserpwd(pass); int result=SqliteDB.getInstance(getApplicationContext()).saveUser(user); if (result==1){ state.setText("註冊成功!"); }else if (result==-1) { state.setText("使用者名稱已經存在!"); } else { state.setText("!"); } } }); login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name=count.getText().toString().trim(); String pass=pwd.getText().toString().trim(); //userList=SqliteDB.getInstance(getApplicationContext()).loadUser(); int result=SqliteDB.getInstance(getApplicationContext()).Quer(pass,name); if (result==1) { state.setText("登入成功!"); } else if (result==0){ state.setText("使用者名稱不存在!"); } else if(result==-1) { state.setText("密碼錯誤!"); } /* for (User user : userList) { if (user.getUsername().equals(name)) { if (user.getUserpwd().equals(pass)) { state.setText("登入成功!"); }else { state.setText("密碼錯誤!"); } } else { state.setText("使用者名稱不存在!"); } }*/ } }); } }
相關推薦
android SQLite實現本地登入註冊功能,SQLite簡單應用(android studio)
SQLite簡單用法介紹 SQLite基本用法很簡單,繼承SQLiteOpenHelper 中有兩個抽象方法,分別是onCreate()和 onUpgrade(),我們必須在自己的幫助類裡面重寫這兩個方法,然後分別在這兩個方法中去實現建
php微信網頁開發實現自動登入註冊功能例項
功能:自動登入註冊功能 描述:php實現微信網頁自動登入註冊功能 範圍:適用於所有php版本 thinkphp5.0例項 $token = cookie('token'); if($token){ //這裡寫登入後的邏輯 }else{ $
【解決】php實現頁面登入註冊功能並實現跳轉
目錄如下: 思路是不通過資料庫等操作實現頁面(頁面比較簡陋,請笑納) 關於register功能 html頁面必要的表單功能 在頭部寫上 寫上條件判斷 if ($_SERVER['REQUEST_METHOD'] === 'POST') { login();
Ajax實現區域性重新整理和非同步處理簡單應用(實現簡單註冊驗證)
4.//從資料庫中查詢相應欄位並反饋給servlet 部分 @SuppressWarnings({ "unused", "null" }) public User find(String name){ List<Map<String,Object>> lists=new Arra
Java專案案例之---登入註冊和增刪改查(jsp+servlet)
登入註冊和增刪改查(jsp+servlet) (一)功能介紹 1.使用者輸入正確的密碼進行登入 2.新使用者可以進行註冊 3.登入後顯示學生的資訊表 4.可以新增學生 5.可以修改學生已有資訊 6.可以刪除已有學生 7.可以顯示登入的使用者學號(每個頁面都可以通過呼叫session顯示) 8
Android----------OkHttp網路請求框架Get和Post簡單封裝(泛型)
請求框架的類: OkHttp依賴: compile 'com.squareup.okhttp3:okhttp:3.8.1' RecyclerView依賴: compile 'com.android.support:recyclerview-v7:26.0.0-alpha1
Android 登入註冊 資料庫SQLite 驗證
展示效果 程式碼區 MainActivity(登入方法) public class MainActivity extends AppCompatActivity { @BindView(R.id.editText) EditTex
android-servlet-mysql實現登錄註冊功能
final 選擇 alt sta 姓名 delete byte[] dsta pstmt 安卓項目圖: 安卓端Get請求服務端登錄代碼: import java.io.BufferedReader;import java.io.InputStream;import
ajax+springboot+mybits實現登入註冊功能
html程式碼 使用者名稱:<input type="text" placeholder="使用者名稱” id="form-username"> 密碼:<input type="password" placeholder="密碼" id
HTML-css-JavaScript實現簡單登入註冊功能,並讓登入和註冊在同一頁內切換。
(水平有限,如果發現有什麼問題,歡迎指出來) HTML+css先做出來一個登入頁,包括基本的輸入框和button。再做一個註冊頁。程式碼如下: 隨後解釋程式碼 <form id="register" name="myForm" class="register"
javaweb簡單的登入註冊功能實現
下面是使用者登入註冊流程圖 登陸介面 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPat
java利用jdbc連線Mysql資料庫——實現登入註冊功能
實現功能如下: ①0選中註冊,若使用者名稱相同則註冊失敗,重新選擇 ②若使用者名稱不存在則儲存到資料庫 ③1選中登入,若使用者名稱和密碼符合時,登入成功。 程式碼如下: package com.lucfzy; import java.sql.Connection; imp
day78_淘淘商城專案_11_實現SSO系統的登入註冊功能 + 門戶首頁展示使用者名稱 + ajax請求跨域問題詳解_匠心筆記
淘淘商城專案_11 1、服務介面實現 1.1、檢查資料是否可用介面開發 1.1.1、功能分析 1.1.2、Dao 1.1.3、Service 1.1.4、釋出服務
用MVC設計模式實現簡單的JavaWeb登入註冊功能
MVC 全稱Model(模型)-View(檢視)-Controller(控制器),這是一種開發模式,他的好處是可以將介面和業務邏輯分離。 Model(模型),是程式的主體部分,主要包含業務資料和業務邏輯。在模型層,還會涉及到使用者釋出的服務,在服務中會根據不
使用springmvc+mybatis實現增刪改查並進行登入註冊功能
一、第一次使用springmvc+mybatis整合出的框架,使用的是maven版本 1.使用maven有以下主要要建立maven資料夾,匯入maven包並進行配置環境變數,在後面的文章中會提到maven配置。使用maven主要是依賴其pom.xml配置檔案進行匯入jar包
基於ssm三大框架實現登入註冊功能的配置過程
第一步 ssm jar包整合,本人的下載資源裡面有整合的jar包主要有:ssm整合jar包 ,jstl,資料庫連線,josn junit,等jar包第二步,建立各類包和配置檔案,儘量把各個配置檔案分開,統一放在一個自己建立的config資料夾中,容易區分,後面也好檢查更改主
實現登入註冊功能(連線資料庫)的JSP小專案
一、實現登入功能首先用sublime製作有表單檢查功能的login.html,程式碼具體如下:為了簡潔,我在Eclipse裡將CSS的引用方式改為鏈入式了,而接下來是在sublime剛做好後的程式碼截圖:然後將<form>改為<formaction="chk
環信sdk實現登入註冊功能(第三方通訊)
最近寫聊天軟體,需要第三方通訊實現聊天功能,下面再分享一下環信sdk整合(個人心得:我是個新手,其實整合環信sdk我之前用了接近一個星期參考官方文件,也百度瞭解了很多,最後整合失敗了,,實在是心疼就放棄了環信,接著去學極光sdk的整合,極光弄成功之後再回來繼續研究環信的,給我
Android登入註冊功能封裝
我們都知道Android應用軟體基本上都會用到登入註冊功能,那麼對一個一個好的登入註冊模組進行封裝就勢在必行了。這裡給大家介紹一下我的第一個專案中所用到的登入註冊功能的,已經對其進行封裝,希望能對大家有幫助,如果有什麼錯誤或者改進的話希望各位可以指出。 我們都知
【代碼學習】Spring MVC實現用戶註冊功能
技術分享 http請求 pac 應用 idea c-s dap 適配器 新建項目 1.實驗介紹 -----------------------------------------------------------------------------------------