فیلم آموزش SqlLite Android Studio اندروید استودیو SQLiteOpenHelper
فیلم آموزش دیتابیس اسکویل لایت اندروید استودیو SqlLite Android Studio
SqlLite Android Studio ، دیتابیس اسکویل لایت یکی از سبک ترین دیتابیس ها در اندروید هست که امروز قصد داریم خدمتون در قالب فیلم آموزشی پیش بریم و مباحث ساخت دیتابیس و اضافه کردن اطلاعات یا insert رو خدمتون آموزش بدیم. دوستان دقت کنید سایت خانه اندروید در آخر تمامی مطالبی که آموزش می دهیم فیلم آموزشی همان قسمت رو هم تهیه می نماییم برای شما عزیزان.
با یکی دیگر از آموزش اندروید استودیو بنام SqlLite Android Studio درخدمتیم همان طور که از عنوان مشخص هست مبحث دیتابیس یکی از مهمترین مباحثی هست که تمامی نرم افزار ها و اپلیکیشن ها به آن نیاز دارن و از این رو فیلم آموزشی کار با دیتابیس sqllite رو خدمتون آموزش میدیم.برای شروع کار لطفا پروژه ای جدید رو در اندروید استودیو ایجاد کنید.
دوستان عزیز دقت کنید که در این فیلم آموزشی ما فقط در مورد ساخت دیتابیس ، ساخت جدول و افزودن اطلاعات به جدول رو توضیح می دهیم. و مثالی هم در مورداین قسمت براتون توی فیلم آموزشی گفتیم که میتوانید دانلود کنید و استفاده کنید.
اگر هنوز یاد ندارید که چطور یک پروژه جدیدی توی اندروید استودیو ایجاد کنید کافی به لینک زیر برید تا آموزش رو در قالب فیلم آموزشی ببنید:
ایجاد پروژه جدید اندروید استودیو Android Studio
پس از ایجاد کردن پروژه جدید به بخش Layout یا دیزاین سپس اکتیویتی خودمون رو که ساختیم انتخاب می کنیم و در بخش xml سورس کد های زیر را تایپ می کنیم سورس کد زیر تشکیل شده از سه تا EditText با ایدی های زیر :
android:id="@+id/Editidtxt"/> android:id="@+id/Editname"/> android:id="@+id/Editfamily"/>
و یک دکمه Button :
android:id="@+id/bbtnidsavle"
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android" xmlns:tools="https://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.app.homeandroidir.myapplication.MainActivity" android:orientation="vertical"> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/Editidtxt"/> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/Editname"/> <EditText android:layout_width="match_parent" android:layout_height="50dp" android:id="@+id/Editfamily"/> <Button android:layout_width="100dp" android:layout_height="50dp" android:text="ذخیره" android:id="@+id/bbtnidsavle" /> </LinearLayout>
تصویر زیر پس از تایپ کردن بخش xml :
پس از مراحل بالا می رسیم به سورس کد بخش کلاس DatabaseHelper برای ایجاد کردن کلاس کافی هست مراحل زیر را با تصویر پیش برید :
و سپس نام DatabaseHelper رو اختصاص بدید روی اوکی کلیک کنید.
و اما می رسیم به سورس کد بخش ایجاد کردن دیتابیس ، جدول ، ستون ها ، و افزودن اطلاعات:
package com.app.homeandroidir.myapplication; import android.content.ContentValues; import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DatabaseHelper extends SQLiteOpenHelper{ public static final String Database_name="stu.db"; public static final String Tbl_name="Tbl_stu"; public static final String keyid="ID"; public static final String keyname="NAME"; public static final String keyfamily="FAMILY"; public DatabaseHelper(Context context) { super(context, Database_name, null, 1); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(“create table ” + Tbl_name +” (ID INTEGER PRIMARY KEY AUTOINCREMENT , NAME TEXT,FAMILY TEXT )”); } @Override public void onUpgrade(SQLiteDatabase db, int i, int i1) { db.execSQL("DROP TABLE IF EXISTS"+ Tbl_name ); onCreate(db); } public boolean insert_information(String name,String family){ SQLiteDatabase sql=this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(keyname,name); contentValues.put(keyfamily,family); long chek=sql.insert(Tbl_name,null,contentValues); if (chek==-1) return false; else return true; } }
توضیح سورس کد بالا :
اول باید کلاس خودمون رو گسترش بدیم :
public class DatabaseHelper extends SQLiteOpenHelper{
بعد از اینکه مراحل فوق رو انجام دادیم با خطایی مواجعه میشیم که اگر روی قسمت خطا alt+enter رو فشار بدهیم نیازمند امپورت کردن و یا وارد کردن چند تا تابع هست که به ترتیب در سورس کد زیر می بینید برای ایجاد کردن جدول و سپس دستور زیر آن برای چک کردن موجود بودن جدول
@Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table " + Tbl_name +" (ID INTEGER PRIMARY KEY AUTOINCREMENT,NAME TEXT,FAMILY TEXT"); } @Override public void onUpgrade(SQLiteDatabase db, int i, int i1) { db.execSQL("DROP TABLE IF EXISTS"+ Tbl_name ); onCreate(db); }
لطفا با دقت به تصویر زیر نگاه کنید :
و پس از اضافه کردن متد ها بالا نیاز داریم به یک سازنده تا ارتباط بین Class DatabaseHelper و MainActivity برقرار شود.
دقت کنید دوستان سازنده هم نام با کلاس ایجاد می شود و دستورات دیگر را حذف می کنیم.
public DatabaseHelper(Context context) { super(context, name, factory, version); }
دستورات حذف شده از سازنده :
String name, SQLiteDatabase.CursorFactory factory, int version
برای ایجاد کردن دیتابیس ، جداول و ستون ها نیاز داریم تا یک سری دستورات را بالای سازنده تعریف کنیم و سپس در سازنده نام دیتابیس رو تعریف کنیم.
public static final String Database_name="stu.db"; public static final String Tbl_name="Tbl_stu"; public static final String keyid="ID"; public static final String keyname="NAME"; public static final String keyfamily="FAMILY"; public DatabaseHelper(Context context) { super(context, Database_name, null, 1); }
و در آخر می رسیم به دستور افزودن اطلاعات :
public boolean insert_information(String name,String family){ SQLiteDatabase sql=this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put(keyname,name); contentValues.put(keyfamily,family); long chek=sql.insert(Tbl_name,null,contentValues); if (chek==-1) return false; else return true; }
توضیح سورس کد افزودن اطلاعات :
متدی که اطلاعات رو قرار است دریافت کند از سمت کاربر یعنی بخش MainActivity که دو تا ورودی داره بنام name, family !
سوال چرا id رو اضافه نکردیم چون ایدی از نوع AUTOINCREMENT هست که هردفعه یک دونه عدد بهش اضافه میشه.
public boolean insert_information(String name,String family){
شی از دستور اسکویل لایوت برای نوشتن اطلاعات :
SQLiteDatabase sql=this.getWritableDatabase();
و حالا قراره از کاربر ستون ها رو دریافت کنیم و بفرستیم به سمت دیتابیس و سپس در جدول ذخیره بشه پس شی از ContentValues باید ایجاد کنیم.
ContentValues contentValues = new ContentValues();
سپس ستون ها رو همراه با مقداری که می خواهیم ذخیره کنیم بهش پاس بدیم :
contentValues.put(keyname,name); contentValues.put(keyfamily,family);
پس مراحل بالا نوبت به افزودن اطلاعات یا insert میشه که برای اینکه چک کنیم اطلاعات اضافه شده یا نه نیازداریم به یک متغییر long :
long chek=sql.insert(Tbl_name,null,contentValues); if (chek==-1) return false; else return true;
و میرم به سراغ بخش MainActivity و تابع رو فراخوانی می کنیم.
تصاویر زیر را ببنید لطفا :
سپس فراخوانی تابع insert_inforamtion و دادن ورودی از EditText ها :
و متغییر bol برای چک کردن اینکه مقدار داخل دیتابیس ذخیره شده است یا خیر.
امیدوارم آموزش امروز مورد پسندتون قرار بگیره دوستان فیلم آموزشی این قسمت هم آماده شده می توانید دانلود کنید تا توضیحات بیشتر را در قالب فیلم آموزشی ببنید.
لطفا فیلم آموزشی رو هم ببنید برای توضیحات بیشتر :
دانلود فیلم آموزش SqlLite Android Studio اندروید استودیو SQLiteOpenHelper
حجم فیلم : ۵۳ مگابایت
پسورد فایل فشرده : homeandroid.ir
منبع آموزش : خانه اندروید
عالی و کامل ، خسته نباشید
سلام و احترام
لطفا دارین موفق باشین.
سلام دوست عزیز خسته نباشین، ببخشید سوالی داشتم بنده یه فرم فرگمنتی برای ارسال متن همچون نام و نشانی و اعداد و …..طراحی کردم که در در یه صفحه ای به صورت popup نمایش میده .میخواستم در کنار این فرم فرگمت یه بخش آپلود عکس هم بذارم که تو popup که متن ها را نمایش میداد بیاد عکس رو هم در کنار اونا نمایش بده .چکار می تونم بکنم ،ممنون می شم کمک کنید.
سلام و احترام
یک دیالوگ اختصاصی بسازین دوست عزیز سپس در بخش دیالوگ قسمت پیاده سازی اپلود تصویر رو هم اضافه کنید. یک دکمه برای آپلود و یک image برای نمایش تصویر انتخاب شده این موارد رو آموزش دادم
آموزش آپلود تصویر اینجا کلیک کنید.
سلام خسته نباشید
چرا فیلم آموزشی پاک شده
سلام دورود حسین عزیز
فیلم آموزشی حذف نشده و سرور از دسترس خارج شده و انشالا بزودی مشکل برطرف میشه
با احترام.
توی متن کد کلاس DatabaseHelper توی متد onCreate کد به این صورت تغییر بدید(یک پرانتز جا افتاده)
db.execSQL(“create table ” + Tbl_name +” (ID INTEGER PRIMARY KEY AUTOINCREMENT , NAME TEXT,FAMILY TEXT )”);
سلام و احترام بهنام عزیز
از شما سپاسگزارم به زودی تغییر میدم ممنونم.بابت گزارش.
با احترام.موفق باشین.
سلام خسته نباشید ممنون از آموزش خوبتون.من آموزش سایتهای دیگه رو هم دیده بودم اما آموزش دیتابیس شما بهترین بود.من مثل شما برنامه رو نوشتم اما همین که دکمه ی ذخیره رو می زنم برنامه بسته میشه حتی (نشد متاسفانه) را هم نمینویسه.
به نظرتون مشکلش چیه؟
سلام خدمت شما دوست عزیزم
در زیر پست یک فیلم آموزشی هست لطفا فیلم آموزشی رو ببنید و طبق فیلم جلو برید . و در جایی که دید خطا داد توی اندروید مانیتور یک لاگ بگیرد و نگاه کنید ببینید چه خطایی میده معمولا فراخوانی نشدن سازنده و فراخوانی نشدن درست کلاس باعث خطا میشه.
دقت کنید چنانچه مشکلتون حل نشد توی انجمن مطرح کنید تا مورد بررسی قرار بگیره.
با احترام.
سلام
مثل اینگه لینک دانلود فیلم ها مشکل داره من که چندتا از آموزش های ویدیوی رو برای دانلود امتحان کردم ولی انجام نشود
سلام و احترام دوستم
متاسفانه برخی از لینک ها به خاطر تغییر سرور دچار مشگل شدن که به زودی حل خواهیم کرد.لذا هر کدام از لینک ها کار نمی کنه توی تلگرام بهم بگید. تا براتون لینکش رو بفرستم.
با احترام.