۱۲ و ۱۳-آموزش برنامه نویسی اندروید-کار با Data Base

سلام دوستان

در این قسمت از سری آموزش های اندروید با اندروید استودیو قرار هست تا بیاییم و کار با DataBase در Android Studio رو با هم دیگه کار کنیم . اگه به یاد داشته باشید در ویدیوهای قبلی ما با شیوه های مختلف ذخیره سازی در اندروید آشنا شدیم ! اما یه سوال اگه حجم اطلاعات ما برای ذخیره سازی حجیم بود چی ؟! خب اینجاست که ما می تونیم از Data Base اندروید و یا همون SQLite که یک Data Base سبک و قدرتمند هست استفاده کنیم …

sqlitedbesfandune

 

در قسمت سوم  کدهای لازم رو برای ذخیره داده های وارد شده توسط کاربر درون ادیت تکست ها در دیتابیس SQLite هنگام کلیک برروی دکمه “ذخیره اطلاعات” می نویسیم.

بدین صورت که درون لیسنر دکمه “ذخیره اطلاعات” دیتابیس رو تعریف می کنیم و اون رو باز می کنیم سپس اطلاعات رو داخلش می ریزم و توسط متدی که در کلاس دیتابیسمون می سازیم داده ها را رو به دیتابیس اضافه می کنیم و در نهایت دیتابیس رو می بندیم.

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

 

قسمت قبلی

فهرست تمامی قسمت ها

قسمت بعدی

لینک کوتاه شده مطلب: http://www.esfandune.ir/SGwFS

پسور فایل ها: esfandune.ir یا www.esfandune.ir می باشد

درباره Mehrdad

من یه آدم معمولیم که برنامه نویسی و بازی سازی رو دوست داره !!!

ما را دنبال کنید:


آموزش های پیشنهادی سایت (نمایش همه):


۴۸ نظر

  • بسیار عالی مرسی از سایت خوبتون

  • سیدیوسف گفت:

    سلام خسته نباشید
    ایا شما رضایت دارید قسمت هایی که من دانلود میکنم روی وبسایت خودم بزارم یا بدم به دوستانم دیگه اونا زحمت دانلود رو نکشند
    ؟؟
    با تشکر اگه میشه به ایمیلم جواب رو بفرستید

  • محسن گفت:

    واقعا آموزشا تا اینجا عالی بودن دسته گلتون درد نکنه من که از قسمت ۵ متوسط شروع کردم و راضی بودم تو نظرات هم میخوندم دوستان از قسمته مقدماتی هم راضی بودن اگه قسمته پشرفته هم داشته باشه که معرکس

    • Mehrdad گفت:

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

  • amin گفت:

    سلام کلیپ ها مشکل دارم من پارت چهارم و دوم رو دانلود کردم ولی فقط صدا دارن با چنتا پلیر هم امتحان کردم ولی هیچی نشون نمیه

    • Mehrdad گفت:

      سلام
      عزیز من و همکارانم ویدیو ها رو تست کردیم ! مشکلی ندارن . لطفا روی یک سیستم دیگه بررسی کنید . در صورتی که بازم مشکل داشتن یک مرتبه دیگه ویدیو ها رو دانلود کنید و تست کنید اگه بازم مشکل پا برجا بود بگید تا من دوباره بررسی کنم و راهنماییتون کنم

  • رحیم گفت:

    سلام.خسته نباشید.
    ببخشید من کلیپی از دیتا بیس اندروید استودیو قسمت دوم پارت دو خریدم. بعد اومدم دانلود کنم روی همون لینک که کلیک میکنم میره توی سبد خرید ولی این فیلم قبلش خریدم. باید چکار کنم؟ ممنون

  • زهرا گفت:

    سلام .ممنون از آموزش های خوبتون واقعا خوبن وعالی و با کیفیت.ببخشید من هزچی میخوام این ۲قسمت خرید کنم نمیشه.چیکارکنم؟

  • شریفی گفت:

    با سلام .
    بنده در قسمت خواندن دیتا مشکل دارم و این ارور میده
    http://s7.picofile.com/file/8252511250/Capture.PNG
    قبلا هم مقدار اینسرت کردم …
    و دیتابیس خالی نیست
    کد قسمت خواندن هم :
    public String getData(){

    String Result=””;

    String[] cloumns1=new String[]{KEY_ID,KEY_NAME,KEY_AGE,KEY_CITY};
    Cursor cr=mydb.query(DATABASE_TABLE,cloumns1,null,null,null,null,null);

    int ROW_ID=cr.getColumnIndex(KEY_ID);
    int ROW_NAME=cr.getColumnIndex(KEY_NAME);
    int ROW_AGE=cr.getColumnIndex(KEY_AGE);
    int ROW_CITY=cr.getColumnIndex(KEY_CITY);

    for (cr.moveToFirst();!cr.isAfterLast();cr.moveToNext()){

    Result+=cr.getString(ROW_ID)+” “+cr.getString(ROW_NAME)+” “+cr.getString(ROW_AGE)+” “+cr.getString(ROW_CITY)+”\n”;

    }
    return Result;
    }
    }

    لطفا هر چه سریعتر راهنمایی کنید.
    باتشکر

    • Mehrdad گفت:

      درود دوست عزیز
      خب error که معلوم هست چی میگه !‌ ستون _age رو احتمالا در زمان تعریف در کد ها اشتباه نوشتید . چک کنید ببینید که فاصله ها رو هنگام تعریف ستون بدرستی رعایت کرده باشید . این error معمولا به این دلیل رخ میده

      • شریفی گفت:

        با سلام.
        ممنون از راهنماییتون ، متن ارور متوجه میشدم ولی نمیدونستم مشکل کجاست.
        از اول تعریف نکرده بودم و بخاطر این کلا اطلاعات دیتابیس تغییر دادم چون اطلاعات قبلی فاقد age بود.
        در هر حال خیلی ممنون از شما.

  • علیرضا* گفت:

    با سلام
    من کد تخفیف رو که میزنم این پیغام رو میده چرا؟؟
    “برای استفاده از این کدتخفیف باید محصولاتی را داشته باشید که ندارید.”

    من چند روز پیش بون هیچ دلیلی از گروه اسفندونه حذف شدم 🙁
    من نه حرفی زدم نه اسپم دادم نمیدونم چرا بلاک شدم !!!
    اگه امکانش هست مارو از بلاک در بیارید تا دوباره بتونم از محتوای خوب گروه استفاده کنم …. ممنون
    آیدی من در تلگرام https://telegram.me/AlirezaZhZ

  • شهاب گفت:

    سلام من یه سوال دارم یه مشکل پیش اومده برام در مورد دیتا بیسه من فایل دیتا بیس رو متن شو تغییر دادم ولی وقتی یه اپ جدید میسازم تغییرات رو اعمال نمیکنه و متن قبلی رو نشون میده (متن حذف شده رو نشون میده) حتی یکبار تمام اطلاعات دیتابیس رو حذف کردم ولی حجم فایل دیتا بیس تغییر نکرد و همون اطلاعات گذشته رو نشون داده

    • Mehrdad گفت:

      درود به شما !‌
      عزیز مثل آموزش عمل کردید ؟!‌ اگه باز داره اطلاعات قبلی رو نمایش میده احتمالا هنوز داره از همون دیتابیس قبلی داده ها رو میگیره . از Device Monitor استفاده کنید و ببینید که چندتا دیتابیس وجود داره

      • شهاب گفت:

        حق باشماست احتمال زیاد یه فایل دیتابیس دیگه هم وجود داره متاسفانه نمیدونم device monitor چیه و اون فایل رو هم نمیتونم پیدا کنم اینکه پیدا کردم تو پوشه اسست بود

  • شهاب گفت:

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

  • شهاب گفت:

    برای کار با دیتا بیس از برنامه sqlite exert perfessional استفاده میکنم ایا برنامه ای دیگر سراغ دارید که از این بهتر و راحت تر باشه ؟ اگه هست لطفا به من معرفی کنید

  • محمد حسین گفت:

    با سلام و عرض خسته نباشید خدمت دوستان و تیم اسفندونه .
    با عرض پوزش به دلیل بیان کردن چنین مطلبی ولی مدیر محترم این قیمت ها واقعا منصفانه نیست اونم برای ۱۵ دقیقه اموزش لطفا کمی فکر دوستان هم باشید .
    ملاحظه بفرمایید که ما برای فرا گرفتن این مبحث (دیتابیس) باید چیزی حدود ۲۰ هزار تومان خرج کنیم که این مبلغ دقیقا معادل پکیج های اموزشی اندروید است .
    سعی کنید کمی قیمت ها رو منصفانه تر کنید تا هم خودتون هم بقیه از این مطالب استفاده بهینه کنند .
    و فراموش نکنید زکات علم نشر اونه .
    لطفا پیگیری بفرمایید .
    با تشکر

    • abbasalim گفت:

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

  • محسن گفت:

    سلام من طبق اموزش پیش رفتم ولی یک ارور داره برنامه موقع ذخیره اطلاعات قسمت try مشکل داره و میره قسمت catch اجرا میشه و هیچ داده ای ذخیره نمیشه
    باید چیکار کنم ؟؟؟

  • محسن گفت:

    http://s2.picofile.com/file/8261309026/ppppppppppppppppp.jpg

    اینم متن ارور که تو برنامه موقعی که ذخیره میزنم نشون میده

    • Mehrdad گفت:

      درود دوست عزیزم
      syntax رو دقیقا مثل من بنویسید ! این error برای همین هستش !‌ در نوشتن کد و یا رعایت کردن فاصله ها مشکل بوجود امده .

  • رضایی گفت:

    سلام .
    با تشکر از شما.می خواستم بپرسم چطور می تونم از SQLite maneger تو برنامه استفاده کنم؟

  • sadena گفت:

    سلام خسته نباشید
    من وقتی روی نمایش اطلاعات کلیک می کنم ارور زیر رو نمایش میده
    no such column : id(code1):while compling;select id , name , age, city

    • Mehrdad گفت:

      درود دوست عزیز
      فکر کنم بخاطر این هست که فضاها رو درست وارد نکردید ! بعد از نوع ستون و نام ستون باید یک فاصله باشه ! احتمالا شما فراموش کردید در هنگام وصل کردن متغیر ها به رشته این فاصله رو ایجاد کنید . (بعد از کوتیشن یک space و بعد ادامه کد رو باید بزنید ! اون space رو فکر کنم نزدید)

  • علی گفت:

    سلام خسته نباشید. من وقتی دکمه نمایش اطلاعات رو میزنم هیچی نشون نمیده. منظورم اینه که ارور خاصی بهم نمیده ولی مثل شما دو سه تا اطلاعات وارد میکنم ولی وقتی دکمه نمایش اطلاعات رو میزنم هیچ اطلاعاتی رو تو اکتیویتی بعدی نشون نمیده. انگار هیچی ذخیره نکرده. شما نظری ندارید؟

    • Mehrdad گفت:

      درود دوست عزیز
      چک کنید ببینید که اطلاعات در دیتابیس وارد شدن یا نه . (با device monitor خود اندروید استادیو اینکار رو به راحتی می تونید انجام بدید . به device monitor برید و avd مورد نظر رو انتخاب کنید و بعد به قسمت data برید و یک کپی از دیتابیس بگیرید و با استفاده از plugin دیتابیس sqlite که برای مرورگر firefox هستش دیتابیس رو باز کنید و ببینید اطلاعات وارد شده یا نه !‌ کمی طولانی شد اما کار راحتیه )
      اگر اطلاعات وارد دیتابیس شده بود که کد ها رو دوباره بررسی کنید برای Cursor اما اگه نشده بود در هنگام ساخت فیلد ها برای دیتابیس احتمالا یک مشکلی بوجود امده ! اون قسمت رو هم بر طبق ویدیو دوباره بررسی کنید .
      امیدوارم مشکلتون برطرف بشه عزیز .

  • no name گفت:

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

    • Mehrdad گفت:

      درود . زنده باشید عزیز
      اگر درست متوجه منظورتون شده باشم شما اطلاعات رو از قبل دارید و نیازی به ورود مجدد نیست و نیاز شما فقط قسمت دوم کار ما بود که اطلاعات رو ما هم داخل یک TextView نمایش دادیم . شما فقط باید Cursor رو براساس خوندن اطلاعات خودتون پیکربندی کنید . اطلاعات شما در کجا هستند ؟!‌ (منظورم توی دیتابیس sqlite یا فایلی یا … )

      • no name گفت:

        اگه مثلا فرض کنیم که من اطلاعات رو از قبل به صورت تکست نوشته ام مثلا در note pad و حالا می خوام اون اطلاعت رو توی تکست لود کنم باید چکار کنم؟ آیا می تونم از دیتابیس خارجی استفاده کنم؟

  • plant گفت:

    سلام
    ببخشید سوال بی ربط میپرسم اما مجبورم:
    توی یکی از آموزش هاتون من برنامه یونیتی رو در اوبونتو دیدم ُ میشه بگید چطوری و از کجا نصب کردیدُ چند روزه دنبالش هستم؟

  • سید سهیل حسینی گفت:

    سلامبنده پکیج کامل رو بصورت یکجا میخوام
    لطفا راهنمایی بفرمائید که چطور میتونم بخرمش؟!

  • Amin گفت:

    درود
    در اکتیویتی Show یه کد هست
    String GetData = Data.getData
    Data ‌رو می از کجا import کنم و من همه رو تست کردم اما ارور می ده
    میشه راهنمایی کنید ؟
    با سپاس

  • mohammad bagher گفت:

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

نظر خود را بیان کنید

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