مقالات تخصصي طراحي اپ موبايل
مرجع رسمي مقالات طراحي اپليكيشن


يادگرفتن فعاليت با ديتابيس اندرويد (SQLite)
هر اپ يا اين كه اپليكيشني كه ساخت‌و‌ساز ميگردد تعدادي داده هايي را نيز ايحاد مي نمايد كه‌اين داده ها يا اين كه اطلاعات در جايي ذخيره مي‌باشند تا بتوان با اين داده ها فعاليت كرد. بدين محل ذخيره سازي اطلاعات در اندرويد مقر داده اندرويد يا اين كه ديتابيس اندرويد (Android Databasde) گفته طراحي اپليكيشن در مشهد  ميگردد.

در واقع گروه اي از اطلاعات به طور منظم در جدول ديتابيس در اندرويد ذخيره ميگردند و به وسيله رئيس مقر داده (DBMS) مدير (ساخت‌و‌ساز، حذف و بروزرساني) مي‌شوند.
مقر داده SQLite يك ساختار پرس و جو (Query) مطابق مقر داده، متن گشوده(Open Source) ، معدود وسعت، غير وابسته از كانال ميباشد. هر مجال كه يك اپليكيشن نياز به ذخيره مقدار متعددي از اطلاعات داشته باشد، به كار گيري از ديتابيس اندرويد SQlite نسبت به بقيه سيستم هاي ذخيره پوشه مثل SharedPreferences يا اين كه ذخيره داده در فولدر ها، ارجحيت بيشتري دارااست.
ساخت‌و‌ساز و بروزرساني ديتابيس اندرويد (Creating & Updating) :
براي ساخت‌و‌ساز، بروزرساني و بقيه عمليات مقر داده اندرويد مي بايست يك كلاس فرعي يا اين كه كلاس SQLiteOpenHelper ساخت نماييد. SQLiteOpenHelper يك كلاس كمكي براي مدير ساخت‌و‌ساز مقر داده و رئيس آن ميباشد. اين كلاس دو طريق پايين را ارائه ميدهد:

onCreate (SQLiteDatabase db)
onUpgrade (SQLiteDatabase db int oldVersion ، int newVersion)
كلاس SQLiteOpenHelper وظيفه مفتوح كردن مقر داده را در شكل وجود داشتن خزانه و ساخت مقر داده را در شكل وجود نداشتن خزانه بر ذمه دارااست و در شكل ضرورت فعاليت به روزرساني را جاري ساختن ميدهد.

كلاس SQLiteOpenHelper براي ساخت خزانه اطلاعاتي، صرفا نياز به يك اسم نياز دارااست. بعد از بسط SQLiteOpenHelper ، شما بايستي روشهاي آن را روي توليد ، onUpgrade و onCreate طراحي و انجام فرماييد.

شيوه (onCreate(SQLiteDatabase sqLiteDatabase صرفا يك توشه در حين چرخه نرم افزار (اپليكشن) فراخواني ميگردد. هر فرصت كه اولي تماس براي اخذ تابع () getReadableDatabase يا اين كه () getWritableDatabase جانور در سوپر كلاس SQLiteOpenHelper وجود داشته باشد، فراخواني ميشود. به اين ترتيب كلاس SQLiteOpenHelper بعد از ساخت و ساز خزانه اطلاعاتي و شيء SQLiteDatabase ، روال () onCreate را فراخواني مي نمايد.

نحوه (onUpgrade (SQLiteDatabase db، int oldVersion، int newVersion تنها در طول بروزرساني ها در ورژن مو جود فراخواني ميشود. به اين ترتيب براي بروزرساني يك ورژن مي بايست مقدار متغير ورژن منتقل گرديده در superclass constructor را ارتقاء دهيم.

با شيوه onUpgrade ميتوانيم پرس و جو ها را براي اجرا هر عملي كه موردنياز باشد، اكران دهيد. در‌اين نمونه خواهيد روئت كرد كه جدول (هاي) جان دار در اكنون حذف شدن ميباشند و با طريق ()onCreate مجدد فراخواني ميگردد تا جدول ها مجدد ساخت‌و‌ساز شوند. البته اعمال اين شغل اجباري وجود ندارد و كليه چيز به نياز شما بستگي داراست.

چنانچه ستون جديدي را در جدول ديتابيس اضافه نموده ايد، مي بايست ورژن خزانه اطلاعاتي را تغيير‌و تحول دهيد. در صورتي نياز داريد تا داده هاي جانور را در جدول از دست ندهيد، ميتوانيد پرس و جو جدول را در طريق onUpgrade (SQLiteDatabase db ، int oldVersion ، int newVersion) بنويسيد.

مثالي از فعاليت با ديتابيس اندرويد SQlite در اندرويد استوديو :
درين نمونه ما ميخواهيم عملكردهاي افزودن، بروزرساني، حذف و عملكردهاي بيشتر SQLite را روي جدولي در اندرويد استوديو (Android Studio) نشانه دهيم. پس يك شغل يا اين كه اكتيويتي ساخت‌و‌ساز ميكنيم كه دربرگيرنده متن ، دكمه و ويرايشگر متن باشد يعني اين شي ها را در اكتيويتي درج ميكنيم.

در كلاس ديگري كه توسعه و گسترش دهنده SQLiteOpenHelper ميباشد عمليات ساخت و درج صورت بپذيرد. اين نمونه مشتمل بر اعتبارسنجي مطلوب مانند نياز به وارد كردن اطلاعات پيش از اجراي هر عملي ميباشد.
مرحله نخستين: يك پروژه نو به اسم SQLiteOperations ساخت نمائيد.
مرحله دوم: مسير پايين را دنبال فرمائيد و كد پايين را به آن اضافه نمائيد:
res -> layout -> activity_main.xml (or) main.xml
در‌اين مرحله يك طرح در پوشه XML توليد ميكنيم كه باكس متن (textbox)، دكمه هايي (buttons)، ويرايشگر متن (edittext) را اضافه مي نمايد و اين كدها روي دكمه onclick تعريف‌و‌تمجيد گرديده‌است كه آن را با كوشش مرتبط مي نمايد.


xmlns:tools="http://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.example.sqliteoperations.MainActivity"
android:background="@android:color/holo_blue_dark">

android:text="@string/username"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="12dp"
android:id="@+id/textView"
android:textSize="18sp"
android:textStyle="bold|italic"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:gravity="center" />

android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/editName"
android:textStyle="bold|italic"
android:layout_below="@+id/textView"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:hint="Enter Name"
android:gravity="center_vertical|center" />

android:text="@string/password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="13dp"
android:id="@+id/textView2"
android:textStyle="bold|italic"
android:textSize="18sp"
android:layout_below="@+id/editName"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:gravity="center"
android:hint="Enter Password" />

android:text="@string/view_data"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button2"
android:textSize="18sp"
android:onClick="viewdata"
android:textStyle="bold|italic"
android:layout_alignBaseline="@+id/button"
android:layout_alignBottom="@+id/button"
android:layout_alignRight="@+id/button4"
android:layout_alignEnd="@+id/button4" />

android:text="@string/add_user"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button"
android:textStyle="bold|italic"
android:textSize="18sp"
android:onClick="addUser"
android:layout_marginLeft="28dp"
android:layout_marginStart="28dp"
android:layout_below="@+id/editPass"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="23dp" />

android:text="@string/update"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/button3"
android:onClick="update"
android:textStyle="normal|bold"
android:layout_below="@+id/editText3"
android:layout_alignLeft="@+id/button4"
android:layout_alignStart="@+id/button4"
android:layout_marginTop="13dp" />

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/editText6"
android:layout_alignTop="@+id/button4"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:freezesText="false"
android:hint="Enter Name to Delete Data"
android:layout_toLeftOf="@+id/button2"
android:layout_toStartOf="@+id/button2" />

android:text="@string/delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="21dp"
android:layout_marginEnd="21dp"
android:id="@+id/button4"
android:onClick="delete"
android:textStyle="normal|bold"
tools:ignore="RelativeOverlap"
android:layout_marginBottom="41dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true" />

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:layout_marginTop="47dp"
android:id="@+id/editText3"
android:textStyle="bold|italic"
android:textSize="14sp"
android:layout_below="@+id/button"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginLeft="7dp"
android:layout_marginStart="7dp"
android:hint="Current Name" />

android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:layout_marginTop="11dp"
android:id="@+id/editPass"
android:hint="Enter Password"
android:gravity="center_vertical|center"
android:textSize="18sp"
android:layout_below="@+id/textView2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:textAllCaps="false"
android:textStyle="normal|bold" />

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/editText5"
android:textStyle="bold|italic"
android:textSize="14sp"
android:hint="New Name"
android:layout_alignTop="@+id/button3"
android:layout_alignLeft="@+id/editText3"
android:layout_alignStart="@+id/editText3"
android:layout_marginTop="32dp" />

مرحله سوم: مسير app -> java -> package -> MainActivity.java را گشوده نماييد و كد ذيل را به آن اضافه نمائيد.
درين مرحله از توابعي به كار گيري ميكنيم كه به دكمه كليك لينك و پيوند گرديده است. اين توابع در كلاس ديگري تمجيد گرديده و در اينجا به كارگيري ميگردد. هر تابع يه خرده بر مي گرداند تا ببينيم تلاش توفيق آميز ميباشد يا اين كه خير. همينطور استفاده كننده براي اجرا عملياتي در فيلدهاي خالي نياز به تمجيد داده هاي داراي اعتبار ندارد و خطايي در رجوع و برگشت نخواهد داشت.

امتیاز:
بازدید:
برچسب: طراحي اپليكيشن در مشهد،
موضوع:
[ ۱۸ آبان ۱۴۰۲ ] [ ۱۰:۰۲:۲۰ ] [ حامد ] [ نظرات (0) ]
[ ]
.: Weblog Themes By sitearia :.

درباره وبلاگ

نويسندگان
نظرسنجی
لینک های تبادلی
فاقد لینک
تبادل لینک اتوماتیک
لینک :
خبرنامه
عضویت لغو عضویت
پيوندهای روزانه
لينكي ثبت نشده است
پنل کاربری
نام کاربری :
پسورد :
عضویت
نام کاربری :
پسورد :
تکرار پسورد:
ایمیل :
نام اصلی :
آمار
امروز : ---
دیروز : ---
افراد آنلاین : 6
همه : ---
چت باکس
موضوعات وب
موضوعي ثبت نشده است
امکانات وب

سئو کار حرفه ای / خرید پیج اینستاگرام / باربری / دانلود نرم افزار اندروید  / شرکت خدمات نظافتی در مشهد / شرکت نظافت منزل و راه پله در مشهد / شرکت نظافت راه پله در مشهد / شرکت نظافت منزل در مشهد  /سایت ایرونی  / بازی اندروید  /  خدمات گرافیک آریا گستر  / فروش پیج آماده آریا گستر / نیازمندی های نظافتی / وکیل در مشهد / ارز دیجیتال / نیازمندی های قالیشویی / مبل شویی / املاک شمال  / آرد واحد تهران / فیزیوتراپی سیناطب / sell Instagram account safely / نیازمندی های گردشگری / نیازمندی های سالن زیبایی