خانه اندروید

800 ساعت آموزش اختصاصی

بیش از 30 هزار دانشجو

آموزش های پروژه محور

مطالب پیشنهادی حتما مشاهده کنید :

فیلم آموزش SqlLite Android Studio اندروید استودیو SQLiteOpenHelper

فیلم آموزش SqlLite Android Studio اندروید استودیو SQLiteOpenHelper

فیلم آموزش 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 :

فیلم آموزش SqlLite Android Studio اندروید استودیو SQLiteOpenHelper

پس از مراحل بالا می رسیم به سورس کد بخش کلاس DatabaseHelper برای ایجاد کردن کلاس کافی هست مراحل زیر را با تصویر پیش برید :

فیلم آموزش SqlLite Android Studio اندروید استودیو SQLiteOpenHelper

و سپس نام DatabaseHelper رو اختصاص بدید روی اوکی کلیک کنید.

فیلم آموزش SqlLite Android Studio اندروید استودیو SQLiteOpenHelper

و اما می رسیم به سورس کد بخش ایجاد کردن دیتابیس ، جدول ، ستون ها ، و افزودن اطلاعات:

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);
    }

لطفا با دقت به تصویر زیر نگاه کنید :

فیلم آموزش SqlLite Android Studio اندروید استودیو SQLiteOpenHelper

و پس از اضافه کردن متد ها بالا نیاز داریم به یک سازنده تا ارتباط بین 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 و تابع رو فراخوانی می کنیم.
تصاویر زیر را ببنید لطفا :
فیلم آموزش SqlLite Android Studio اندروید استودیو SQLiteOpenHelper
سپس فراخوانی تابع insert_inforamtion و دادن ورودی از EditText ها :

و متغییر bol برای چک کردن اینکه مقدار داخل دیتابیس ذخیره شده است یا خیر.

امیدوارم آموزش امروز مورد پسندتون قرار بگیره دوستان فیلم آموزشی این قسمت هم آماده شده می توانید دانلود کنید تا توضیحات بیشتر را در قالب فیلم آموزشی ببنید.

خانه اندروید دانلود فیلم آموزشی  لطفا فیلم آموزشی رو هم ببنید برای توضیحات بیشتر :

homeandroid.ir  دانلود فیلم آموزش SqlLite Android Studio اندروید استودیو SQLiteOpenHelper

حجم فیلم آموزشی   حجم فیلم : ۵۳ مگابایت

پسورد فایل   پسورد فایل فشرده : homeandroid.ir

خانه اندروید منبع آموزش : خانه اندروید

 

درباره نویسنده

جواد محمدی هستم بنیان‌گذار سایت خانه اندروید در خدمتون هستیم با آموزش و مفاهیم برنامه نویسی اندروید-نزدیک به 10 سال هست در حوزه برنامه نویسی فعالیت می کنم. مسلط به kotlin,java,flutter,php هستم . در خانه اندروید دانستی های خودم را در اختیار تمامی علاقمندان به برنامه نویسی قرار میدم.تشکر از اینکه خانه اندرورید رو دنبال می کنید.

قبل از ارسال دیدگاه

  • قبل از ارسال دیدگاه: لطفا دیدگاه خودتون رو فقط در مورد این مطلب بنویسید.سپاسگزارم.

    دیدگاه های طولانی نادیده گرفته می شوند لذا دیدگاه خودتان را در دو خط خلاصه کنید.

    دیدگاه های که شامل توهین یا متن توهین آمیز اصلا تایید نمی شود.

    به دیدگاه های بی نام و نشان که ایمیل فیک و نام فیک وارد می کنند پاسخ داده نمی شود

12 دیدگاه

  1. علیرضا گفت:

    عالی و کامل ، خسته نباشید

  2. طاهر گفت:

    سلام دوست عزیز خسته نباشین، ببخشید سوالی داشتم بنده یه فرم فرگمنتی برای ارسال متن همچون نام و نشانی و اعداد و …..طراحی کردم که در در یه صفحه ای به صورت popup نمایش میده .میخواستم در کنار این فرم فرگمت یه بخش آپلود عکس هم بذارم که تو popup که متن ها را نمایش میداد بیاد عکس رو هم در کنار اونا نمایش بده .چکار می تونم بکنم ،ممنون می شم کمک کنید.

  3. حسین گفت:

    سلام خسته نباشید
    چرا فیلم آموزشی پاک شده

    • Admin گفت:

      سلام دورود حسین عزیز
      فیلم آموزشی حذف نشده و سرور از دسترس خارج شده و انشالا بزودی مشکل برطرف میشه
      با احترام.

  4. بهنام گفت:

    توی متن کد کلاس DatabaseHelper توی متد onCreate کد به این صورت تغییر بدید(یک پرانتز جا افتاده)

    db.execSQL(“create table ” + Tbl_name +” (ID INTEGER PRIMARY KEY AUTOINCREMENT , NAME TEXT,FAMILY TEXT )”);

  5. ghasemi گفت:

    سلام خسته نباشید ممنون از آموزش خوبتون.من آموزش سایتهای دیگه رو هم دیده بودم اما آموزش دیتابیس شما بهترین بود.من مثل شما برنامه رو نوشتم اما همین که دکمه ی ذخیره رو می زنم برنامه بسته میشه حتی (نشد متاسفانه) را هم نمینویسه.
    به نظرتون مشکلش چیه؟

    • Admin گفت:

      سلام خدمت شما دوست عزیزم
      در زیر پست یک فیلم آموزشی هست لطفا فیلم آموزشی رو ببنید و طبق فیلم جلو برید . و در جایی که دید خطا داد توی اندروید مانیتور یک لاگ بگیرد و نگاه کنید ببینید چه خطایی میده معمولا فراخوانی نشدن سازنده و فراخوانی نشدن درست کلاس باعث خطا میشه.
      دقت کنید چنانچه مشکلتون حل نشد توی انجمن مطرح کنید تا مورد بررسی قرار بگیره.
      با احترام.

  6. قادر گفت:

    سلام
    مثل اینگه لینک دانلود فیلم ها مشکل داره من که چندتا از آموزش های ویدیوی رو برای دانلود امتحان کردم ولی انجام نشود

    • Admin گفت:

      سلام و احترام دوستم
      متاسفانه برخی از لینک ها به خاطر تغییر سرور دچار مشگل شدن که به زودی حل خواهیم کرد.لذا هر کدام از لینک ها کار نمی کنه توی تلگرام بهم بگید. تا براتون لینکش رو بفرستم.
      با احترام.