ایجاد صفحه Login با استفاده از پایگاه داده SQLite در Xamarin
یکشنبه 9 آبان 1395در این مقاله ، نحوه ساخت یک صفحه Login (ورود به سایت) با استفاده از تکنولوژی Xamarin را بیان خواهیم کرد. همچنین در یک برنامه ساده، پیاده سازی این بخش آورده شده است.
SQLite چیست؟
پایگاه داده SQLite متدهایی برای ایجاد، حذف و اجرای دستورات SQL دارد و همچنین دستورات رایج دیگری که مربوط به پایگاه داده ها هستند را نیز در خود جای داده است.
بیایید ساخت برنامه را شروع کنیم.
مرحله 1 :
از مسیر Visual Studio->New Project->Templates->Visual C#->Android->Blank App یک پروژه جدید ایجاد کنید.
یک نام برای پروژه انتخاب کرده و مکان ذخیره سازی آن را نیز انتخاب کنید.
مرحله 2 :
سپس به مسیر Solution Explorer-> Project Name-> Resouces->layout بروید، کلیک راست کنیدو در پنجره جدیدی که باز می شود، Android layout را انتخاب کنید. نام آن را NewUser بگذارید و دکمه Add را بزنید.
مرحله 3 :
به مسیرSolution Explorer-> Project Name بروید و با کلیک راست، یک Activity به پروژه اضافه کنید و نام آن را RegisterActivity بگذارید.
مرحله 4 :
در این مرحله نیاز داریم یک جدول پایگاه داده ایجاد کنیم. بنابراین یک Data Layer Class ایجاد می کنیم. برای این کار بر روی نام پروژه کلیک راست کنید و یک کلاس به نام LoginTable اضافه کنید.
مرحله 5 :
به مسیر Solution Explorer-> Project Name-> References بروید، بر روی Manage Nuget Packages کلیک راست کرده و در پنجره ای که ظاهر می شود، گزینه ی SQLite-Net Packages را انتخاب کنید و پایگاه داده برنامه را نصب کنید.
مرحله 6 :
سپس به مسیر Solution Explorer-> Project Name->Resources->Layout->Main.axml بروید و طرح زیر را در صفحه پیاده سازی کنید.
مرحله 7 :
برای انجام گام بعدی به فایل Newuser.axml بروید و طرح زیر را در آن پیاده سازی کنید.
مرحله 8 :
سپس به مسیر Solution Explorer-> Project Name->LoginTable.cs بروید و ستون های جدول را مطابق زیر ایجاد کنید.
[PrimaryKey, AutoIncrement, Column("_Id")] public int id { get; set; } // AutoIncrement and set primarykey [MaxLength(25)] public string username { get; set; } [MaxLength(15)] public string password { get; set; }
مرحله 9 :
به مسیر Solution Explorer-> Project Name->MainActivity.cs بروید و فضای نام های زیر را در آن اضافه کنید. ابتدا، باید پایگاه داده را ایجاد کنیم. برای این کار بعد از متد OnCreate() یک متد دیگر به نام CreateDB() ایجاد می کنیم.
public class MainActivity: Activity { EditText txtusername; EditText txtPassword; Button btncreate; Button btnsign; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); // Get our button from the layout resource, // and attach an event to it btnsign = FindViewById < Button > (Resource.Id.btnlogin); btncreate = FindViewById < Button > (Resource.Id.btnregister); txtusername = FindViewById < EditText > (Resource.Id.txtusername); txtPassword = FindViewById < EditText > (Resource.Id.txtpwd); btnsign.Click += Btnsign_Click; btncreate.Click += Btncreate_Click; CreateDB(); } private void Btncreate_Click(object sender, EventArgs e) { StartActivity(typeof(RegisterActivity)); } private void Btnsign_Click(object sender, EventArgs e) { try { string dpPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "user.db3"); //Call Database var db = new SQLiteConnection(dpPath); var data = db.Table < LoginTable > (); //Call Table var data1 = data.Where(x => x.username == txtusername.Text && x.password == txtPassword.Text).FirstOrDefault(); //Linq Query if (data1 != null) { Toast.MakeText(this, "Login Success", ToastLength.Short).Show(); } else { Toast.MakeText(this, "Username or Password invalid", ToastLength.Short).Show(); } } catch (Exception ex) { Toast.MakeText(this, ex.ToString(), ToastLength.Short).Show(); } } public string CreateDB() { var output = ""; output += "Creating Databse if it doesnt exists"; string dpPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "user.db3"); //Create New Database var db = new SQLiteConnection(dpPath); output += "\n Database Created...."; return output; } }
در اینجا، نام پایگاه داده، “user.db3” است.
مرحله 10
سپس به مسیر Solution Explorer-> Project Name-> RegisterActivity.cs بروید ، فضای نام های زیر را اضافه کنید و کدهای زیر را در آن اضافه کنید.
public class RegisterActivity: Activity { EditText txtusername; EditText txtPassword; Button btncreate; protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); SetContentView(Resource.Layout.Newuser); // Create your application here btncreate = FindViewById < Button > (Resource.Id.btn_reg_create); txtusername = FindViewById < EditText > (Resource.Id.txt_reg_username); txtPassword = FindViewById < EditText > (Resource.Id.txt_reg_password); btncreate.Click += Btncreate_Click; } private void Btncreate_Click(object sender, EventArgs e) { try { string dpPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "user.db3"); var db = new SQLiteConnection(dpPath); db.CreateTable < LoginTable > (); LoginTable tbl = new LoginTable(); tbl.username = txtusername.Text; tbl.password = txtPassword.Text; db.Insert(tbl); Toast.MakeText(this, "Record Added Successfully...,", ToastLength.Short).Show(); } catch (Exception ex) { Toast.MakeText(this, ex.ToString(), ToastLength.Short).Show(); } } }
مرحله 11 :
دکمه F5 را بزنید تا برنامه اجرا شود و بتوانید خروجی آن را ببنید.
دوره های آموزشی زامارین
دوره برنامه نویسی اندروید با سی شارپ ( Xamarin )
آموزش متریال دیزاین در زامارین
آموزش Xamarin Forms
دوره Xamarin Form پیشرفته
- Xamarin
- 3k بازدید
- 5 تشکر