天天看點

android登入簡單視窗

<a target="_blank" href="http://blog.51cto.com/attachment/201103/144325125.jpg"></a>

下面是原代碼: 

package com.smart.db; 

import android.content.Context; 

import android.database.sqlite.SQLiteDatabase; 

import android.database.sqlite.SQLiteOpenHelper; 

public class SQLite extends SQLiteOpenHelper{ 

    public static final String TB_NAME = "smrtDataBase"; 

    //構造方法 

    public SQLite(Context context) { 

      super(context, TB_NAME, null, 1); 

    } 

    /** 

      * 建立資料庫表 

      */ 

    @Override 

    public void onCreate(SQLiteDatabase db) { 

        db.execSQL("CREATE TABLE users (userId integer primary key autoincrement,name varchar(20),password varchar(20))"); 

      * 當檢測與前一次建立資料庫版本不一樣時,先删除表再建立新表 

    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 

      db.execSQL("DROP TABLE IF EXISTS users"); 

      onCreate(db); 

import android.content.ContentValues; 

import android.database.Cursor; 

public class UserImpl { 

    private SQLite sqlite; 

    private Context content; 

    private SQLiteDatabase db; 

    public UserImpl(Context context) { 

        sqlite = new SQLite(context); 

//登入方法 

    public Cursor login(String name, String pwd) { 

        SQLiteDatabase database = sqlite.getReadableDatabase(); 

        Cursor mCursor = database.query(true, "users", new String[] { "name" }, 

                "name=? and password=?", new String[] { name, pwd }, null, 

                null, null, null); 

        return mCursor; 

//儲存方法 

    public boolean save(String name, String password) { 

        SQLiteDatabase database = sqlite.getWritableDatabase(); 

        ContentValues values = new ContentValues(); 

        values.put("name", name); 

        values.put("password", password); 

        // 必須添加記錄,除了主鍵之處,其它都要null 

        database.insert("users", "name", values); 

        return true; 

package com.smart.loginActivity; 

import com.smart.db.UserImpl; 

import android.app.Activity; 

import android.os.Bundle; 

import android.util.Log; 

import android.view.View; 

import android.view.View.OnClickListener; 

import android.widget.Button; 

import android.widget.EditText; 

import android.widget.Toast; 

public class LoginMain extends Activity { 

    private static final String TAG = "LoginMain"; 

    private Button ok; 

    private Button exit; 

    private EditText name; 

    private EditText password; 

    public void onCreate(Bundle savedInstanceState) { 

        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(new OnClickListener() {//方法編寫 

            @Override 

            public void onClick(View v) { 

                Log.i(TAG, name.getText().toString() + "&lt;----passord----&gt;" 

                        + password.getText().toString()); 

                try { 

                    UserImpl impl = new UserImpl(LoginMain.this); 

                    Cursor cursor = 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 (Exception e) { 

                    Log.i(TAG, "報錯了"); 

                } 

            } 

        }); 

        //取消 

        exit.setOnClickListener(new OnClickListener() { 

                Toast.makeText(LoginMain.this, "你點選了取消!", Toast.LENGTH_LONG) 

                        .show(); 

                finish(); 

&lt;?xml version="1.0" encoding="utf-8"?&gt; 

&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

    android:orientation="vertical" 

    android:layout_width="fill_parent" 

    android:layout_height="fill_parent" 

    &gt; 

    &lt;LinearLayout android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content"&gt; 

&lt;TextView  

    android:layout_width="100dip" 

    android:layout_height="wrap_content" 

    android:text="@string/userName" 

    /&gt; 

&lt;EditText 

    android:layout_width="200dip" 

    android:textSize="15dip" 

    android:id="@+id/username" 

    &lt;/LinearLayout&gt; 

    android:text="@string/userPwd" 

    android:id="@+id/password" 

    android:password="true" 

&lt;Button 

    android:text="@string/ok" 

    android:id="@+id/ok" 

    &lt;Button 

    android:text="@string/exit" 

    android:id="@+id/exit" 

&lt;/LinearLayout&gt; 

本文轉自 llb988 51CTO部落格,原文連結:http://blog.51cto.com/llb988/531777,如需轉載請自行聯系原作者