tejariapp-new-logotejariapp-new-logotejariapp-new-logotejariapp-new-logo
  • صفحه اصلی
  • پروژه ها
    • پروژه طراحی سایت
    • پروژه های اندروید
    • پروژه های تحت ویندوز
    • UI & UX
    • ربات تلگرام
  • سفارش پروژه
    • انجام پروژه اندروید (Android)
    • طراحی و ساخت اپلیکیشن موبایل
    • انجام پروژه طراحی سایت با php
    • انجام پروژه طراحی سایت با Asp.net
    • انجام پروژه سی شارپ
    • فرم سفارش پروژه
  • مدرسه ی تجاری اپ
    • طراحی سایت
    • اندروید
    • سی شارپ
    • آموزش پایگاه داده
    • برنامه های کاربردی
  • لینک های مفید
    • پرداخت آنلاین
    • درباره تجاری اپ
    • تماس با ما
استخدام برنامه نویس متلب
سفارش پروژه
✕
            هیچ نتیجه ای یافت نشدمشاهده همه نتایج

            آموزش اندروید فصل چهارم قسمت سوم – بانک اطلاعاتی SQLite

            • صفحه نخست
            • مدرسه ی تجاری اپ آموزش اندروید
            • آموزش اندروید فصل چهارم قسمت سوم – بانک اطلاعاتی SQLite
            پروژه وب سایت کافی شاپ با asp.net
            پروژه وب سایت کافی شاپ با asp.net
            16 شهریور 1395
            آموزش برنامه نویسی اندروید فصل چهارم
            آموزش اندروید فصل چهارم قسمت چهارم – Content Provider
            26 شهریور 1395
            منتشر شده توسط خانم منطق
            آموزش برنامه نویسی اندروید فصل چهارم

            آموزش برنامه نویسی اندروید فصل چهارم

            در قسمت سوم آموزش اندروید بانک اطلاعاتی با استفاده از برنامه نویسی SQLite را آموزش میدهیم.در این بخش به دستورات SQL بسیار نیاز داریم و در صورت نیاز میتوان به آموزش های SQL در همین سایت مراجعه کنید.

            آموزش اندروید فصل چهارم قسمت سوم – بانک اطلاعاتی SQLite

            توجه : برای مشاهده تصاویر در سایز اصلی برروی آنها کلیک کنید.

            بانک اطلاعاتی با استفاده از SQLite

            نوع دیگر استفاده از بانک اطلاعاتی , استفاده بصورت برنامه نویسی و بصورت دستورات SQL است(آموزش های SQL به طور کامل در سایت موجود است و میتوانید استفاده کنید) که در این روش اطلاعات در یک فایل متنی درون دستگاه در مسیری که در ادامه مشخص میکنیم ذخیره میشود برای استفاده از این روش باید از پکیج android.database.sqlite استفاده شود که شامل کلاس هایی برای مدیریت و استفاده از بانک اطلاعاتی میباشد.

            مثالی ساده و کاربردی که ۴عمل اصلی Insert, Delete, Update, Read را در ادامه بررسی خواهیم کرد.پروژه جدیدی با نام DataBasePrj ایجاد کرده و در فایل activity_main.xml ابزار زیر را ایجاد میکنیم

            <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
            
                xmlns:tools="http://schemas.android.com/tools"
            
                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.example.databaseprj.MainActivity" >
            
            
            
                <Button
            
                    android:id="@+id/btnshow"
            
                    android:layout_width="fill_parent"
            
                    android:layout_height="wrap_content"
            
                    android:layout_below="@+id/btnedit"
            
                    android:layout_marginTop="22dp"
            
                    android:text="SHOW" />
            
            
            
                <Button
            
                    android:id="@+id/btnedit"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:layout_alignRight="@+id/btnshow"
            
                    android:layout_centerVertical="true"
            
                    android:layout_marginRight="17dp"
            
                    android:text="EDIT" />
            
            
            
                <Button
            
                    android:id="@+id/btndel"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:layout_above="@+id/btnshow"
            
                    android:layout_centerHorizontal="true"
            
                    android:text="DELETE" />
            
            
            
                <Button
            
                    android:id="@+id/btnadd"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:layout_above="@+id/btnshow"
            
                    android:layout_alignLeft="@+id/btnshow"
            
                    android:text="ADD" />
            
            
            
                <TextView
            
                    android:id="@+id/textView1"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:layout_alignLeft="@+id/btnadd"
            
                    android:layout_alignParentTop="true"
            
                    android:layout_marginTop="30dp"
            
                    android:text="id" />
            
            
            
                <TextView
            
                    android:id="@+id/textView2"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:layout_alignLeft="@+id/textView1"
            
                    android:layout_below="@+id/textView1"
            
                    android:layout_marginTop="35dp"
            
                    android:text="Name" />
            
            
            
                <TextView
            
                    android:id="@+id/textView3"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:layout_alignLeft="@+id/textView2"
            
                    android:layout_below="@+id/textView2"
            
                    android:layout_marginTop="31dp"
            
                    android:text="Family" />
            
            
            
                <EditText
            
                    android:id="@+id/edtid"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:layout_alignBaseline="@+id/textView1"
            
                    android:layout_alignBottom="@+id/textView1"
            
                    android:layout_alignRight="@+id/btnshow"
            
                    android:ems="10" />
            
            
            
                <EditText
            
                    android:id="@+id/edtfam"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:layout_alignLeft="@+id/edtname"
            
                    android:layout_alignTop="@+id/textView3"
            
                    android:ems="10" />
            
            
            
                <EditText
            
                    android:id="@+id/edtname"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:layout_alignLeft="@+id/edtid"
            
                    android:layout_alignTop="@+id/textView2"
            
                    android:ems="10" />
            
            
            
                <Button
            
                    android:id="@+id/button1"
            
                    android:layout_width="wrap_content"
            
                    android:layout_height="wrap_content"
            
                    android:layout_alignLeft="@+id/btnshow"
            
                    android:layout_alignRight="@+id/btnshow"
            
                    android:layout_below="@+id/btnshow"
            
                    android:layout_marginTop="22dp"
            
                    android:text="Show By ID" />
            
            
            
            </RelativeLayout>
            

            همانگونه که مشخص است و دیگر نیاز به توضیح مجدد نیست میتوان ابزار را بصورت گرافیکی و خیلی راحت ایجاد کرد ما در این مثال سه EditText برای وارد کردن مشخصات و ۵ دکمه که هرکدام عمل مشخصی انجام میدهند و در ادامه مشخص میشوند قرار داده ایم.

            حال در فایل جاوا نیز چنین کدنویسی میکنیم

            package com.example.databaseprj;
            
            
            
            import android.app.Activity;
            
            import android.os.Bundle;
            
            import android.view.View;
            
            import android.view.View.OnClickListener;
            
            import android.widget.Button;
            
            import android.widget.EditText;
            
            import android.widget.Toast;
            
            import android.database.Cursor;
            
            import android.database.sqlite.*;
            
            
            
            public class MainActivity extends Activity  {
            
            
            
                    Button btnadd , btnedit, btnshow, btndel, btnone;
            
                    EditText edtid, edtname, edtfamil;
            
                    SQLiteDatabase db;
            
            
            
                    @Override
            
                    protected void onCreate(Bundle savedInstanceState) {
            
                             super.onCreate(savedInstanceState);
            
                             setContentView(R.layout.activity_main);
            
            
            
                             btnadd=(Button)findViewById(R.id.btnadd);
            
                             btnedit=(Button)findViewById(R.id.btnedit);
            
                             btnshow=(Button)findViewById(R.id.btnshow);
            
                             btndel=(Button)findViewById(R.id.btndel);
            
                             btnone=(Button)findViewById(R.id.button1);
            
            
            
                             edtid=(EditText)findViewById(R.id.edtid);
            
                             edtname=(EditText)findViewById(R.id.edtname);
            
                             edtfamil=(EditText)findViewById(R.id.edtfam);
            
            
            
                  db=openOrCreateDatabase("DBStudent", MODE_PRIVATE, null);
            
                db.execSQL("create table if not exists student(id nchar, name varchar, family varchar);");
            
            
            
                             btnadd.setOnClickListener(new OnClickListener() {
            
            
            
                                       @Override
            
                                       public void onClick(View arg0) {
            
                                                db.execSQL("insert into student values('" + edtid.getText() +
             "', '" + edtname.getText() + "' , '" + edtfamil.getText() + "');");
            
                                                showmess("Record Added");    
            
                                                beclear();
            
                                       }
            
                             });
            
            
            
                             btndel.setOnClickListener(new OnClickListener() {
            
            
            
                                       @Override
            
                                       public void onClick(View arg0) {
            
                                                //searching for id
            
                                                Cursor c=db.rawQuery("select * from student where id='" +
             edtid.getText() + "'", null);
            
                                                if(c.moveToFirst()){
            
                                           db.execSQL("delete from student where id='" + edtid.getText() + "'");
            
                                                showmess("Record Deleted");
            
                                                beclear();}
            
                                                else
            
                                                {
            
                                                          showmess("Record with this id number doesnt found");
            
                                                }
            
                                       }
            
                             });
            
            
            
                             btnedit.setOnClickListener(new OnClickListener() {
            
            
            
                                       @Override
            
                                       public void onClick(View arg0) {
            
                                                Cursor c=db.rawQuery(
            "select * from student where id='" + edtid.getText() + "'", null);
            
                                                if(c.moveToFirst()){
            
                                                          db.execSQL("update student set name='" 
            + edtname.getText() + "' ,family='" +
             edtfamil.getText() + "' where id='" + edtid.getText() +"'");
            
                                                          showmess("Update was Done");
            
                                                          beclear();
            
                                                }
            
                                                else{
            
                                                          showmess("Record with this id number doesnt found");
            
                                                }
            
                                  }
            
                             });
            
            
            
                             btnshow.setOnClickListener(new OnClickListener() {
            
            
            
                                       @Override
            
                                       public void onClick(View arg0) {
            
                                                StringBuffer buffer=new StringBuffer();
            
                                                //Search for Table Records
            
                                                Cursor c=db.rawQuery("select * from student", null);
            
                                                if(c.getCount()==0){
            
                                                          showmess("no Records Found");
            
                                                }
            
                                                else{
            
                                                          //appending records to the StringBuffer
            
                                                          while(c.moveToNext()){
            
                                                 buffer.append("id   " + c.getString(0) + "\n");
            
                                           buffer.append("name    " + c.getString(1) + "\n");
            
                                      buffer.append("family    " + c.getString(2) + "\n");
            
                                                          }
            
                                                          //show All Records
            
                                                          showmess(buffer.toString());
            
                                                }
            
                                       }
            
                             });
            
            
            
            btnone.setOnClickListener(new OnClickListener() {
            
            
            
                                       @Override
            
                                       public void onClick(View arg0) {
            
                                                Cursor c=db.rawQuery("select * from student where id='" 
            + edtid.getText() + "'", null);
            
                                                if(c.moveToFirst()){
            
                                                          edtname.setText(c.getString(1));
            
                                                          edtfamil.setText(c.getString(2));
            
                                                }
            
                                                else{
            
                                                          showmess("Record with this id number doesnt found");
            
                                                }
            
                                       }
            
                             });
            
            
            
                    }
            
            
            
                    public void showmess(String str){
            
                             Toast.makeText(getBaseContext(), str, Toast.LENGTH_SHORT).show();
            
                    }
            
            
            
                    public void beclear(){
            
                             edtid.setText("");
            
                             edtname.setText("");
            
                             edtfamil.setText("");
            
                    }
            
            
            
            }
            

            روش کار

            در فایل جاوا برنامه علاوه بر importهایی که مربوط به بانک هستند و لازم, ابتدا اشیا را تعریف کرده و با استفاده از متد findViewById() آنهارا به یک متغیر که از نوع همان شی است اطلاق میکنیم همچنین یک متغیر از نوع SQLiteDatabase که در ادامه از این متغیر برای اعمال دستورات مختلف به اطلاعات استفاده میکنیم.

            قدم بعدی ایجاد بانک و جدول با استفاده از متغیر SQLiteDatabase است که بدین صورت ایجاد میشود

               db=openOrCreateDatabase("DBStudent", MODE_PRIVATE, null);
            
                 db.execSQL("create table if not exists student(id nchar, name varchar, family varchar);");
            

            شکل کلی متد ()openOrCreateDatabase بدین صورت است

            SQLiteDatabase mydatabase=openOrCreateDatabase("Database Name", MODE_PRIVATE,null)
            

            پارامتر اول که نام دیتابیس(فایلی که در دستگاه ذخیره میشود) است, پارامتر دوم Mode مربوط به بانک رامشخص میکند که Private بدین معنی است که تنها توسط این برنامه(Application) اجرا شود و پارامتر سوم هم شی Cursor Factory است که میتواند null باشد.

            متد execSQL() نیز برای اعمال هر نوع دستور SQL از جمله Insert , Delete , Select و… میباشد که در این مرحله نیز ما با استفاده از دستور create اقدام به ایجاد یک جدول بانام student و فیلدها با نوع های مشخص شده کرده ایم.

            حال برای هرکدام از دکمه ها با استفاده از ()setOnClickListener دستورات اجرایی مربوط را کدنویسی میکنیم

            btnadd.setOnClickListener(new OnClickListener() {
            
            
            
                                       @Override
            
                                       public void onClick(View arg0) {
            
                                                db.execSQL("insert into student values('" + edtid.getText() + "', 
            '" + edtname.getText() + "' , '" + edtfamil.getText() + "');");
            
                                                showmess("Record Added");    
            
                                                beclear();
            
                                       }
            
                             });
            

            اگر با دستورات SQL آَشنا باشید این قسمت راحتترین بخش برنامه برای شما خواهد بود! اما اگر آشنایی چندانی ندارید پیشنهاد میشود ابتدا یک نگاه مختصر و مفیدی به آموزش های SQL کنید تا با اعتماد به نفس بیشتری شروع به کدنویسی کنید.

            برای دکمه btnadd دستور insert نوشته شده و مقادیر فیلدهای جدول نیز مقادیر رشته ای ست که درون EditText ها توسط کاربرتایپ شده. سپس با استفاده از دو متد showmess و beclear که در انتها نوشته شده پیغام مناسب نمایش داده میشود و مقدار درون EditText ها خالی میشود.

            btndel.setOnClickListener(new OnClickListener() {
            
            
            
                                       @Override
            
                                       public void onClick(View arg0) {
            
                                                //searching for id
            
                                                Cursor c=db.rawQuery(
            "select * from student where id='" + edtid.getText() + "'", null);
            
                                                if(c.moveToFirst()){
            
                                           db.execSQL("delete from student where id='" + edtid.getText() + "'");
            
                                                showmess("Record Deleted");
            
                                                beclear();}
            
                                                else
            
                                                {
            
                                                          showmess("Record with this id number doesnt found");
            
                                                }
            
                                       }
            
                             });
            

            برای دکمه Delete که برای حذف رکورد براساس مقدار id است که توسط کاربر وارد میشود باید ابتدا با استفاده از دستور  select که در متد rawQuery انجام میشود و نتیجه در متغیری ازجنس Cursor قرار میگیرد در جدول برای ای دی وارد شده توسط کاربر جستجو کرده و با استفاده از متد moveToFirst که که اگر نتیجه True باشد این بار دستور delete را در متد execSQL قرار میدهیم  اگر False باشد پیغام مبنی بر یافت نشدن رکورد.

            برای دکمه Update نیز از همین تکنیک استفاده میکنیم و مقادیر را براساس ای دی وارد شده تغییر میدهیم.اما برای دکمه

            btnshow.setOnClickListener(new OnClickListener() {
            
            
            
                                       @Override
            
                                       public void onClick(View arg0) {
            
                                                StringBuffer buffer=new StringBuffer();
            
                                                //Search for Table Records
            
                                                Cursor c=db.rawQuery("select * from student", null);
            
                                                if(c.getCount()==0){
            
                                                          showmess("no Records Found");
            
                                                }
            
                                                else{
            
                                                          //appending records to the StringBuffer
            
                                                          while(c.moveToNext()){
            
                                    buffer.append("id   " + c.getString(0) + "\n");
            
                            buffer.append("name    " + c.getString(1) + "\n");
            
                         buffer.append("family    " + c.getString(2) + "\n");
            
                                                          }
            
                                                          //show All Records
            
                                                          showmess(buffer.toString());
            
                                                }
            
                                       }
            
                             });
            

            ابتدا در جدول جستجو میکند و در صورت خالی نبودن جدول از شیی از جنس StringBuffer استفاده میکنیم و تا زمانی که به انتها رکوردهای جدول نرسیده ایم مقادیر هر رکورد را در شی بافر append میکنیم و درانتها در یک پیغام Toast نمایش میدهیم.

            دکمه btnone نیز براساس ای دی که کاربر وارد میکند مقادیر name , family پیدا شده و در EditText ها قرار میگیرد.

            برای مثال نتیجه دکمه btnshow بدین صورت خواهد بود

            آموزش اندروید فصل چهارم-قسمت سوم

            برای مشاهده فایل متنی Database نیز کافیست به قسمت DDMS رفته سپس FileExplorer را انتخاب کرده و مسیر زیر را انتخاب کنید

            آموزش اندروید فصل چهارم-قسمت سوم

            مدرس : خانم مهندس داودی نژاد

            آموزش اندروید فصل چهارم قسمت دوم

            آموزش اندروید فصل چهارم قسمت چهارم

            اشتراک گذاری

            پست های مرتبط

            دستورات جریان کنترل (Control flow statements) یا دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت Dart

            دستورات جریان کنترل (Control flow statements) یا دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت Dart

            30 بهمن 1400

            دستورات شرطی و حلقه ها در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب
            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت یا Dart

            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت یا Dart

            30 بهمن 1400

            آموزش عملگرها یا Operator ها در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب
            توابع در زبان برنامه نویسی دارت (Dart)

            توابع در زبان برنامه نویسی دارت (Dart)

            27 بهمن 1400

            توابع در زبان برنامه نویسی دارت (Dart)


            ادامه مطلب

            دیدگاهتان را بنویسید لغو پاسخ

            نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

            ساخت اپلیکیشن های موبایل

            • ساخت اپلیکیشن فروشگاهی
            • ساخت اپلیکشن ابزاری و خدماتی
            • ساخت اپلیکیشن آموزشی
            • و هزاران موضوع دیگر

             
            کلیک کنید

            آخرین دیدگاه ها

            • 7 خرداد 1401

              داودی نظر در آموزش استفاده از ckeditor همراه با آپلود عکس در لاراول 6

            • 6 فروردین 1401

              yasaman نظر در راست چین کردن متن در فیگما Figma

            • 3 فروردین 1401

              رضا نظر در مفاهیم Observable و Observer در RxJava

            تجاری اپ در شبکه های اجتماعی

            لوگوی تایید پرداخت آنلاین

            2015-2022 © تمامي حقوق مادي و معنوي اين وب سايت نزد تجاری اپ محفوظ بوده و هر گونه کپي برداري از مطالب پيگرد قانوني به همراه دارد! | طراح سایت : ProgRun
            سفارش پروژه
                      هیچ نتیجه ای یافت نشدمشاهده همه نتایج