نصب پايتوناولين گام براي به كار گيري از JetCreator نصب پايتون است. طراحي اپليكيشن پايتون قادر است از تارنما قانوني آن يا اين كه هرجاي ديگري در وب نصب خواهد شد.
به حافظه داشته باشيد كه شماره نسخه هاي پايتون بايستي 2.6 و 2.7 باشد، ذيل دراين نمونه اين نسخه ها دنبال مي گردند.
بعد از دانلود و نصب پاتون مي بايست مسيري راياپارس را براي پايتون معين فرمائيد. command prompt را گشوده كرده و فرماني را كه در روبرو مشاهده ميكنيد، در آن تايپ نماييد : set path = c:/python 27
وقتي كه مسير تهيه گرديده باشد، ميتوانيد با تايپ كردن python و بعد فشار دكمه ي enter، آن را رسيدگي نماييد.
نصب wxPython :شغل موردنياز آينده نصب wxPython است كه از وب قابل دانلود ميباشد. بعداز دانلود آن، wxPython به صورت خود كار روي مسير پايتون نصب ميگردد.
اجراي JetCreator :مرحله ي آجل رفتن به مسيري ميباشد كه Jetcrearor در آن وجود دارااست، كه در tools پوشه SDK است. در تصوير ذيل ميتوانيد مشاهده كنيد :
در پوشه اين دستور را تايپ كرده و enter را فشار دهيد
python JetCreator.pyكه در تصويري مانند application ذيل نشان داده ميشود :
به محض اينكه كليد enter را فشار دهيد، پنجره ي JetCreator گشوده گردد كه چيزي مانند تصوير پايين خواهد بود :
ساخت و ساز Jetcontent:در پنجره ي بالا روي كليد import كليك نمائيد و JetCreator_demo_1 را از پوشه jet از فايل محتواي demo در Jetfolder تعيين فرمائيد، كه در تصوير پايين اكران داده گرديدهاست :
هنگامي كه محتوا را وارد كرديد آن را در پنجره ي Jetcreator ميبينيد،
برچسب:
طراحي اپليكيشن،
ادامه مطلب
بازدید:
+ نوشته شده:
۳۰ آبان ۱۴۰۱ساعت:
۰۹:۳۷:۴۱ توسط:علي پور موضوع:
به خيال داشته باشيد طراحي اپليكيشن كه پيش از نصب پكيج هاي support library ، مشخص و معلوم كرده باشيد كه از كدام مشخصات ميل داريد راياپارس در نرم افزار خويش به كارگيري فرمائيد.
پكيج Android support library از روش Android SDK Manager قابل دسترسي است .
فرآيند ذيل را براي دانلود support library از روش SDK Manager دنبال فرمائيد :
Android SDK Manager را گشوده نمائيد.
در پنجره ي SDK Manager به انتهاي ليست application پكيج ها رفته و فايل extras را پيدا نماييد.
مورد Android Support Library را گزينش فرمائيد.
روي دكمه ي Install packages كليك فرمائيد.
بعداز دانلود، پوشه هاي Support Library روي ديكشنري android SDK نصب ميشوند. فولدر هاي كتابخانه در ديكشنري جايگزين SDK كه در زيرارائه گرديده، مي گردند.
/extras/android/support/ directory
گزينش Support Libraries
پيش از افزودن Support Library به نرم افزار خويش، درباره ي خصوصيت هايي كه رغبت داريد وارد فرمائيد و همينطور تحت ترين نسخه اندرويد كه ميخواهيد حفاظت نمايد، تصميم بگيريد.
تغييرات در Android.Manifest
در حالتيكه شما درحال ارتقاء سازگاري معكوس (backward compatibility) نرم افزار هاي خويش در نسخه هاي سابق خيس Android API با Support Library مي باشيد، مطمئن گرديد كه manifest مرتبط با اپ ي خويش را به روز نموده ايد. بديهي ميباشد كه android:minSdkVersion بايستي به روز خواهد شد و شماره نسخه نو و ديرين معلوم باشند، مانند ذيل :
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.example.tutorialspoint7.myapplication"
minSdkVersion 23
targetSdkVersion 24
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
اين تغييرو تحول به Google Playstore ميگويد كه نرم افزار ما قادر است روي دستگاه هايي با اندرويد 2.1 (سطح API 7) و فراتر نصب گردد.
برچسب:
طراحي اپليكيشن،
ادامه مطلب
بازدید:
+ نوشته شده:
۲۹ آبان ۱۴۰۱ساعت:
۰۹:۳۶:۳۶ توسط:علي پور موضوع:
Progress bar ها براي آرم دادن واحد سنجش گسترش يك عمل (task) به عمل ميروند.هنگامي كه شما در درحال حاضر لود (آپلود) يا اين طراحي اپليكيشن كه دانلود كردن چيزي از وب مي باشيد، خوب ميباشد كه جلو رفتن لود يا اين كه دانلود (progress of download/upload) به يوزر اكران داده خواهد شد.
در اندرويد كلاسي به اسم ProgressDialog وجود راياپارس دارااست كه به شما قابليت و امكان توليد Progress bar را ميدهد. براي اجرا اين فعاليت بايستي يك آبجكت از اين كلاس را تحت عنوان مثال در حيث بگيريد، application كه سينتكس آن مانند ذيل ميباشد :
ProgressDialog progress = new ProgressDialog(this);حال خواهيم توانست برخي از خصوصيت هاي اين ديالوگ، به عنوان مثال استايل و متن آن را تهيه كنيم :
progress.setMesغير مجاز مي باشدe("Downloading Music :) ");progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);progress.setIndeterminate(true);خلال اين روال ها، سياق هاي ديگري وجود دارا هستند كه بوسيله دسته ProgressDialog ارائه مي گردند :
()getMax : اين مشي بيشترين مقدار يك progress را گزارش ميدهد.(incrementProgressBy(int diff اين اسلوب Progress bar را مطابق واحد سنجش اختلاف ، كه تحت عنوان پارامتر عبور كرده اند، ارتقاء ميدهد.(setIndeterminate(boolean indeterminate : اين اسلوب نشانگر Progress را تحت عنوان معلوم (determinate) يا اين كه نامعين، تهيه مي نمايد.(setMax(int max : اين سياق بيشترين مقدار يك progress dialog را تهيه و تنظيم مي نمايد.(setProgress(int value : اين سياق براي آپ تو ديت progress dialog با يك سري مقدار مشخص و معلوم، به كار گيري مي گردد.(show(Context context, CharSequence title, CharSequence mesغير مجاز مي باشدe : اين روال يك مشي استاتيك است كه براي اكران progress dialog استعمال ميشود.
نمونه :
اين نمونه استعمال ي افقي از progress dialog را علامت ميدهد كه در واقع يك Progress bar ميباشد. اين نمونه يك Progress bar را مبني بر كليك رو دكمه نماد ميدهد.
براي اجرا نمونه موردنياز ميباشد آن را روي يك دستگاه حقيقي وواقعي، بعداز بسط ي نرم افزار ، انجام نماييد، طبق فرآيند پايين :
براي ساختوساز يك نرمافزار ي اندرويد از اندرويد استوديو پايين پكيج com.example. progressdialog استعمال ميكنيم .فولدر src/MainActivity.java را براي اضافه كردن كد progress و اكران progress dialog spinning، تغيير تحول دهيد.فولدر res/layout/activity_main.xml را براي اضافه كردن كد XML مربوطه تغييرو تحول دهيد.نرم افزار را انجام نمائيد، يك دستگاه اجرايي اندرويد گزينش فرماييد و نرم افزار را روي آن نصب كرده و حاصل را رسيدگي نماييد.محتواي تغييرو تحول يافته ي src/MainActivity.java :
package com.example.sairamkrishna.myapplication;
import android.app.ProgressDialog;import android.support.v7.app.ActionBarActivity;import android.Operating System.Bundle;import android.view.View;import android.widget.Button;
public class MainActivity extends ActionBarActivity {Button b1;private ProgressDialog progress;
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);b1 = (Button) findViewById(R.id.button2);}
public void download(View view){progress=new ProgressDialog(this);progress.setMesغير مجاز مي باشدe("Downloading Music");progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);progress.setIndeterminate(true);progress.setProgress(0);progress.show();
final int totalProgressTime = 100;final Thread t = new Thread() {@Overridepublic void run() {int jumpTime = 0;
while(jumpTime < totalProgressTime) {try {sleep(200);jumpTime += 5;progress.setProgress(jumpTime);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}};t.start();}}
برچسب:
طراحي اپليكيشن،
ادامه مطلب
بازدید:
+ نوشته شده:
۲۸ آبان ۱۴۰۱ساعت:
۰۹:۴۰:۱۰ توسط:علي پور موضوع:
اين اسلوب ها براي تغيير تحول داده داخل MutableLiveData استعمال ميشوند.
setValue را تنها ميتوانيد طراحي اپليكيشن در Thread مهم فراخواني فرمائيدpostValue را معمولاً در Thread دور نما فراخواني ميكنيم
دقت: متدهاي setValue و postValue در كلاس LiveData نيز وجود داراهستند اما در كلاس LiveData اين متدها protected ميباشند و صرفا كلاس هايي كه از LiveData ارث بري داراهستند بدين متدها دسترسي داراهستند. البته در MutableLiveData اين متدها public و در دسترس ميباشند.
LiveData / MutableLiveData معمولاً در آپ ديت رساني داده هاي تيم اي (List ، ArrayList و غيره) در RecyclerView به كار گيري ميگردد.
درپي ، طرحي توليد خواهيم كرد كه اطلاعات را از مقر داده SQLite ميخواند، داده هاي مقر داده را تغيير و تحول ميدهد و اطلاعات را در RecyclerView نشانه ميدهد. براي اينكه هر مجال اطلاعات تغيير و تحول كرد ركوردهاي RecyclerView آپديت گردد از MutableLiveData به كارگيري خواهيم كرد.
در هر آپ تو ديت رساني اطلاعات ، براي خودداري از بارگيري دوباره سطرهاي RecyclerView كه تغيير و تحول نكرده اند ArrayList سابق و نو را با DiffUtil مقايسه ميكنيم.
ساختار پروژه مثال
اضافه كردن نيازمندي ها به پوشه گريدل
كد هاي تحت را به پوشه build.gradle درون فايل app اضافه فرماييد:
implementation 'com.android.support:design:27.1.1'implementation 'com.android.support:cardview-v7:27.1.1'implementation 'android.arch.lifecycle:extensions:1.1.1'
طراحي پروژه
كد مرتبط با لايوت activity_main.xml در پايين اورده شده ميباشد:
xmlns:app="https://schemas.android.com/apk/res-auto"xmlns:tools="https://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity">
android:layout_width="match_parent"android:layout_height="wrap_content"android:theme="@style/AppTheme.AppBarOverlay">
android:id="@+id/toolbar"android:layout_width="match_parent"android:layout_height="?attr/actionBarSize"android:background="?attr/colorPrimary"app:popupTheme="@style/AppTheme.PopupOverlay" />
android:layout_width="match_parent"android:layout_height="match_parent"app:layout_behavior="@string/appbar_scrolling_view_behavior">
android:id="@+id/recyclerView"android:layout_width="match_parent"android:layout_height="match_parent" />
android:id="@+id/fab"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="bottom|end"android:layout_margin="@dimen/fab_margin"app:srcCompat="@android:drawable/ic_input_add" />
كد لايوت list_item_row.xml در تحت اورده شده ميباشد:
android:layout_width="match_parent"android:layout_height="wrap_content">
android:layout_width="match_parent"android:layout_height="wrap_content"android:padding="8dp"android:gravity="center_vertical">
android:id="@+id/tvUrl"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentStart="true"android:autoLink="web"android:padding="8dp"android:textColor="@android:color/black"android:textSize="20sp" />
android:id="@+id/tvDate"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_below="@+id/tvUrl" />
android:id="@+id/btnDelete"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentEnd="true"android:layout_centerVertical="true"android:src="@android:drawable/ic_menu_delete" />
كد كلاس DbSettings.java در ذيل گفته شده ميباشد:
package com.journaldev.androidlivedata.db;
import android.provider.BaseColumns;
public class DbSettings {
public static final String DB_NAME = "favourites.db";public static final int DB_VERSION = 1;
public class DBEntry implements BaseColumns {
public static final String TABLE = "fav";public static final String COL_FAV_URL = "url";public static final String COL_FAV_DATE = "date";
}}
برچسب:
طراحي اپليكيشن،
ادامه مطلب
بازدید:
+ نوشته شده:
۲۶ آبان ۱۴۰۱ساعت:
۰۹:۲۴:۲۲ توسط:علي پور موضوع:
درود ميخوام درباره موضوعي در زمينه ي رابطه با سرور در نرمافزار هاي اپليكشن اندرويد حرف كنم. موضوعي كه براي خودم پيش اومد و بحران هايي رو برام ساخت كه بالاخره با امداد از منابع انگليسي قضيه حل شد. طراحي اپليكيشن گفتم شايد راياپارس بعضا از دوستان هم با اين زمينه عكس العمل كنن. شايد بهتره يك منبع فارسي هم براش باشه.
رابطه با سرور http در اندرويد هاي تحت خيس از نسخه 9 مشكلي ساخت نمي كنه. البته در اندرويد هاي نسخه هاي فراتر از 8 مورد امنيت سرور application در سكو اوليه قرار گرفته و اندرويد 9 به بالا سرورهاي http رو حمايت نمي كنه و اندرويد9 اذن ارسال و اخذ داده ها با سرور http رو نمي ده
اين زمينه به دليل امنيت پيوندها آپ با دنياي سوا آپ طراحي برنامه گرديده.
درحال حاضر بريم راز اصل مقاله
براي اينكه آپ ما بتونه با سروري كه http مي باشد رابطه برقرار كنه مي بايست ادرس دامنه سرور رو به ليست سپيد در آپ اضافه كنيم و به آپ بگيم اين دامنه جزو دامنه هاي امن است تا اندرويد اذن رابطه باهاشو بده.
آغاز مي بايست يك پوشه xml در دايركتوري res/xml/network_security_config.xml ساختوساز نمائيد و كد تحت رو داخلش بنويسيد:
DomainName.com
اعتنا:
در بخش DomainName.com نشاني سرورتون رو جايگزين فرماييد
بعد از آن در فولدر منيفست آپ تون در تگ application كد تحت رو اضافه فرماييد. يعني اينجوري
android:networkSecurityConfig="@xml/network_security_config"android:usesCleartextTraffic="true"نرم افزار رو با sync فرماييد و براي ديباگ از اندرويد 9 به بالا به كار گيري و انجام نمائيد
برنده باشيد
برچسب:
،
ادامه مطلب
بازدید:
+ نوشته شده:
۲۵ آبان ۱۴۰۱ساعت:
۱۰:۱۳:۳۷ توسط:علي پور موضوع:
اندرويد خط مش هاي بسيار زيادي براي استعمال طراحي اپليكيشن از فايل هاي صوتي و تصويري ايجاد كرده ميباشد. يكي از اين خط مش ها به كارگيري از كلاس مديا پلير (MediaPlayer) ميباشد.
اندرويد كلاس مديا پلير (MediaPlayer) را آماده راياپارس كرده تا به سرويس هاي داخلي اين كلاس همانند تلاوت فايل هاي صوتي و تصويري و غيره دسترسي داشته باشد.به خواسته به كار گيري از مديا پلير بايد روال استاتيك ()create را دراين كلاس به كارگيري كنيم .در اين سياق مثال اي از كلاس مديا پلير را return مي نمايد. application ؛ جزييات در زير آمده ميباشد :
MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.song);دومين پارامتر اسم موسيقي ميباشد كه شما قصد ايفا كردن آن را داريد .شما بايد فولدر جديدي با اسم raw ذيل پروژه خويش بسازيد و داده ها فايل موزيك را در آن قرار دهيد.
هنگامي كه آبجكت مديا پلير را بسازيم ميتوانيم برخي روال ها را براي آغاز كردن (start ) و تك تك كردن (stop) موزيك ايجاد كنيد. اين مشي ها در زير ليست گرديده اند :
mediaPlayer.start();mediaPlayer.pause();با به كار گيري از اسلوب ()start آوا از آغاز استارت به انجام شدن مي كند. در صورتيكه اين سياق بعد از فراخواني روال ()pause مجدد فراخواني خواهد شد ، آوا از به عبارتي جايي كه متوقف گرديده استارت به پخش شدن ميكند خير از اولِ نوا ! درصورتيكه بخواهيد آهنگ از آغاز استارت به پخش نمايد روال ()reset را به شغل بگيريد . سينتكس آن به طور ذيل ميباشد :
mediaPlayer.reset();خلال سياق هاي start و pause روال هاي ديگري در اين كلاس براي كارايي فراتر فايل هاي صوتي و تصويري ارئه گرديده اند. اين سياق ها در زير ليست گرديده است :
()isPlaying : اين روال درستي يا نادرستي اجراي نوا را معلوم مي كند.(seekTo(positon : در اين روال نوا به صورت integer دريافت مي خواهد شد و در لحظه اي خاص از نوا ، جابجايي داده مي گردد.()getDuration : اين مشي كل فرصت آهنگ را در مقياس يك هزارم ثانيه return مي نمايد .()reset : در اين سياق مديا پلير مجدد بارگذاري ميشود .()release : اين مشي هر منبعي را كه به مديا پلير پيوست داده مي خواهد شد را آزاد مي كند.(setVolume(float leftVolume, float rightVolume دراين روال مديا پلير به بالا و پايين بردن صدا كمك مي كند.(setDataSource(FileDescriptor fd : اين مشي منبع اطلاعاتي (data source) فايل هاي صوتي و تصويري را مشخص و معلوم مي نمايد.(selectTrack(int index : اين روال يك integer ميگيرد و يكي از track هاي آوا را از ليست نوا ها گزينش مي كند.
برچسب:
طراحي اپليكيشن،
ادامه مطلب
بازدید:
+ نوشته شده:
۱۹ آبان ۱۴۰۱ساعت:
۰۹:۱۶:۲۲ توسط:علي پور موضوع:
ورژن 19 جاوا دارنده خصوصيت هاي بسيار متعددي ميباشد، دراين مقاله قصد داريم مقداري بيشتر درباره خصوصيت هاي نو ورژن 19 جاوا سخن كنيم و اطلاعاتي به شما ارائه دهيم.
ورژن 19 كيت گسترش گويش نرمافزار نويسي طراحي اپليكيشن جاوا در سپتامبر اين سال عرضه ميشود كه اينك دارنده 5 خصوصيت مهم و كليدي ميباشد. در ورژن 19 جاوا 5 خصوصيت توصيه شدهاست كه حائز اهميت بسيار بيشتري نسبت به بقيه مشخصات مي باشند. سه آيتم از خصوصيت هايي كه جديدا به ورژن 19 جاوا اضافه گرديده اند راياپارس مشمول يك تابع فرنگي، يك API مموري، threadهاي مجازي و امكان تطبيق سرمشق (كه دربرگيرنده آحاد خصوصيت هاي پيش اكران هاي قبل ميباشد) ميباشد. application دو خصوصيت مذكور پيشين نيز مشتمل بر يك API برداري( كه در پيش اكران چهارم معرفي شد) و يك پورت JDK كه براي اتصال به معماري Linux/RISC-V گزينه به كارگيري قرار ميگيرد ميباشند.
ورژن 19 جاوا به صورت بالقوه ميتواند ميزباني تعداد متعددي از خصوصيت هاي گوناگون را بر عهده بگيرد كهاين مشخصات ميتوانند مشتمل بر جنريك هاي جهاني تا مقادير شي ءها شوند. نكته اي كه بايستي به آن اعتنا داشته باشيد اين ميباشد كه ورژن تازه اين گويش نرم افزار نويسي درپي ورژن 18 جاوا ميايد كه در ماه مارس 2022 عرضه شد.
امروزه توسعه و گسترش دهندگان OpenJDK يك ورژن قانوني و فرصت بندي گرديده از جاوا 19 را منتشر كرده اند كه در تاريخ 20 سپتامبر تحت عنوان يك ورژن توليدي عرضه ميگردد. به دنبال ميتوانيد بعضي از جالب ترين خصوصيت هاي ورژن 19 جاوا را ملاحظه كنيد.
برچسب:
طراحي اپليكيشن،
ادامه مطلب
بازدید:
+ نوشته شده:
۱۱ آبان ۱۴۰۱ساعت:
۱۰:۵۵:۵۲ توسط:علي پور موضوع:
امروزه هر اپ نويسي ميداند كه در شرايطيكه ميخواد پروژه اش در بعدي به بن بست نخورد و بتواند به راحتي آن را پيشرفت دهد بايستي كدش منظم و قابل تلاوت باشد و در صورتيكه هم بخواهد در دسته شغل نمايد طراحي اپليكيشن تمامي جوارح مجموعه مي بايست بر پايه ي يك ضابطه واحد كد نويسي نمايند . البته در ميان اين همگي معماري و ضابطه و شيوه نامه هاي متفاوت كدام را مي بايست تعيين كرد كه هم درعين آساني ، راياپارس منظم و حاذق باشد ؟ جواب اين پرسش معماري پاك ميباشد
درود محمد رجب زاده هستم application و دراين پست ميخوام براتون معماري پاك مايكروسافت رسيدگي كنم
دلايل و بايستگي استعمال از معماري بر هيچ يك از ما پوشيده وجود ندارد ولي كدام معماري قضيه اين ميباشد ؟؟؟ 🤔🤔🤔🤔
معماري منزه چيست ؟معماري پاك يك معماري بي آلايش البته كار كشته ميباشد كه بوسيله مايكروسافت ارائه گرديده و مايكروسافت در پروژه هاي خويش نيز از آن به كار گيري ميكند .
معماري منزه چند قاعده و ضابطه معمولي دارااست كه سبب ساز ميگردد اين معماري در عين آساني توانا بوده و بتوان از آن در پروژه هاي بسيار خرد تا بسيار بلندمرتبه فارغ از دردسر بهره مند شد .
معماري پاك مطلوب چه پروژه هايي ميباشداز معماري پاك ميتوان در هر پروژه با هر اندازه اي به كار گرفت ، از يك بلاگ بي آلايش گرفته تا يك مغازه تبارك يا اين كه حتي اپليكيشن هاي تلفن همراه و نرمافزار هاي دسكتاپ تمامي ميتوانند با اين معماري نوشته شوند .
معماري پاك چه نرم افزار نويسي مي خورد در صورتي شما نرم افزار نويسي مبتدي و تازه كار يا اين كه حرفهاي ميباشيد ، در شرايطي كه جديد چندماه ميباشد اپليكيشن نويس گرديده ايد يا اين كه چندسال ميباشد نرم افزار نويسي ميكنيد اين معماري بدردتان ميخورد ، به اين دليلكه شغل و مراحل اپ نويسي را براي شما بسيار سهل وآسان كرده و پروژه هاي شما با سرعت و چگونگي بسيار بيشتري نسبت به پيشين توسعه و گسترش داده گردد .
از كجا بايستي يادش بگيرم ولي مي رسيم به قسمت ديدني نوشته ي علمي ، از كجا ميشه اين معماري قوي رو فراگرفت ؟
شما ميتونيد به آساني با كاوش عبارت "Clean Architecture Docs" در گوگل از روش مستندات مايكروسافت آن را فرا بگيريد
چنانچه نمي خواهيد خويش را مشغول تلاوت مستندات گويش انگليسي فرماييد اينجانب به شما عصر معماري منزه تاپلرن رو توصيه ميكنم
برچسب:
طراحي اپليكيشن،
ادامه مطلب
بازدید:
+ نوشته شده:
۱۰ آبان ۱۴۰۱ساعت:
۱۱:۱۳:۵۲ توسط:علي پور موضوع:
توان متعددي در پيشرفت اندرويد داراست طراحي اپليكيشن و در پروژههاي backend مثل Spring 5 نيز استعمال ميگردد.
سوئيچ كردن از جاوا به كاتلين راحت ميباشد؛ راياپارس صرفا افزونه كاتلين را نصب نمائيد، آن را به فولدرهاي تشكيل داد Gradle (Gradle build) اضافه كرده و "Convert" را كليك فرماييد.
مشتمل بر توابع extension هوشمندي ميباشد كه به گسترشدهندگان امداد مينمايد APIهاي تميزي بسازند.
سيستم نوع آن null ميباشد؛ application ايراد null پذيري (nullability) يك ايراد زجرآور در جاوا ميباشد، و ازآنجاكه اكثر اوقات اندرويد از null براي علامت دادن عدم مقدار به كارگيري مينمايد، كاتلين اين نقص را با قرار دادن null به طور بي واسطه در سيستم نوع آن حل مينمايد.
اين نحوه مختصرتري نسبت به جاوا ميباشد، كه در معناي مجال كمتر براي غلط مي باشد.
سازش با جاوا؛ شما مي توانيد ماژولهاي تازه را در كاتلين بنويسيد و مطمئن باشيد كه آنان در كنار كد جاواي مو جود فعاليت مينمايند. كاتلين با آحاد قابوركها و كتابخانههاي جاوا، JVM عمل مينمايد و قادر است با سيستمهاي تشكيل داد Gradle يا اين كه Maven مخلوط خواهد شد.
توسعه و گسترشدهندگان مي توانند از كتابخانه Anko و بيش تر از 2000 پروژه كاتلين در گيتهاب منفعتمند شوند.
تاييد كاتلين هيچ هزينهاي ندارد (به جز يادگيري و يادگرفتن).
معايب كاتلين
زماني تك تك اعضاي گروه به كاتلين سوئيچ مينمايند، به جهت سينتكس مختصر اين گويش، منحني يادگيري شيبدار سريعي داراست (كهاين هم موهبت ميباشد هم معضل).
سرعت كامپايل شدن نسبت به جاوا كندتر ميباشد.
جامعه گسترشدهندگان آن خرد ميباشد؛ كه در معناي منابع آموزشي محصور و ايراد در جستن جواب سوال هاي ميباشد. نگاهي به Stackoverflow بيندازيد، صرفا حدود 8000 پرسش تگ گرديده با كاتلين در قبال 1.37 ميليون پرسش در خصوص جاوا وجود داراست.
توسعه و گسترشدهندگان با سابقه كاتلين هنوز كيميا ميباشند، به اين ترتيب كشف كردن يك معلم عالي براي دستهتان سخت ميباشد.
auto-complete اندرويد استوديو و روندهاي كامپايلر براي اعمال در مقايسه با پروژههاي خالص جاوا آرامخيس ميباشد.
مفاد به كار گيري
در اينجا پروژههاي شگفتانگيزي كه با كاتلين مندرجاند را ذكر مي كنيم:
نرم افزار اندرويد Basecamp 3
نرمافزار KotlinConf Schedule
سودگيري
در حالي كه كاتلين مزاياي بخش اعظمي را ارائه مي دهد كه جاوا آنهارا ندارد، هنوز چند كمبودها دارااست. زماني به اعضاي گروه خويش اذن ميدهيد كه كاتلين را تجربيات نمايند، به خيال و خاطر داشته باشيد كه جابجايي به يك لهجه تازه براي توسعه و گسترشدهندگاني كه تا قبل از اين با ابزارها و استراتژيهاي ديگري شغل كردهاند، مدام داراي هيجان وجود ندارد.
شما مي بايست دست كم يك ماه به مجموعه خويش مجال دهيد تا با كاتلين آشنا شوند، و اين ريسك وجود داراست كه ممكن ميباشد بعضا اعضاي گروه وقت گذاشتن براي فعال سازي پروژه كاتلين را نپذيرند. همينطور مي بايست دقت داشته باشيد كه جاوا هيچ جا نميرود و براي توسعه و گسترش نرمافزار اندرويد ضروري خواهد ماند.
برچسب:
طراحي اپليكيشن،
ادامه مطلب
بازدید:
+ نوشته شده:
۷ آبان ۱۴۰۱ساعت:
۱۰:۳۸:۵۷ توسط:علي پور موضوع:
شعور دستور كارهاي گسترش
گوگل شركتي ميباشد كه پشت سيستم طراحي اپليكيشن استدلال اندرويد قرار گرفته ميباشد و آنان دارنده گروه جامعي از استانداردها ميباشند كه درصورتيكه مي خواهيد نرم افزارهاي اندرويد را در Play store منتشر نماييد، بايستي آنهارا رعايت فرمائيد.
اين دستور كارها يوزرها را توانمند راياپارس ميسازد تا تختگاز فهم و شعور نمايند كه نرم افزار شما چه گونه عمل مينمايد، اپليكيشنها را با يكديگر سازگار ميسازد، application و اعتقاد و باور نتيجه ها مينمايد كه يوزرها به احتمال خيلي زياد مجدد از اپ شما به كار گيري نمايند. پس آنهارا انجام فرمائيد.
شعور نيازهاي يوزرهاتان
اكثر اوقات توسعه و گسترشدهندگان در جلوي برگه اكران قرار مي گيرند، و نرمافزارهايي كه با نيازهاي محصور آن ها مواجه ميباشد را گسترش داده و پيشرفت مي دهند. با اين اكنون برندهترين نرم افزارها آنهايي مي باشند كه با پيش بيني ذهنيت مخاطب ساخته مي شوند. مقصود اپ مي بايست پاسخگويي به نيازهاي يوزرها باشد.
وقتي كه اپ در حالا اجراست، هر سيرتكامل خلل مطرح گرديده را عدهآوري كرده و به رفع آن بپردازيد. در حالتي كه يوزرها حس نمايند كه شما به خير در هم اكنون رئيس ايرادات ميباشيد، آنان به صورت مداوم از نرم افزار شما به كارگيري مينمايند.
اكثر زمان ها، توسعه و گسترشدهندگان مهارتهاي كدنويسي قويي داراهستند، ولي رابطهاي پياده سازيگرديده را به طور ضعيف نشر ميدهند. به خيال داشته باشيد كه يوزرها به كدهايي كه شما نوشتهايد عشقاي ندارند، آنان تجربيات front-end را ميخواهند. در حالتي كه شما طراح رابط خير و خوبي نيستيد، پس با هر كه اين فعاليت را به خير و خوبي بلد ميباشد همياري نماييد. درصورتيكه كسي را براي گروه خويش پيدا نميكنيد، اصول پياده سازي را بياموزيد و برخي بستههاي بدونپول UI را دانلود فرمائيد.
از اندرويد به كارگيري فرماييد و آپ تو ديت بمانيد
تعجب آور به لحاظ ميرسد، البته اكثري از بسطدهندگان اندرويد يوزرها اندرويد نيستند. نرم افزارهاي اندرويد غالبا معموليخيس از اپليكيشنهاي iOS بارگيري مي گردند.
با غرق كردن خودتان در اندرويد بيشتر از گوش دادن به يوزرها اپهاي خويش تجربيات استحصال مي كنيد. در دولت ها اندرويد كمپاني نمائيد تا با اشخاص همدرنگ رابطه برقرار فرمائيد. در انجمنهايي مثل Google+ كه مورد كاري آنان با شما يكي از ميباشد شغل نمائيد. بخش اعظمي از آنان پرجنب و جوش و الهامقسمت مي باشند.
به عبارتيطور كه گفتيم اندرويد كالا گوگل ميباشد. بعضي وقتها گوگل دوست دارااست بهروزرساني را براي سيستم دليل خويش منتشر نمايد. براي مثال با تكثير Android 7.0 Nougat، قابليت گسترش اپليكيشنهايي وجود داراست كه مي توانند تعدادي شغل را جاري ساختن دهند.
يكسري وظيفه بودن به اپليكيشنها اذن ميدهد تا كاغذ اكران دستگاهها را از هم غيروابسته كرده و يك سري اپ را با هم جاري ساختن نمايند. اين كارايي فوقالعاده موثر ميباشد و نخسين بار در روي داد Google اعلام شد. با ادامه اين حوادث، تكنيكهاي جديدي را خواهيد يافت كه نرمافزارهاي شمارا بهبود ميبخشد. Google I/O گزينه عشق و علاقه ماست، كه كنفرانسي ميباشد كه عالي ميباشد آن را از دست ندهيد. اين گزينه به ما ياري مينمايد تا بهروزرسانيهاي نرم افزار خويش را محافظت كرده و بين اولي افرادي باشيد كه استانداردهاي نو را پيادهسازي مينمايند.
مدام براي دستگاههاي چندگانه بسط مييابد
اولين دستگاه اندرويد ما يك برگه اكران 3 اينچي داشت و نرم افزارهايي كه گسترش داديم بسيار خوب بودند... تا وقتي كه همت كرديم آن ها را روي يك كاغذ اكران بلندمرتبهخيس نماد دهيم؛ آنها مفتضح به لحاظ ميرسيدند.
اندرويد به يوزرها آزادي كار ميدهد تا اشكال دستگاهها را جهت اعمال، با تعداد متعددي اندازههاي گوناگون براي اكران گزينش نمايند. تحت عنوان بسطدهنده، بايستي اعتقاد و باور نتايج فرمائيد كه اپليكيشن شما بر روي تعداد متعددي از دستگاههاي ممكن (درصورتيكه بر روي تمامي آن ها خير) به خير و خوبي پياده سازي شدهاست.
با اين وجود، ناممكن ميباشد كهاين دستور به طور فيزيكي بر روي هر دستگاه اندرويدي آزمايش خواهد شد، و حتي ثروتمندترين كمپانيهاي گسترش تنها ميتوانند يك كتابخانه دستگاه محصور را نگه داراهستند. براي غلبه بر اين ايراد، ما از پيكسلهاي density-independent در layoutها استعمال مي كنيم.
مطمئن گرديد كه اپليكيشن شما بر روي هر دستگاهي سريع ميباشد. ما از اجراي هر نرمافزاراي كه نمايد جاري ساختن ميگردد دست ميكشيم، و به طبع ما صرفا نيستيم و بيشتر عموم نسبت به نرمافزارهاي نمايد همين شم را دارا هستند. پس مطمئن گرديد كه نرم افزاريتان را باصرفه كردهايد. ميتوانيد سرعت نرمافزار خويش را با جلوگيري از به كارگيري از متغيرها و آبجكتهاي غير ضروري ارتقاء دهيد.
نرم افزار خويش را آزمايش فرمائيد. آن گاه آن را مجدد آزمايش فرماييد. و مجدد آزمايش نمائيد.
تحت عنوان يك توسعه و گسترشدهنده حرفه اي، شما نميتوانيد اپاي را فارغ از آزمايش كردن آن تكثير دهيد، البته اين فعاليت وسوسهانگيز ميباشد تا اين فرآيند را ناديده بگيريد. اين قضيه بسيار التفات داراست و ممكن ميباشد ظاهرا مشكلي نباشد اما بعداز نصب و راهاندازي باگها خودشان را نشانه ميدهند، پس مسلما كارايي نماييد پيش از آنكه اپليكيشن خويش را بر روي دستگاه حقيقي و واقعي جاري ساختن فرماييد، بر روي مشابهساز اندرويد (Android simulator) آن را آزمايش نمائيد.
بعد از تايپ كردن كد، شما مي دانيد كه نرمافزار چه طور عمل مينمايد،
برچسب:
طراحي اپليكيشن،
ادامه مطلب
بازدید:
+ نوشته شده:
۵ آبان ۱۴۰۱ساعت:
۰۹:۳۰:۵۶ توسط:علي پور موضوع: