مقالات تخصصي طراحي اپ موبايل مرجع رسمي مقالات طراحي اپليكيشن
|
اندرويد دارنده دسته اي از view هاي (ابزارك هاي) مهم ميباشد طراحي اپليكيشن و كلاس شالوده هر ابزارك Android كلاس View (با سخن V بلندمرتبه) ميباشد. تصوير پايين بخشي از سلسله مراتب view ها را نماد ميدهد: دو طريق براي ساختوساز يك view از اندرويد و تهيه و تنظيم مقادير براي خصوصيت هاي آن وجود داراست: از روش فولدر xml در پوشه هاي layout فعاليت با view ها در كاتلين از روش كد كاتلين مي اقتدار view به فولدر layout اضافه كرد. راياپارس براي مثال در كد پايين TextView را بجاي پوشه layout قرار ميدهيم. در اكتيويتي اساسي خط setContentView(R.layout.activity_main) در سياق onCreate را با كد ذيل جايگزين نمائيد: val email = TextView(this) // 1
درحال حاضر پوشه res/layout/activity_main.xml را گشوده نمائيد. براي استعمال از يك كدام از view هاي مهم اندرويد مانند TextView ، صرفا كافي ميباشد آن را از پنجره سمت چپ به باطن ويرايشگر بكشيد و آن را روي ويرايشگر بيندازيد ، يا اين كه به ويرايشگر متن XML برويد و خطوط ذيل را به كد XML اضافه نمائيد: android:id="@+id/email" براي تغيير و تحول يك خصوصيت ، مانند متن در TextView ، تنها اسم خصوصيت (android: text) را اضافه نمائيد و مانند واپسين خط قطعه كد پيشين ، كمي را به آن تخصيص دهيد (مثل متني كه اينجانب در كد وارد كرده ام: "Hello Custom Views"). در شرايطي كه در مرحله گذشته ()onCreate را تغيير تحول داده ايد، براي به كار گيري از فولدر xml لايوت بايستي كد setContentView (R.layout.activity_main) را به ()onCreate گشوده گردانيد براي اينكار onCreate در MainActivity را به شرايط نخستين گشوده گردانيد و كدي را كه تا قبل از اينً اضافه نموده ايد برداريد. ادامه مطلب
امتیاز:
بازدید:
بكار گيري Maps SDK براي اندرويد به يك كليد API نياز دارااست. طراحي اپليكيشن براي تهيه كردن كليد API ، پروژه خويش را در شيت API & Services تصويب فرمائيد. كليد API به يك گواهينامه ديجيتال گره خورده ميباشد كه نرمافزار را به تاليف كننده آن متصل مي نمايد. دراين نوشتهي علمي ، از كليد API براي مدرك گونه هاي زدايي (debug certificate) استعمال ميكنيم. راياپارس سند گونه هاي زدايي از حيث پياده سازي ناامن ميباشد زيرا براي آزمايش اپليكيشن ميباشد. نرمافزار هاي منتشر گرديده اندرويدي كه از Maps SDK به كار گيري مي نمايند ، به كليد API دوم نياز دارا هستند: كليد مدرك نشر (release certificate). Android Studio دارنده يك سرمشق براي اكتيويتي نقشه گوگل ميباشد كه كدهاي مفيدي را به طور اتومات ساختوساز مي نمايد. بخشي از كد اين سر مشق مشتمل بر يك فولدر google_maps_api.xml ميباشد. باطن اين پوشه لينكي ميباشد كه فراهم كردن كليد API را معمولي مي نمايد. اين بخش دربرگيرنده سه مرحله ميباشد: مرحله اوليه: ساختن پروژه Wander با الگوي نقشه ها 3. اسم پروژه را Wander بگذاريد. 4. دستكم سطح API (minimum API) را روي API 19 تهيه و تنظيم فرمائيد. مطمئن گرديد گويش Kotlin ميباشد. 5. روي Finish كليك نمائيد. بعد از تشكيل داد اپليكيشن ، نگاهي به پروژه خويش و فايلهاي مرتبط با نقشه ها كه Android Studio براي شما ساختوساز مي نمايد ، بيندازيد: google_maps_api.xml - شما براي نگه داشتن كليد API خويش از اين پوشه تنظيمات به كار گيري ميكنيد. الگوي انتخابي در مرحله قبلي دو پوشه google_maps_api.xml ساختوساز مي نمايد: يكي از براي انواع زدايي (debug) و ديگري براي تكثير (release). پوشه كليد API براي مدرك گونه هاي زدايي در فايل src/debug/res/values واقع گرديده است. پوشه كليد API براي مدرك تكثير در فولدر src/release/res/values قراردارد. درين نوشته ي علمي، شما صرفا از سند گونه هاي زدايي استعمال ميكنيد. activity_maps.xml - اين فولدر layout مشتمل بر يك fragment ميباشد كه تك تك برگه را لبريز مي نمايد. كلاس SupportMapFragment يك پايين كلاس از كلاس Fragment ميباشد. SupportMapFragment بي آلايش ترين منش براي قرار دادن نقشه در يك اپ ميباشد. اين فرگمنت يك پوشش در نزديكي نماي نقشه ميباشد و به صورت اتوماتيك به رويدادهاي چرخه معاش (life cycle) نقشه پژوهش مي نمايد. ادامه مطلب
امتیاز:
بازدید:
اين سياق ها براي تغيير تحول داده باطن MutableLiveData به كار گيري ميشوند. setValue را صرفا ميتوانيد در Thread اساسي فراخواني فرمائيد دقت: متدهاي setValue و postValue در كلاس LiveData نيز وجود دارا هستند اما در كلاس LiveData اين متدها protected مي باشند و تنها كلاس هايي كه از LiveData ارث بري داراهستند بهاين متدها دسترسي داراهستند. طراحي اپليكيشن اما در MutableLiveData اين متدها public و در دسترس مي باشند. LiveData / MutableLiveData معمولاً در آپ ديت رساني داده هاي تيم اي (List راياپارس ، ArrayList و غيره) در RecyclerView استعمال ميگردد. درپي ، طرحي ساختوساز خوا هيم كرد كه اطلاعات را از مقر داده SQLite ميخواند، داده هاي مقر داده را تغييرو تحول ميدهد و اطلاعات را در RecyclerView آرم ميدهد. براي اينكه هر فرصت اطلاعات تغيير تحول كرد ركوردهاي RecyclerView آپ تو ديت خواهد شد از MutableLiveData استعمال خوا هيم كرد. در هر آپ ديت رساني اطلاعات ، براي خودداري از بارگيري دوباره سطرهاي RecyclerView كه تغيير و تحول نكرده اند ArrayList سابق و نو را با DiffUtil مقايسه ميكنيم.
ساختار پروژه مثال ادامه مطلب
امتیاز:
بازدید:
شما در رهبري گروه هاي پيشرفت اپ مي بايست طراحي اپليكيشن يك گام بالاتر از همدلي در مجموعه ها برويد و بايستي بتوانيد عواملي كه سبب فرسودگي اعضاي گروه ها مي گردند را شناسايي فرماييد. علائم فرسودگي شغلي مشمول كاهش فايده وري، ارتقا بدبيني نسبت به همياران و شم طلاق از كمپاني ميگردد. Dawn Parzych رئيس بازاريابي بسط دهندگان در كمپاني LaunchDarkly اين نظر را دارد راياپارس كه مجموعه هاي بسط دهنده ميتوانند با به كار گيري از ابزارها و طرق مدرني كه در اين مورد وجود دارا هستند استرس را به معيار متعددي كاهش داده و در اختيار گرفتن نمايند. وي رسيدگي اي كه جديدا دراين مورد ايفا داده ميباشد را به اشتراك ميگذارد كه نماد ميدهد 91 درصد از متخصصان بسط نرمافزار كه فاقد فرايندهايي مانند استعمال از درفش هاي خصوصيت مي باشند گزارش ميدهند كه در حين استقرار كدهاي خويش استرس متعددي را تجارب مي نمايند. وي سفارش مي نمايد كه تحت عنوان يك مديريت براي رهبري دسته هاي گسترش نرمافزار بدين تصور كنيد كه به چه شكل ميتوانيد استرس را از دربين برده و به اعضاي دسته خويش امداد نمائيد تا با بهبود فرايندهاي تشكيل داد و استقرار از روش قابليت و امكان مشاهده يا اين كه درفش هاي خصوصيت از اين فرسودگي پرهيز و اجتناب نمايند. درپي اشخاص مدبر باشيد كه در پي راهحل مسائل باشند Marcus Merrell نائب رئيس استراتژيك تكنولوژي در كمپاني Sauce Labs بر عنايت شناسايي جويندگان راهحل هاي مطلوب در حين مدير و رهبري دسته هاي پيشرفت اپ تاكيد داراست. وي ميگويد مواردي وجود داراست كه زرنگ ترين شخص با شايسته ترين الگوريتم كسي ميباشد كه شما به آن نياز داريد. با اين اكنون بيشتر وقت ها شما به كسي نياز داريد كه جواب مايحتاج شمارا در كتابخانه يا اين كه ابزاري بيابد. ادامه مطلب
امتیاز:
بازدید:
UTF-8 يك سيستم كد گذاري كاراكترها براي پيوندها الكترونيكي ميباشد و تحت عنوان charset استاندارد اينترنت نيز شناخته ميشود. Charset در واقع يك قابليت و امكان رمز گذاري كليه كاراكترهايي ميباشد كه فعلا در فضاي اينترنت وجود داراهستند. با به وجود وارد شدن اين تغيير و تحول در ورژن 18 جاوا API هايي كه متعلق به charset پيش فرض بودند به صورت مداوم در كليه طراحي ها، طراحي اپليكيشن سيستم عوامل و پيكربندي اخلاق قبل خويش را تكرار مي نمايند. اعتنا داشته باشيد كهاين توصيه ارائه نشده ميباشد تا API هاي استاندارد جاوا را به صورت جديدي تمجيد نمايد. با مشخص و معلوم كردن UTF-8 تحت عنوان charset پيش فرض اين خطر وجود دارااست كه هنگامي كه نرم افزار ها داده هاي ساخت گرديده قبل از تعريفوتمجيد كردن charset پيش فرض راياپارس نو را پردازش مي نمايند، مشكلاتي براي آنان به وجود بيايد. ولي بايستي دقت داشته باشيد كهاين خطر يك زمينه نو وجود ندارد البته با اين درحال حاضر نرم افزار هايي كه در دور و بر هاي متفاوت وجود داراهستند ميتوانند به معيار مقداري نسبت به UTF-8 شم خطر داشته باشند.
ادامه مطلب
امتیاز:
بازدید:
پيشرفت نرمافزار در 30 سال قبل مسير وقتگير را طي نموده است. در قبل گسترش دهندگان نرمافزار مي توانستند چرخه قدمت گسترش اپليكيشن خويش را روي كامپيوترهاي فردي خويش نيز مدير نمايند. شما تحت عنوان يك بسط دهنده اپ مي توانستيد طراحي اپليكيشن كدهاي خويش را بنويسيد، آنها را انواع زدايي و ديباگ كرده و مبادرت به Build كردن آنان فرماييد. در كنار تك تك اين مفاد شما مي توانستيد مجموع آنهارا از دسكتاپ خويش ارسال فرماييد. منابع شما در يك سرور ذخيره گرديده و داده ها با ذخيره شدن در يك فولدر فشرده گرديده راياپارس در نقطه نهايي روز مدير مي شدند. در شرايطي كه شما هم در قبل از يك ابزار در اختيار گرفتن منبع استعمال مي كرديد احتمالا اين ابزار يكياز ابزارهاي CVS يا اين كه SVN با يك سرور مركزي بود كه انشعاب و مخلوط پروژه را به يك معضل بسيار دورازشوخي براي شما تبديل ميكرد. با اين درحال حاضر امروزه نحوه ها و ابزارهاي امروزي تري براي در دست گرفتن چرخه حيات گسترش برنامه ساخت گرديده اند كه شناخت با آنها براي كل پيشرفت دهندگان ميتواند اثرگذار و كاربردي باشد. فرآيند رئيس گسترش برنامه در پيشين و امروز امروزه فرايند در دست گرفتن و مدير بسط برنامه هم بي آلايش خيس و هم غامض خيس گرديده است. اكثر قابل انعطاف افزارهاي تازه به وسيله مرورگرها ارائه ميشوند. گروه هاي بسط دهندگان از روش به دور مقر كدهاي گران قدر را با استعمال از مخازن كد مركزي مدير مي نمايند كه ممكن ميباشد پاره اي غامض به حيث رسد. آنها ميتوانند اين شغل را با به كارگيري از ابزارهاي رديابي و ارتباطي هماهنگ و اعمال دهند. اين دليل نيز سبب ساز يك پارچه سازي مداوم و استقرار مداوم كدها با به كار گيري از ابزارهايي كه به صورت خاص به همين خواسته پياده سازي گرديده اند ميشود. سبك هاي تحويل و ارائه پروژه مانند Saas به دسته هاي بسط برنامه اذن ميدهند تا هر مجال كه بخواهند بتوانند بلافاصله خصوصيت هاي نو را به پروژه اضافه نمايند.
به اين ترتيب پرسش مهم كه در اين مكان ممكن ميباشد براي شما به وجود بيايد اين ميباشد كه براي گسترش اپ امروزي به چه ابزارها و قابل انعطاف افزارهايي نياز داريم؟ گروه هاي گسترش نرمافزار امروزي براي اين فعاليت دست كم به 5 ابزار پايين نياز پيدا خواهند كرد. ادامه مطلب
امتیاز:
بازدید:
بسط دهندگان اندرويد در طول ساختن نرم افزار هاي اندرويدي با معضل هاي رايجي مانند مدير چرخه حيات حادثه ها، مرحله مراقبت و ذخيره سازي اطلاعات مواجه ميگردند. اين دست اندركاران سبب رنج توسعه و گسترش نرم افزار اندرويدي ميشوند. طراحي اپليكيشن به اين ترتيب دراين نوشتهيعلمي ايجاد كرد نرم افزار هاي امروزي با به كار گيري از معماري كامپوننت ها در اندرويد را رسيدگي خواهيم كرد.
خوشبختانه گروه اندرويد، معماري كامپوننت ها را همپا با شيوه نامه ها و ارشادوراهنمايي ها براي حل خطاها رايج در زمان تشكيل داد نرم افزار اندرويدي دراختيار بسط دهندگان گذارده ميباشد. معماري كامپوننت ها چيست؟ باتوجه به گفته هاي مجموعه گسترش دهنده اين معماري، "معماري كامپوننت ها يك گروه نو از كتابخانه هايي ميباشد كه ياري ميكنند تا شما يك نرم افزار حاذق كه امكان آزمايش و حفظ دارااست را پياده سازي نمائيد. آنان با كلاس هايي كه وظيفه مدير چرخه حيات اجزاي رابط كاربري شما ومديريت ماندگاري اطلاعات را بر عهده دارا هستند استارت كردند."
درادامه كامپوننت هاي ماژولاري كه ميتوانند با يكديگر يا اين كه جداازهم استعمال شوند اورده شده ميباشد: 1- چرخه حيات (LifeCycle) 2- داده زنده (LiveData) 3- سبك نما (ViewModel) 4- محيط (Room) نكته: يك سري كامپوننت ديگر هم ميباشند كه اخيرا منتشر گرديده اند البته ما درباره آن ها سخن نميكنيم زيرا در مرحله نخستين بسط ميباشند. ادامه مطلب
امتیاز:
بازدید:
چرخه حيات (LifeCycle) 2- داده زنده (LiveData) 3- سبك نما (ViewModel) 4- محيط (Room) نكته: تعدادي كامپوننت ديگر هم ميباشند كه جديدا منتشر گرديده اند طراحي اپليكيشن اما ما درباره آن ها كلام نميكنيم زيرا در مرحله اول بسط ميباشند. چرخه حيات (Lifecycle) رئيس چرخه حيات يكياز بزگترين بحران هاي ايجاد كرد يك نرم افزار اندرويدي ميباشد. راياپارس در شرايطي كه از فرگمنت ها به كار گيري نمائيد چرخه حيات حتي ميتواند بغرنج خيس خواهد شد ، چرا كه چرخه حيات آنها در ورژن هاي گوناگون اندرويد گوناگون ميباشد ( ولي اين خلل الان به وسيله كتابخانه AppCompat حل گرديدهاست). بريم ببنيم كه كامپوننت چرخه حيات چهگونه به ما ياري ميكند تا از بند اين بحران عبور كنيم. Lyfecycle، كلاس ها و اينترفيس هايي را اماده نموده است كه اذن تشكيل داد كامپوننت هاي آگاه از چرخه حيات (lifecycle-aware) را مي دهند كه به طور خود كار خلق و خوي خودشان را با چرخه حيات فعلي يك اكتيويتي يا اين كه فرگمنت سازگار ميكنند. اين قابليت و امكان اذن ميدهد كه چرخه حيات براي ساير ابجكت ها قابل مشاهده باشد. اين كامپوننت براي افزودن چرخه هاي حيات غير باخبر(lifecycle-awareness) به كارگيري مي گردد. اين گزينه براي اشخاصي كه كتابخانه ميسازند اثر گذار خواهد بود به دليل آن كه ميتوانند منابع را باتوجه به چرخه حيات ازاد نمايند. بريم ببينيم چه طور كامپوننت Lyfecycle به ما ياري ميكند. اينجا يك نمونه از اينكه چهگونه يك كد كانال بنويسيم بيان شده ميباشد: override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) // Network call api.get().onResponse { data -> textView.text = data } }
اين نمونه يك كد بي آلايش كانال ميباشد كه يك درخواست GET به اينترنت ارسال ميكند و جواب ان را در يك TextView تهيه و تنظيم ميكند. بي آلايش به لحاظ ميرسد، البته اينطور وجود ندارد، چون زماني كه شما دستگاه اندرويدي خويش را بچرخانيد يااينكه از نرمافزار بيرون گرديد، درخواستي كه به اينترنت رسول بوديد همچنان در بك گراند در حالا اجراست و هنگامي كه جواب خويش را اخذ ميكند اپليكيشن كرش ميكند زيرا ديگرTextViewوجود ندارد چون اكتويتي از در ميان رفته ميباشد. ادامه مطلب
امتیاز:
بازدید:
در دنياي امروز و بعداز انقلاب تكنولوژي واژه و كلمه نرم افزار (application) كه طراحي اپليكيشن به اختصار app ناميده مي توان به تيتر يكياز پرتكرار ترين لغات، در مكالمات روزانه ما نقش ويژه اي پيدا نموده است. نرم افزار چيست؟ وظيفه اساسي نرم افزار ها چيست؟ پياده سازي نرم افزار و پروسه آن چيست؟ ادامه مطلب
امتیاز:
بازدید:
در شرايطيكه مقالهها مرتبط با جاوا را دنبال كرده باشيد مي دانيد طراحي اپليكيشن كه جاوا يك حوزه نرم افزارنويسي شيگرا ست كه با به كار گيري از آن مياقتدار اپليكيشنهاي بخش اعظمي را پايين دسكتاپ، پايين اينترنت و يا اين كه نرم افزارهاي گوشي ساخت. گويش جاوا به انگيزه خصوصيتهايي همانند امنيت بالا و قابل حمل بودن كدهاي درج شده در آن، برنامه نويس ها اكثري را در سراسر عالم به خويش جلب نموده است. دراين مقاله قرار ميباشد درخصوص خطاهاي متداول دراين لهجه سخن كنيم. راياپارس در بنا شده در گويشهاي نرمافزار نويسي گونه هاي اشتباهات يك قسمت جداناپذير از آن ها ميباشند. اما آشنايي و رفع هركدام از اين مشكلات مي تواند براي هر اپليكيشن نويسي يك چاره توليد نمايد تا در اين باره چيرهخيس فعاليت نمايد ۱) Expected معمولا اين پيغام غلط به جاي دقيقي كه در آن اشتباه صورت داده ميباشد اشاره نمينمايد. ۲) Unclosed String Literal نكته: در شرايطي كه كه يك فن از اجزاي مختلفي درست شده باشد كه به وسيله نشان “+” به هم متصل گرديده و فن را تشكيل دهند، ممكن ميباشد گذاشتن كوتيشن ميان آنها فراموش گردد. نكته: در كنار كوتيشنهايي كه بخشي از string ميباشند مي بايست از “” به كار گرفت. ۳) Illegal Start of an Expression وقتي كه براي تعريفوتمجيد يك مقدار نو يا اين كه تخصيص يك مقدار به متغير از يك عبارت استعمال ميكنيم، ممكن ميباشد كامپايلر به جهت پيدا نكردن سينتكس آيتم انتظارش آن مقدار را شناسايي نكند و اين غلط صورت دهد. ۴) x Cannot Find Symbol دلايلي كه ميتوانند سبب اخذ پيغام خطاي Cannot Find Symbol شوند: املاي غلط شناسه كه موجب عدم تطبيق آن با شناسهي تمجيد گرديده ميگردد. ادامه مطلب
امتیاز:
بازدید:
[ ۱ ][ ۲ ][ ۳ ][ ۴ ][ ۵ ][ ۶ ][ ۷ ][ ۸ ][ ۹ ][ ۱۰ ][ ۱۱ ][ ۱۲ ][ ۱۳ ][ ۱۴ ][ ۱۵ ][ ۱۶ ][ ۱۷ ][ ۱۸ ][ ۱۹ ][ ۲۰ ][ ۲۱ ][ ۲۲ ][ ۲۳ ][ ۲۴ ][ ۲۵ ][ ۲۶ ][ ۲۷ ][ ۲۸ ][ ۲۹ ][ ۳۰ ][ ۳۱ ][ ۳۲ ][ ۳۳ ][ ۳۴ ][ ۳۵ ][ ۳۶ ][ ۳۷ ][ ۳۸ ][ ۳۹ ][ ۴۰ ][ ۴۱ ][ ۴۲ ][ ۴۳ ][ ۴۴ ][ ۴۵ ][ ۴۶ ][ ۴۷ ][ ۴۸ ][ ۴۹ ][ ۵۰ ][ ۵۱ ][ ۵۲ ][ ۵۳ ][ ۵۴ ][ ۵۵ ][ ۵۶ ]
|
|
[قالب وبلاگ : سایت آریا] [Weblog Themes By : sitearia.ir] |