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

            آموزش اندروید فصل سوم قسمت ششم – حفظ اطلاعات

            • صفحه نخست
            • مدرسه ی تجاری اپ آموزش اندروید
            • آموزش اندروید فصل سوم قسمت ششم – حفظ اطلاعات
            آموزش برنامه نویسی اندروید فصل سوم
            آموزش اندروید فصل سوم قسمت پنجم – RelativeLayout
            4 تیر 1395
            آموزش برنامه نویسی اندروید فصل سوم
            آموزش اندروید فصل سوم قسمت هفتم – Action bar
            7 تیر 1395
            منتشر شده توسط خانم منطق
            آموزش برنامه نویسی اندروید فصل سوم

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

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

            آموزش اندروید فصل سوم قسمت ششم – حفظ اطلاعات

            تداوام وضعیت اطلاعات  در هنگام تغییرات اساسی

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

            • ()OnPause : این متد هنگام نابودی اکتیویتی یا به پس زمینه رفتن اکتیویتی استفاده میشود.
            • ()onSavedInstanceState : این متد هم مثل متد بالا هنگام نابودی اکتیویتی یا هنگام پس زمینه رفتن اکتیویتی اجرا میشود با این تفاوت که این متد پس از نابودی اکتیویتی اطلاعات را ذخیره میکند.درواقع اجرای پیش فرض این متد اطلاعات درمورد وضعیت سلسله مراتبی ابزار اکتیویتی را ذخیره میکند.برای مثال متن درون ابزار EditText 

            مثال زیر نحوه ذخیره یک رشته به نام ای دی را درون شی Bundle در متد ()onSavedInstanceState را نشان میدهد توجه کنید که این متد یک آرگومان Bundle را ارایه میدهد و همچنین از مقادیر key برای حفظ اطلاعات استفاده میکند. همانگونه که مشاهده میکنید با متد ()pustString یک مقدار رشته ای را با نام ID و مقدار مشخص ذخیره میکند.در انتها نیز superclass را برای ذخیره سازی فراخوانی کنید

            @Override
            
            Public void onSavedInstanceState(Bundle onSavedInstance) {
            
            //--save whatever you need to persist—
            
            outstate.putString("name", "Marjan");
            
            super.onSavedInstanceState(onSavedInsatance);
            
            }
            
            

             

            وقتی که یک اکتیویتی باز ایجاد گردد اولین متدی که اجرا میشود متد ()onCreate است و به دنبال آن متد ()onRestoreInstanceState نیز اجرا میگردد تا حالت قبلی که با استفاده از متد ()onSavedInstanceState به واسطه شی Bundle (به این نکته توجه داشته باشید که تنها میتوان اطلاعات را در شی Bundle ذخیره کرد.) به عنوان آرگومان ذخیره شده است بازیابی گردد:

            @Override
            
            Puclic void onRestoreInstanceState(Bundle savedInstanceState) {
            
            Super.onRestoreInstanceState(savedInstanceState);
            
            //--retrive the information persisted earlier—
            
            String name= savedInstanceState.getString("name");
            

            تشخیص تغییر جهت

            بعضی مواقع نیاز است تا در زمان اجرای برنامه وضعیت جهت دستگاه را بدانیم برای اینکار از کلاس WindowManager استفاده میکنیم.

            قطعه کد زیرتشخیص وضعیت دستگاه را هنگام اجرا نمایش میدهد:

            import com.tejariapp.sqlite.R;
            
            public class test {
            import android.os.Bundle;
            
            import android.util.Log;
            
            import android.app.Activity;
            
            import android.view.*;
            
            public class MainActivity extends Activity {
            
            @Override
            
            protected void onCreate(Bundle savedInstanceState) {
            
            super.onCreate(savedInstanceState);
            
            setContentView(R.layout.activity_main);
            
            
            //--get the current display info--
            
            WindowManager wm = getWindowManager();
            
            Display d=wm.getDefaultDisplay();
            
            if(d.getWidth() > d.getHeight())
            
            {
            
            //--Landscape mode--
            
            Log.d("Oriention", "Landscape mode");
            
            }
            
            else
            
            {
            
            //--portrait mode--
            
            Log.d("Oriention", "Portrait mode");
            
            }
            
            }
            
            }
            

            متد ()getDefaultDisplay یک شی از نوع Display که همان صفحه نمایش دستگاه باز است را برمیگرداند سپس با استفاده از طول و عرض آن میتوان جهت دستگاه را مشخص نمود.

            کنترل جهت نمایش

            گاهی اوقات تمایل دارید که برنامه شما تنها در یک جهت نمایش و اجرا شود برای این کار نیز میتوان از متد ()setRequestOriention کلاس اکتیویتی به شکل زیر استفاده کرد

            import android.content.pm.ActivityInfo;
            @Override
            
                    protected void onCreate(Bundle savedInstanceState) {
                             super.onCreate(savedInstanceState);
                             setContentView(R.layout.activity_main);
                             //--change to landscape mode--
                             setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                    }
            

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

            ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
            

            راه دیگری نیز برای تعیین جهت صفحه نمایش وجود دارد بدین ترتیب که در فایل manifest برنامه با استفاده از خصوصیت android:screenOrientation چنین تغییری ایجاد کنیم

            <activity
            
                        android:name=".MainActivity"
            
                        android:label="@string/app_name"
            
                        android:screenOrientation="portrait" >
            
                        <intent-filter>
            
                            <action android:name="android.intent.action.MAIN" />
            
            
            
                            <category android:name="android.intent.category.LAUNCHER" />
            
                        </intent-filter>
            
                    </activity>
            

            کد بالا اکتیویتی را به صورت عمودی نمایش میدهد(landscape  نیز برای حالت افقی و Sensor براساس سنسور شتاب سنج صفحه بکار میرود که به صورت پیش فرض از Sensor استفاده میشود) و از نابود شدن اکتیویتی جلوگیری میکند این بدین معناست که اکتیویتی با چرخش صفحه از بین نمیرود و نیازی به فراخوانی مجدد متد ()onCreate نیست.

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

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

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

            اشتراک گذاری

            پست های مرتبط

            دستورات جریان کنترل (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
            سفارش پروژه
                      هیچ نتیجه ای یافت نشدمشاهده همه نتایج