loading...

مقالات طراحی اپ موبایل

بازدید : 14
شنبه 17 خرداد 1404 زمان : 17:02


مقداردهی اجزا
در قدم بعدی تشکیل داد منوی کشویی در اندروید قصد داریم دفعه‌های DrawerLayout و ActionBarDrawerToggle را مقداردهی کنیم. این مقداردهی باطن مشی طراحی اپلیکیشن در مشهد ()onCreate در فولدر MainActivity.kt جاری ساختن مییابد.


کلیک نمائید
1import android.content.res.Configuration
2import android.Operating System.Bundle
3import android.support.v4.widget.DrawerLayout
4import android.support.v7.app.ActionBarDrawerToggle
5import android.support.v7.app.AppCompatActivity
6import android.support.v7.widget.Toolbar
7import android.view.MenuItem
8
9class MainActivity : AppCompatActivity() {
10
11 private lateinit var drawer: DrawerLayout
12 private lateinit var toggle: ActionBarDrawerToggle
13
14 override fun onCreate(savedInstanceState: Bundle?) {
15 super.onCreate(savedInstanceState)
16 setContentView(R.layout.activity_main)
17
18 val toolbar: Toolbar = findViewById(R.id.toolbar_main)
19 setSupportActionBar(toolbar)
20
21 drawer = findViewById(R.id.drawer_layout)
22
23 toggle = ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close)
24 drawer.addDrawerListener(toggle)
25 supportActionBar?.setDisplayHomeAsUpEnabled(true)
26 supportActionBar?.setHomeButtonEnabled(true)
27 }
28
29 // ...
30}
مشاهده بی نقص کدها
سیاق ActionBarDrawerToggle آیکون نرم افزار را تهیه و تنظیم می‌نماید که در سمت چپ اکشن توشه یا این که نوار ابزار قراردارد و به خواسته گشوده و بسته کردن منوی کشویی استعمال می‌گردد. برای این که بتوانیم دفعه‌ای از تولید کنیم بایستی پارامترهای ذیل را عرضه کنیم:

یک کانتکست والد – برای مثال در یک اکتیویتی می بایست از this استعمال کنیم، در حالی که در یک فرگمان بایستی ()getActivity را فراخوانی کنیم.
یک نوبت از ویجت DrawerLayout که به ActionBar اکتیویتی لینک و پیوند مییابد.
آیکون که در روی آیکون نرم افزار قرار می گیرد تا علامت‌دهنده دوحالتی بودن آن باشد.
منبع حرفه‌ها برای عملیات گشوده و بسته کردن جهت کاربردپذیری
ما مشی ()addDrawerListener را روی یک DrawerLayout احضارکرده‌ایم و از این رو ActionBarDrawerToggle به یک DrawerLayout وصل گردیده است. اعتنا فرمایید که ما آیکون نرم افزار را از روش ()setHomeButtonEnabled نیز فعال کرده‌ایم و آن را برای ناوبری به سمت بالا از روش با استعمال از ()setDisplayHomeAsUpEnable فعال نموده‌ایم.

بعد از آن متدهای کالبک اکتیویتی ()onPostCreate() onConfigurationChanged و ()onOptionsItemSelected را در حین گشوده و مسدود شدن ارسال می کنیم:

1class MainActivity : AppCompatActivity() {
2
3 // ...
4
5 override fun onPostCreate(savedInstanceState: Bundle?) {
6 super.onPostCreate(savedInstanceState)
7 toggle.syncState()
8 }
9
10 override fun onConfigurationChanged(newConfig: Configuration?) {
11 super.onConfigurationChanged(newConfig)
12 toggle.onConfigurationChanged(newConfig)
13 }
14
15 override fun onOptionsItemSelected(item: MenuItem?): Boolean {
16 if (toggle.onOptionsItemSelected(item)) {
17 return true
18 }
19 return super.onOptionsItemSelected(item)
20 }
21}
مشاهده بدون نقص کدها
در کد فوق ()syncState شغل های تحت را جاری ساختن میدهد:

شرایط نشانگر منوی کشویی که با DrawerLayout لینک یافته را همگام‌سازی می‌نماید. این اسلوب می بایست از روال onPostCreate اکتیویتی احضار گردد تا موقعیت دفعه DrawerLayout که بازیابی گردیده، همگام‌سازی گردد و هر وهله دیگر که وضعیت طوری تغییر تحول یافت که ActionBarDrawerToggle آگاه نشد نیز می بایست از آن استفاده نمود.

آزمایش کردن نرم افزار
در‌این مرحله میتوانیم نرم افزار خویش را جاری ساختن کنیم:

چنان که می بینید، با جاری ساختن کردن نرم افزار، آیکون منوی کشویی همبرگری در اکشن توشه ظواهر می گردد. در حالتی که روی این آیکون بزنید سلف سرویس گردد. همچنان با کیک کردن روی مورد‌های منو هیچ اتفاقی نمی‌افتد. این زمینه را در نصیب آتی حل میکنیم.

رئیس رویدادهای کلیک
اینک به نظارت روش مدیر رویدادهای کلیک مورد‌ها در تشکیل داد منوی کشویی در اندروید می پردازیم. اعتنا نمائید که کلیک کردن روی هر گزینه شمارا به یک اکتیویتی یا این که فرگمان تازه میبرد و به همین عامل میباشد که آن را منوی ناوبری نیز میخوانند.

آغاز اکتیویتی شما می بایست NavigationView.OnNavigationItemSelectedListener را پیاده‌سازی نماید:

1class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener {
2 // ...
3}

با پیاده‌سازی این کنتراکت یا این که اینترفیس، در حال حاضر می بایست صرفا مشی ()onNavigationItemSelected را اُورراید کنیم:

1class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener {
2
3 // ...
4
5 override fun onNavigationItemSelected(item: MenuItem): Boolean {
6
7 when (item.itemId) {
8 R.id.nav_item_one -> Toast.makeText(this, "Clicked item one", Toast.LENGTH_SHORT).show()
9 R.id.nav_item_two -> Toast.makeText(this, "Clicked item two", Toast.LENGTH_SHORT).show()
10 R.id.nav_item_three -> Toast.makeText(this, "Clicked item three", Toast.LENGTH_SHORT).show()
11 R.id.nav_item_four -> Toast.makeText(this, "Clicked item four", Toast.LENGTH_SHORT).show()
12 }
13 return true
14 }
15}
مشاهده بدون نقص کدها
این مشی هنگامی فراخوانی میگردد که یک مورد در منوی کشویی تعیین گردیده باشد. ما از عبارت when برای اجرای اکشن‌های متفاوت روی گزینه منو در طی کلیک شدن به کار گیری می کنیم. شناسه‌های گزینه منو تحت عنوان محتوای عبارت when استعمال میگردند.

درپی بایستی NavigationView را مقداردهی کرده و مستمع را باطن سیاق ()onCreate اکتیویتی تهیه کنیم:

1class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelectedListener {
2 // ...
3 override fun onCreate(savedInstanceState: Bundle?) {
4 // ...
5 val navigationView: NavigationView = findViewById(R.id.nav_view)
6 navigationView.setNavigationItemSelectedListener(this)
7 // ...
8 }
9// ...

اکنون نرم افزار را مجدد انجام میکنیم:

وقتی که روی بعضی مورد‌ها کلیک می کنیم، یک پیام توست اکران مییابد که دقیقاً مبتنی بر انتظار ما میباشد، ولی به خیال بسپارید که کلیک کردن یک مورد می بایست از سوی مخاطب بایستی منتهی به تشکیل داد یک اکتیویتی یا این که فرگمان تازه خواهد شد.

احتمالاً متوجه گردیده‌اید که زمانی روی یک مورد کلیک می کنید، منوی کشویی همچنان گشوده میماند. خوب میباشد این منو در طی کلیک شدن یک مورد به صورت خود کار بسته گردد. نحوه اجرا این شغل اینگونه میباشد:

1override fun onNavigationItemSelected(item: MenuItem): Boolean {
2
3 when (item.itemId) {
4 R.id.nav_item_one -> Toast.makeText(this, "Clicked item one", Toast.LENGTH_SHORT).show()
5 R.id.nav_item_two -> Toast.makeText(this, "Clicked item two", Toast.LENGTH_SHORT).show()
6 R.id.nav_item_three -> Toast.makeText(this, "Clicked item three", Toast.LENGTH_SHORT).show()
7 R.id.nav_item_four -> Toast.makeText(this, "Clicked item four", Toast.LENGTH_SHORT).show()
8 }
9 drawer.closeDrawer(GravityCompat.START)
10 return true
11}

برای بستن منو بعد از کلیک شدن مورد کافی میباشد اسلوب ()closeDrawer را روی یک نوبت از DrawerLayout فرا بخوانید و GravityCompat.START را به سیاق ارسال فرمائید. اکنون در شرایطی‌که نرم افزار را مجدداً ایفا نمایید فیض را می بینید.

رئیس دکمه رجوع
وقتی که منوی کشویی در اندروید گشوده می‌گردد از حیث تجارب کاربری خوب میباشد که اکتیویتی مهم در طول فشرده شدن دکمه برگشت بسته نشود. نرم افزار‌های دوستداشتنی مانند اینباکس گوگل اینگونه فعالیت می‌نمایند.


کلیک فرمائید
بدین ترتیب وقتی که منوی کشویی گشوده میباشد در صورتی دکمه برگشت تلفن همراه زده خواهد شد فقط منوی کشویی بسته میشود و اکتیویتی مهم گشوده میماند. آنگاه در حالتی‌که مخاطب مجدد دکمه رجوع و برگشت را بزنید این توشه اکتیویتی اساسی بایستی بسته گردد. نحوه ایفا این شغل اینگونه میباشد:

1override fun onBackPressed() {
2 if (drawer.isDrawerOpen(GravityCompat.START)) {
3 drawer.closeDrawer(GravityCompat.START)
4 } else {
5 super.onBackPressed()
6 }
7}

پروژه را مجدد ایفا کرده و این قضیه را آزمایش نمائید.

به کارگیری از پوسته‌های اندروید استودیو
اینک که با API-های منوی کشویی آشنا شدید، یک روش میانبر نشانه می دهیم که نوبت سپس منوی کشویی را سریع‌خیس بساید. بدین خواسته می توانید تنهاً از یک پوسته به مکان تشکیل داد اکتیویتی منوی کشویی از صفر به کارگیری نماید.

اندروید استودیو پوسته‌های مختلفی ارائه نموده است که از شایسته ترین منش‌های پیاده سازی و گسترش منتفع می‌باشند. این فالی‌های کد جان دار به ایجاد کرد سریع‌خیس پروژه‌ها یاری می‌نمایند. یکی این پوسته‌ها که می توانید به کارگیری فرمائید ایجاد کرد اکتیویتی منوی کشویی میباشد. به‌این مراد در اندروید استودیو یک پروژه نو ساخت و ساز فرمایید.

اسم نرم افزار را وارد کرده و روی ‌Next کلیک نمایید.

مقادیر پیش‌فرض جان دار در دیالوگ Target Android Devices را دست‌کاری نکنید و مجدد روی Next کلیک فرمائید.

در دیالوگ Add an Activity to Mobile به سمت ذیل اسکرول کرده و آیتم Drawer Activity. را گزینش نمائید. مجدد Next را بزنید.

در دیالوگ انتها میتوانید اسم اکتیویتی، اسم لی‌آوت یا این که تیتر آن را در شکل میل عوض فرمایید. در غایت روی دکمه Finish کلیک فرمایید تا همگی تنظیمات‌ها تأیید شوند. فعلا اندروید استودیو به شما امداد می‌نماید تا یک اکتیویتی منوی کشویی ساخت و ساز فرمایید.

اما ما پیشنهاد می کنیم که کد این اکتیویتی را تماما تحقیق فرمایید. شما میتوانید این پوسته را به یک پروژه مو جود اندروید استودیو نیز اضافه کتید. کافی میباشد به منوی File > New > Activity > Navigation Drawer Activity بروید.

پوسته‌هایی که یاروهمدم اندروید استودیو میایند، برای لی‌آوت‌های بی آلایش و ایجاد کرد نرم افزار‌های ابتدایی مطلوب می‌باشند، ولی در حالتی‌که میخواهید نرم افزار خویش را بیشتر بسط دهید می بایست شغل های بیشتری اجرا دهید. این پوسته‌ها برای توسعه و گسترش‌دهندگان مجرب مزیت بزرگی محسوب میگردند و در طی آن ها صرفه‌جویی می‌نماید. براین اساس بسط‌دهندگان میتوانند زحمت تشکیل داد یک نرم افزار از صفر را کاهش داده و روی جوانبی از نرم افزار تمرکز نمایند که مخصوص میباشند و امکان سفارشی‌سازی را دارا‌هستند.

کلام آخری
درین راهنما با طریق ایجاد کرد منوی کشویی در اندروید با استعمال از API-های DrawerLayout و NavigationView از صفر آشنا شدید. همینطور شیوه تشکیل داد سریع و آسا این منوها را با به کارگیری از پوسته‌های اندروید استودیو آموختیم.

بازدید : 19
سه شنبه 13 خرداد 1404 زمان : 11:08


APK Debugger پیشرفته
APK Debugger نو در اندروید استودیو ۳ به بالا، امکان‌های طراحی اپلیکیشن در مشهد بهبود یافتهٔ
دیباگینگ را به حداکثر رسانده میباشد .
این ابزار، به شما اذنٔ دیباگینگ فولدر‌های APK را اگر که قابل گونه های‌زدایی باشند
حتی در حالتی که که با اندروید استادیو کدنویسی نشده باشند را می دهد؛
برای دسترسی بدین ابزار میتوانید، از روش منوی File موردٔ Profile or Debug APK را تعیین نمایید.

افزونه نو اندروید برای Gradle
Android Plugin for Gradle 3.0.0، یک افزونه تازه و پیشرفته
برای Gradle هست که‌این توسعه و گسترش ها عبارتند از:
تنظیمات سریع‌خیس، ران کردن عالی دیپندنسی‌ها و ایجاد کرد بیلدهای سریع‌خیس نرم افزار‌ها میباشد.

Emulator
Emulator که با اندروید استودیو ۳ میاید، با بسط سرعت و سعی یاور میباشد .
این افزایش عملکرد مشتمل بر حفاظت OpenGL ES 3.0 برای API Level 2.4 و فراتر می باشد.
خلال این، این خصوصیت مشتمل بر رویه سهل‌تری برای تنظیمٔ گزارش از دیباگینگ اپٔ در درحال حاضر ایفا
و همینطور رویکرد سریع‌تری برای ارسال گزارش‌های مرتبط با Emulator

هست.

آنالیزور APK
در اندروید استودیو ۳، آیتم‌های فیلترینگ بیشتری مانند Tree View تازه
و همینطور قابلیت آزمایش فولدر‌های APK به آنالیزور APK ارائه می‌گردد.
برای استعمال از آنالیزور فولدر‌های APK ، میتوانید به منوی Build رفته و آیتم
Analyze APK را از فی مابین مورد‌ها تعیین و آن‌گاه پوشه APK خویش را اضافه فرمایید.

یادگرفتن ایجاد کرد پروژه در اندروید استادیو

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

project : اکران پروژه ها و باطن ریزی آنها
Customize : سفارشی سازی رنگ های بک گراند ، فونت ها و استایل بندی ها
Plugins : اضافه کردن ، افزونه های موردنیاز
در اواسط شیت نیز مشتمل بر آیتم هایی هستیم که برای مفتوح کردن پروژه و ایمپورت کردن
آن است .

مرحله 2

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

Phone and Tablet : تلفن های یار و تبلت
Wear سیستم عامل : ابزارهای پوشیدنی مانند ساعت های هوشمند
Android TV : برای تلویزیون های هوشمند
Automotive : برای خودروهایی که از سیستم برهان اندروید به کار گیری می نمایند

اکتیویتی ها درین نرم افزار به معنای پوسته های از پیش مهیا و پیاده سازی گردیده می‌باشند
که ما درین قسمت نیاز به پوسته مهیا نداشته و بر روی مورد ی Empty Activity
کلیک می‌کنیم .

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

مرحله 3

مرحله ی آینده دربرگیرنده معین کردن ویژگی ها نامی و بقیه جزئیات مرتبط با نرم افزار
میباشد که‌این ویژگی ها به گستردن ذیل میباشد :

Name : از این بخش اسم نرم افزار را تعیین کرده که‌این نصیب هم پا با آیکون آن بر روی
موبایل مخاطب نشان داده می شود .
Package Name : پکیج نیم ها ، اسم های منحصر ای می باشند که برای هر نرم افزار به طور
جداازهم به کار گیری می‌شود و تماما بایستی منحصربه‌فرد باشد .
کل مارکت ها مانند گوگل پلی و بازار از روش همین اسم پکیج ها آپ تو دیت های اپلیکیشن های شمارا تشخیص
می‌دهند ؛ چون همانطورکه گفته شد شبیه با اسم نرم‌افزار شما ممکن میباشد ده ها برنامه دیگر باشد البته شبیه با اسم
پکیج فقط و فقط یک نرم افزار مو جود میباشد .
Package name از دو نصیب تشکیل می‌گردد. نصیب نخستین یک اسم دامنه شما است و
نصیب دوم اسم اساسی اپلیکیشن میباشد ؛ با این اسم گذاری هیچ تشابهی پیش نخواهد آمد زیراکه
ما دو دامین با یک اسم و یک پسوند ندارید .
Language : از این نصیب شما میتوانید لهجه نرم افزار نویسی خویش را تعیین فرمائید که در هم اکنون
حاضر لهجه نرم افزار نویسی کاتلین به طور پیشفرض اندروید استادیو میباشد .
Minimum SDK: با به کارگیری از این قسمت شما معین میکنید که نرم افزار شما قرار میباشد
دستکم تا چه ورژن ای از اندروید را مدد نماید .

(نکته : در تعیین این قسمت تلاش فرمایید دست‌کم ترین ها را گزینش نکنید زیراکه
بخش اعظمی از قابلیت و امکان های نرم افزار های نو اندروید بوسیله ورژن های دیرین آن نگهبانی نمیشود
و شما بدون چاره به وقت گذاری بی جهت برای ورژن های سابق میباشید .)

مرحله 4

برای شروع پروژه نیاز میباشد تا تعدادی ابزار و کتابخانه گوناگون از مخزن‌های آنلاین گرِیدِل و گوگل اخذ خواهد شد .
به همین انگیزه فورا عملیات دانلود ابزارها به طور خود کار شروع می شود.
یک کدام از مهم‌ترین این ابزارها بیلد سیستم Gradle ) Gradle یک بیلد سیستم متن گشوده و
مجانی میباشد که گوگل در سال ۲۰۱۳ اعلام‌کرد که از این بیلد سیستم در اندروید استودیو به کار گیری می‌نماید.
بیلد سیستم یا این که سیستم ایجاد کرد، ابزاری ست که طیف وسیعی از عملیات لازم برای پیشرفت و تشکیل داد
یک اپ به عنوان مثال تشکیل داد پروژه، پکیج کردن، فشرده سازی منابع، کامپایل کدها و… را جاری ساختن میدهد. ) است .
مشکلی که در دانلود آنلاین ابزارها و کتابخانه ها وجود داراست این میباشد که‌این نرم افزار برای یوزرها اهل ایران مسدود است.
بدین ترتیب نیاز میباشد شما برای فرآیند برقراری رابطه از VPN به کارگیری نمائید .

بازدید : 57
دوشنبه 12 خرداد 1404 زمان : 9:30


معایب USSD: فاقد بعدی‌ ضمانت گردیده
دوران متعددی میباشد که کانال‌های GSM پا به عرصه پیوندها گذارده‌اند و از آن ها به کار گیری میگردد. ولی، با وجود اینکه فناوری USSD در وب شی ها به شغل گرفته می گردد، کانال‌های گوشی در سراسر عالم در هم اکنون انقطاع به کار گیری از فناوری‌های نسل دوم (2G) و حتی نسل سوم (3G) برای به کار گیری باندهای فرکانسی خویش در فناوری‌های توسعه طراحی اپلیکیشن در مشهد یافته‌خیس میباشند.

در حین سال‌های آتی گستره پوشش 2G به خرد‌خیس شدن خویش ادامه خواهد اعطا کرد و کشورهای معدود‌تری از فناوری‌های بر طبق GSM نظیر USSD به کار گیری خواهند کرد. حتی اینک نیز از USSD بیش‌خیس در جمهوری اسلامی ایران و بعضی کشورهای آفریقایی استعمال می‌گردد.

معایب USSD: محدودیت پوسته پیام USSD
به عبارتی‌طور که پیش‌خیس نیز اشاره شد، نوع محتوایی که از روش سامانه USSD قابل ارسال میباشد برخلاف فناوری SMS و MMS صرفا میتواند به طور متنی باشد و قابلیت و امکان ارسال تصویر و ویدئو از روش USSD نیست.

معایب USSD: محدودیت حجمی
ضمن محدودیت نوع محتوای ارسالی از روش USSD که مطلقاً می بایست به طور پوسته متنی باشد، وسعت محتوای ارسالی نیز در بستر USSD دارنده محدودیت میباشد و به عبارتی‌طور که ذکر شد، در یک پیام USSD فقط می‌قدرت ۱۸۲ کاراکتر را مکان بخشید که‌این تعداد کاراکتر متساوی وسعت ۱۶ بیت داده میباشد. اگرچه این محدودیت حجمی سبب گردیده که تبادل داده از روش USSD بدون پول باشد، البته این محدودیت یک نقطه ضعف نیز به حساب میآید. چون نمی‌اقتدار از USSD برای بخش اعظمی از کاربردها استفاده نمود.

معایب USSD: عدم قابلیت و امکان ارسال لینک و پیوند
یکی از دیگر از معایب USSD ، عدم قابلیت ارسال پیوند یا این که به عبارتی هایپرلینک در پیام‌های USSD میباشد، امکانی که از روش SMS به راحتی در مشت استخراج‌وکارها جای‌دارد. امروزه هایپرلینک در بازاریابی دیجیتال نقش مهمی برای درآمدزایی داراست و عدم قابلیت و امکان ارسال پیوند با USSD قادر است یکی‌از نقاط ضعف اصلی در‌این فناوری به شمار رود.
نرم افزار نویسی USSD چیست؟
اپلیکیشن نویسی USSD به پروسه فعال‌سازی یک خدمت USSD گفته می گردد. سرویسی که مشتریان بتوانند با به کارگیری از آن از سرویس ها ارائه دهنده خدمت USSD به کارگیری نمایند.
یعنی سامانه‌ای پیاده‌سازی گردد که از روش سیستم USSD خدماتی سازگار و هم خوانی با قابلیت و امکان‌های USSD ارائه خواهد شد و مخاطب با وارد کردن کد USSD رقم خورده، به آن سرویس ها دسترسی داشته باشد.

به عنوان مثالً یک خزانه میتواند قابلیت و امکان تحقیق موجودی اکانت بانکی را از روش سامانه USSD در چنگ مشتریان قرار دهد. اپلیکیشن نویسی USSD معمولاً با به کارگیری از لهجه PHP اعمال میشود. همینطور، نیاز به راه اندازی مقر داده وجود داراست که می‌اقتدار از MySQL به کار گرفت. فرایند نرم افزار نویسی USSD معمولاً به طور پایین جاری ساختن می شود:
تنظیمات نرم افزار USSD در صاحب خانه (Host)
ساخت و ساز یک منوی تعاملی USSD
اخذ ورودی از استفاده کننده و درج آن در مقر داده
اخذ ورودی از مخاطب و اکران جزئیات درخواست گردیده
الزامات نرم افزار نویسی USSD چیست؟
قبل از هر چیز، نیاز به یک درگاه USSD وجود داراست که برای استارت می‌قدرت از یک سرور خرد مبنی بر لینوکس به کار گرفت یا این که یک درگاه فراهم را از کمپانی‌های ارائه دهنده دروازه USSD خریداری کرد. می‌قدرت منوها و نرم افزار USSD را با به کارگیری از PHP تشکیل داد. اصلی‌خیس از تمامی، بایستی اتصال به اپراتور کانال تلفن همراه برقرار و یک کد USSD منحصر اخذ گردد. معمولاً می بایست یک پرونده کاری به اپراتور ارائه و توافق‌طومار‌های VAS یا این که WASP امضا شوند.
همینطور، ممکن میباشد نیاز به اخذ گواهینامه WASP از رگولاتوری کمپانی مخابرات وجود داشته باشد. کد USSD اخذ گردیده به اپلیکیشنی اختصاص داده میشود که قرار میباشد سرویس ها USSD در آن ارائه شوند و بدین ترتیب قابلیت و امکان استقرار سرویس ها آماده می گردد. یک نحوه معمولی‌خیس، به کار گیری از یک کمپانی سرویس ها دهنده فرد ثالث میباشد که اکثری از الزامات را از پیش مهیا نموده است و سرویس ها USSD را در پوسته API‌ یا این که اینترنت خدمت ارائه میدهد.

فراگیری نرم افزار نویسی USSD و تشکیل داد یک نرم افزار USSD
بعداز ارائه مقدمات و مباحث نظری، اکنون در‌این نصیب به فراگیری نرم افزار نویسی USSD پرداخته و یک نرم افزار USSD تاسیس شده است. برای تشکیل داد نرم افزار USSD درین پروژه صرفا به موردها تحت نیاز میباشد:

کلاینت Postman برای کروم
اجرای اینترنت سرور (Xampp ،LAMP و یا این که موردها دیگر)
ویرایشگر Sublime Text یا این که Visual Studio Code
درین فراگیری از درگاه زنده (Live Gateway) استعمال نشده میباشد و صرفا آنچه در دور و بر حقیقی وواقعی صورت میدهد، مشابه‌سازی گردیده‌است. برای نرم افزار نویسی USSD می بایست شناخت مایحتاج با بعضا مورد ها برای مثال مهارت‌های اساس اپلیکیشن نویسی دربرگیرنده عبارت‌های شرطی، امر Switch و بقیه مفاد وجود داشته باشد.

ادله نیاز بدین مهارت‌ها این میباشد که درین پروژه نرم‌افزار نویسی USSD به واحد سنجش متعددی شغل با فن‌ها برای خارج کشیدن (واکشی کردن) داده‌ها و تعبیر درخواست ارسالی از روش درگاه USSD انجام یافته میباشد. یک موردی که بایستی مدنظر قرار داده خواهد شد این میباشد که در درگاه‌های USSD از گویش‌های اپ نویسی مختلفی به کارگیری میشود، یعنی فن‌هایی با اسم‌های گوناگون ارسال می شوند.

پارامترهای مثال درخواست
در‌این فراگیری نرم افزار نویسی USSD ، مفاد ذیل تحت عنوان پارامترهای مثال درخواست تهیه میگردند:

‘MSISDN’ => ‘254714611388’ (شماره موبایلی که درخواست را ارسال می‌نماید)
‘SESSION_ID’ => ‘355562002’ (گرد‌همایی برای هنگامی که نیاز به تست حسابرسی وجود دارااست)
‘USSD_STRING’ => ‘58*1234*456*252\' (این فن‌ای میباشد که دربردارنده درخواست‌های ارسالی از درگاه USSD میباشد و به ذکر معمولی جواب‌هایی میباشد که مخاطب در طی سوال ارائه می دهد)
آحاد جواب‌ها (داده‌هایی که بوسیله استفاده کننده در موبایل وارداتی‌اند) بوسیله یک آرم ستاره (*) جداگانه میگردند و هر پاسخی که استفاده کننده وارد می‌نماید، به فن فعلی متصل شود. براین اساس، می بایست شناخت مورد نیاز با تابع explode()‎ در PHP وجود داشته باشد.

پیاده‌سازی اپ نویسی USSD
اکنون درین قسمت پیاده‌سازی‌های مورد نیاز صورت گرفته میباشد. یادگرفتن نرم افزار نویسی USSD درین نصیب، مشمول یک کد مثال برای مشابه‌سازی یک روند میباشد. برای این فراگیری اپ نویسی USSD، یک سیستم تصویب‌اسم پیاده‌سازی گردیده‌است. یک نکته مهمی که در یادگرفتن نرم افزار نویسی USSD می بایست به آن اعتنا خواهد شد، به کارگیری از لغت ها کلیدی CON و END میباشد. کلمه و واژه کلیدی CON وقتی استعمال میشود که اشاره به یک درخواست پیوسته ، از جمله، وقتی که از مخاطب توقع وارد کردن یک جواب وجود داشته باشد.

واژه کلیدی END برای نقطه پايان دادن به گرد هم آیی USSD استعمال می‌گردد. هنگامی که کلمه و واژه کلیدی END به اولِ اسکریپت اضافه خواهد شد،‌ به خدمت دهنده اعلام خواهد کرد که گرد‌همایی به نقطه نهایی رسیده میباشد و بدین ترتیب از آن پس جعبه وارد کردن داده ها به مخاطب اکران داده نخواهد شد، بلکه یک دکمه OK یا این که خروج ظواهر میشود. در پی کدهای مثال PHP آمده میباشد.

آغاز داده‌های نشانی URL پست در اینترنت سرور اخذ میشوند:

1 2
3 $text=$_GET[‘USSD_STRING’];
4 $phonenumber=$_GET[‘MSISDN’];
5 $serviceCode=$_GET[‘serviceCode’];

آن گاه، متن با به کار گیری از تابع Explode و جداکننده «*» به یک آرایه تبدیل می‌گردد:

1$level = explode(“*”, $text);

اکنون برای دوری از بروز غلط، تحقیق میگردد که آیا متغیر متنی دربردارنده داده میباشد یا این که نه:

1 if (isset($text)) {

او‌لین درخواست یک فیلد متنی خالی خواهد داشت و به این ترتیب می بایست ورقه خوش‌آمدگویی را به مخاطب اکران دهد. در اینجا از واژه و کلمه کلیدی CON به کارگیری می‌گردد:

1if ( $text == “” ) {
2 $response=”CON Welcome to the registration portal.\\nPlease enter you full name”;
3 }

اینک هر سطح پژوهش می گردد تا از وجود داده در آن و ارجاع داده شدنش یا این که در وهله ارجاع بودنش یقین نتیجه ها خواهد شد:

1if(isset($level[0]) && $level[0]!=”” && !isset($level[1])){
2$response=”CON Hi “.$level[0].”, enter your ward name”;
3
4 }
5 else if(isset($level[1]) && $level[1]!=”” && !isset($level[2])){
6 $response=”CON Please enter you national ID number\\n”;
7}
8 else if(isset($level[2]) && $level[2]!=”” && !isset($level[3])){
9 //Save data to database
10 $data=array(
11 ‘phonenumber’=>$phonenumber,
12 ‘fullname’ =>$level[1],
13 ‘electoral_ward’ => $level[2],
14 ‘national_id’=>$level[3]
15 );
16//در این قسمت باید مقادیر در پایگاه داده درج شوند
مشاهده کامل کدها
حال با استفاده از کلمه کلیدی END ، می‌توان جلسه را پایان داد:

1$response=”END Thank you “.$level[1].” for registering.\\nWe will keep you updated”;
2 }

همینطور بایستی در حیث داشت که برای هر درخواست پیروز می بایست جواب را با به کار گیری از امر echo اکران اعطا کرد:

1header(‘Content-type: text/plain’);
2 echo $response;
3}
4?>

به این ترتیب، مجموع کدهای درج شده به طور تحت میباشد:

1 2 #We obtain the data which is contained in the post url on our server.
3
4 $text=$_GET[\'USSD_STRING\'];
5 $phonenumber=$_GET[\'MSISDN\'];
6 $serviceCode=$_GET[\'serviceCode\'];
7
8
9 $level = explode("*", $text);
10 if (isset($text)) {
11
12
13 if ( $text == "" ) {
14 $response="CON Welcome to the registration portal.\\nPlease enter you full name";
15 }
16
17 if(isset($level[0]) && $level[0]!="" && !isset($level[1])){
18
19 $response="CON Hi ".$level[0].", enter your ward name";
20
21 }
22 else if(isset($level[1]) && $level[1]!="" && !isset($level[2])){
23 $response="CON Please enter you national ID number\\n";
24
25 }
26 else if(isset($level[2]) && $level[2]!="" && !isset($level[3])){
27 //Save data to database
28 $data=array(
29 \'phonenumber\'=>$phonenumber,
30 \'fullname\' =>$level[0],
31 \'electoral_ward\' => $level[1],
32 \'national_id\'=>$level[2]
33 );
34
35
36
37 $response="END Thank you ".$level[0]." for registering.\\nWe will keep you updated";
38 }
39
40 header(\'Content-type: text/plain\');
41 echo $response;
42
43 }
44
45?>
مشاهده بدون نقص کدها
تست کدهای مندرج
در‌این مرحله از یادگرفتن نرم‌افزار نویسی USSD می بایست سنجیده شود که آیا کدهای مندرج در مرحله پیشین به صحت فعالیت می‌نمایند یا این که نه. برای این شغل بایستی فرایند ذیل را درنوردید:

قرار دادن فولدر دربردارنده کدها در فایل مرتبط با اینترنت سرور یعنی به عبارتی فولدر «htdocs» یا این که «/var/www/html»
گشودن کلاینت Postman
قرار دادن نشانی URL در جایی که کدها میزبانی می شوند (مثل localhost)
اضافه کردن پارامترهای مثال درخواست به URL (این پارامترها در اولِ فراگیری نرم افزار نویسی USSD مشخص و معلوم گردیده‌اند: « http://localhost:9000/?MSISDN=0713038301&USSD_STRING=&serviceCode=*144# »
بایستی در حیث داشت که فن USSD برای دیدن ورقه خوش‌آمدگویی می بایست خالی باشد.
درحال حاضر می بایست درخواست را ارسال و پنجره جواب Postman را برای جواب از جانب سرور نظارت کرد. این نصیب بازخوردی را نماد می دهد که مخاطب هنگام تولید درخواست در تلفن همراه تلفن همراه خویش اخذ می‌نماید.
دستکاری حرفه USSD به عنوان مثالً با اضافه کردن اسم مخاطب: « http://localhost:9000/?MSISDN=0713038301&USSD_STRING=&serviceCode=*144# »
پیام دیگری اکران داده شود. برای رفتن به مرحله سپس می بایست یک نشان «*» بعد از اسم استفاده کننده تحت عنوان یک پارتیشن درج گردد. این شغل را می بایست برای بقیه پیام‌ها نیز جاری ساختن بخشید تا‌زمانی‌که پیام‌ها به اتمام برسند: « http://localhost:9000/?MSISDN=0713038301&USSD_STRING=&serviceCode=*144# »
مراحل فوق در اپلیکیشن نویسی USSD و پیشرفت نرم افزار‌ها و کاربردهای USSD به عمل میاید. آزمایش روی یک اطراف حقیقی و واقعی (Live) مستلزم صرف هزینه میباشد. به همین عامل از Postman برای مشابه‌سازی درین یادگرفتن نرم‌افزار نویسی USSD به کار گیری شد. در پی یادگرفتن طرز استعمال از سرویس ها USSD در یک نرم افزار اندرویدی تفصیل داده گردیده‌است.

بازدید : 18
يکشنبه 11 خرداد 1404 زمان : 14:11


تصویب نوآوری نرم افزار
تصویب ابتکار عمل در سرزمین ما از روش دو مرجع طراحی اپلیکیشن در مشهد شکل میگیرد:

» وزارت ارشادوراهنمایی

» شورای خوب انفورماتیک (از روش راس مالکیت معنوی)

واحد کارها بسته‌های قابل انعطاف‌ افزاری وزارت موعظه که زیرمجموعه راءس پیشرفت فناوری داده ها و فضای دیجیتال وزارت ارشادوراهنمایی میباشد، یک کدام از متصدیان تصویب قابل انعطاف‌ افزار در کشور ایران میباشد. این واحد به‌مراد پناه از حقوق و دستمزد دنیوی و معنوی طراحان قابل انعطاف‌افزارها و نرم افزار‌ها، تأسیس گردیده‌است. برای اجرا فرایند تصویب خلاقیت قابل انعطاف ‌افزار از روش این واحد، آغاز طراحان قابل انعطاف‌ افزار و یا این که نرم افزار، درخواست صدور تایید صلاحیت را تصویب کرده و آن‌گاه، راس از سه جنبه به پژوهش برنامه و یا این که نرم افزار می پردازد و در شکل احراز موقعیت موردنیاز، تایید صلاحیت تصویب ابتکار عمل قابل انعطاف‌ افزار و یا این که نرم افزار را صادر می‌نماید:

1) محتوای قابل انعطاف‌ افزار و یا این که نرم افزار از جنبه‌های گوناگون اخلاقی، سیاسی، مذهبی و اجتماعی رسیدگی می گردد.

2) قابل انعطاف‌ افزار و یا این که نرم افزار از دید رعایت حقوق و دستمزد مالکیت فکری، تحقیق می گردد؛ بدین مفهوم که قابل انعطاف‌ افزار و یا این که نرم افزار به طور اسکن‌ برداری غیرمجاز از قابل انعطاف‌افزارها و یا این که نرم افزار‌های قبل پیاده سازی نشده باشد.

3) نرم افزار و یا این که نرم افزار از نگاه نرم‌افزار‌ نویسی پژوهش می‌شود.

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

کمیته حق ابتکار عمل، تحت لحاظ شورای خوب انفورماتیک نیز واحد دیگری میباشد که مسئول تصویب ابداع قابل انعطاف‌ افزار و یا این که نرم افزار میباشد. اعضای این کمیته مرکب از سه دارای تخصص ارشد قابل انعطاف‌ افزار تحت عنوان نمایندگان شورای بهتر انفورماتیک، نماینده سازمان تصویب ورقه ها و املاک مرزو بوم و یک متخصص حقوقی به تعیین شورای بهتر انفورماتیک میباشد. این شورا در شکل تأییدیه فنی، مکلف به استعلام وزارت موعظه نیز میباشد تا عدم منافات قابل انعطاف‌ افزار و یا این که نرم افزار متبوع را با مبانی اخلاقی و عفت همگانی و سالم شخصیت کودک ها و نوجوان ها، تأیید کند.

مشاهده “ارزش پیاده سازی نرم افزار“

مدارک مورد نیاز برای تصویب خلاقیت برنامه
به‌خواسته تصویب خلاقیت قابل انعطاف‌ افزار، مدارک پایین می‌بایست بوسیله تقاضاکننده ارائه شود:

1) مدارک مرتبط با حق مالکیت تاثیر

2) چهار ورژن از اصل قابل انعطاف‌ افزار در پوسته چهار لوح فشرده جدا

3) تأییدیه فنی شورای بهتر انفورماتیک (در‌حالتی که از روش کمیته حق نوآوری مبادرت گردیده باشد.)

4) اصل فیش واریزی یک میلیون ریال به اکانت 511031 بانک (قابلیت و امکان تخفیف برای تولیدات فاخر فرهنگی مطابق معیارهای وزارت فرهنگ و تمدن و موعظه اسلامی وجود داراست.)

5) یک ورژن اجزای محتوای تاثیر بر روی لوح فشرده

6) تصویر اظهارنامه تصویب کمپانی یا این که مؤسسه متبوع (برای درخواست کنندگان حقوقی)

7) تصویر کارت ملی (برای تقاضاکنندگان واقعی)

مزایای تصویب خلاقیت اپلیکیشن
به موجب تصویب ابتکار قابل انعطاف‌ افزار، حق عرضه، تکثیر، جاری ساختن و فایده‌ برداری دنیوی و معنوی تاثیر به صاحب و مالک و یا این که صاحبان دستمزد آن وابستگی می گیرد. به کارگیری از دستمزد دنیوی برنامه تا 30 سال اعتبار دارااست، ولی فایده‌ برداری از دستمزد معنوی آن سوای محدودیت میباشد. از سوی دیگر، هرگونه نسخه برداری‌ برداری از تیتر و محتوای قابل انعطاف‌ افزاری که فرآیند تصویب آن به طور بدون نقص طی گردیده باشد، قابل ‌پیگیری رسمی میباشد.

تصویب قابل انعطاف ‌افزار در وزارت ارشادوراهنمایی
به‌مراد تصویب قابل انعطاف ‌افزار در وزارت فرهنگ و تمدن و راهنمایی اسلامی، روند پایین را به ترتیب جاری ساختن دهید:

جهت تصویب درخواست و یا این که منفعت‌مندی از پنل منحصر به فرد، می‌بایست شناسه کاربری و سر عبور برای کمپانی و یا این که افراد واقعی ساخت فرمایید. به این مراد به وب سایت login.saramad.ir (http://login.saramad.ir/Pages/default.aspx) رجوع‌نمایید. در‌این نشانی، شیت‌ای مبنی بر صورت ذیل را مشاهده خواهید کرد:

درین مرحله، تصویب‌ اسم را اعمال دهید. برای این مراد، روی لینک و پیوند درخواست عضویت کلیک نمایید.

در بخش نوع درخواست کننده، آیتم «حقیقی و واقعی» و یا این که «حقوقی» را گزینش فرمایید؛ آنگاه داده ها فردی تقاضاکننده را وارد کرده و راز عبور خویش را انتخاب فرمائید. مثلا، مثال کامل شدن گردیده‌ای از هیبت عضویت به طور تحت میباشد:

بازدید : 13
شنبه 10 خرداد 1404 زمان : 10:49


اجزا و ویژگی های react native
React : این چارچوبی برای ساخت نرم افزار های وب و موبایل با استعمال طراحی اپلیکیشن در مشهد از جاوا اسکریپت هست.

Native : می توانید از مؤلفه های ساکن که بوسیله جاوا اسکریپت در اختیار گرفتن می‌شوند استعمال نمایید.

پلتفرم ها : React Native از پلتفرم IOS و Android مدد می کند.شمرحله ۱۱ : Hot Reloading
برای تشکیل داد نرم افزار ، App.js را تغییر تحول دهید و تغییرات به طور خود کار در مشابه ساز اندروید آپ دیت می گردد.
درصورتی که چنین نشد ، روی مشابه ساز اندروید کلیک نمایید ctrl+m را فشار دهید آن‌گاه آیتم Enable Hot Reloading را تعیین نمائید.


App
در‌حالتی که نرم‌افزار پیش فرض را گشوده فرمائید، میتوانید ببینید که فولدر app.js مشابه به آن میباشد.

import React from \'react\';
import { StyleSheet, Text, View } from \'react-native\';

export default class App extends React.Component {
render() {
return (

Open up App.js to start working on your app!
Changes you make will automatically reload.
Shake your phone to open the developer menu.

);
}
}

const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: \'#fff\',
alignItems: \'center\',
justifyContent: \'center\',
},
});
COPY
خروجی :


Hello world

برای اکران یک پیام معمولی که می‌گوید “Welcome to manataz” بخش CSS را بردارید و پیامی را که قرار میباشد به وسیله تگ های در درون بسته بندی گردیده، چاپ خواهد شد، بر طبق صورت تحت وارد فرمایید.

import React from \'react\';
import { StyleSheet, Text, View } from \'react-native\';

export default class App extends React.Component {
render() {
return (

Welcome to manataz

);
}
}
COPY

State
داده‌های باطن React Components بوسیله state و props مدیر میگردند. درین نصیب در امر state حرف خوا‌هیم کرد.

تفاوت میان State و Props

State تغییرپذیر میباشد در حالی که props تغییرناپذیر میباشد.
این بدان معنا میباشد که State را می اقتدار در آجل آپ دیت کرد در حالی که props را نمی اقتدار آپدیت کرد.

به کار گیری از State
این کامپوننت root ما میباشد. ما صرفا Home را وارد می‌کنیم که در بیشتر مناطق استعمال گردد.

import React from \'react\';
import { StyleSheet, Text, View } from \'react-native\';

export default class App extends React.Component {
state = {
myState: \'Lorem ipsum dolor sit amet, consectetur adipisicing elit, used do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in
culpa qui officia deserunt mollit anim id est laborum.\'
}
render() {
return (

{this.state.myState}

);
}
}
COPY
خواهیم توانست متن مشابه‌ساز را از حالتی مانند تصویر پایین ببینیم.


به روزرسانی state
از آنجایی که state قابل تغییر و تحول میباشد، میتوانیم آن را با ساخت تابع deleteState آپ دیت کنیم و با استعمال از اتفاق افتاد onPress = {this.deleteText} آن را فراخوانی کنیم.

import React, { Component } from \'react\'
import { Text, View } from \'react-native\'

class Home extends Component {
state = {
myState: \'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit
in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia
deserunt mollit anim id est laborum.\'
}
updateState = () ⇒ this.setState({ myState: \'The state is updated\' })
render() {
return (


{this.state.myState}


);
}
}
export default Home;
COPY
راه و روش دیگر برای تعریف و تمجید متدها به کارگیری از توابع EC5 میباشد ، البته در‌این‌صورت می بایست این را به طور دستی در تولید کننده متصل کنیم.
برای ادراک این زمینه به نمونه ذیل اعتنا نمایید.

class Home extends Component {
constructor() {
super()
this.updateState = this.updateState.bind(this)
}
updateState() {
//
}
render() {
//
}
}
COPY
Props
درین نصیب به شما نشانه خوا‌هیم بخشید که چه‌گونه state و props را با هم مخلوط نمایید.
کامپوننت های Presentational می بایست آحاد اطلاعات را با ارسال props اخذ نمایند.
تنها کامپوننت های container می بایست state داشته باشند.

Container Component
فعلا خوا‌هیم فهمید که یک کامپوننت کانتینر چیست و همینطور به چه شکل فعالیت می نماید.

تئوری

درین مرحله کامپوننت پیاله خویش را آپ دیت می‌کنیم.
این کامپوننت state را رئیس می نماید و props را به کامپوننت presentational می‌دهد.

کلمپوننت کانتینر صرفا برای شرایط انتقال به کار گیری میشود.
کل عملکردهای مرتبط با اکران (استایل و …) در کامپوننت presentational اعمال می‌گردد.

نمونه

چنانچه بخواهیم از نمونه قسمت گذشته به کار گیری کنیم، بایستی المان Text را از تابع render حذف کنیم چون این المان برای presenting text به یوزرها استعمال می‌شود.

اذن دهید کد جان دار در نمونه تحت را رسیدگی کنیم.
ما PresentationalComponent را وارد کرده و آن را به تابع render ارسال می‌کنیم.

بعداز اینکه PresentationalComponent را وارد کردیم و آن را به تابع رندر فرستادیم، بایستی props را پاس کنیم.
ما با اضافه کردن myText = {this.state.myText} و deleteText = {this.deleteText} به ، موردها را ارسال میکنیم.
در حال حاضر، ما میتوانیم به‌این در درون مؤلفه ارائه دسترسی داشته باشیم.

می توانیم متن مشابه‌ساز را از حالتی مانند تصویر پایین ببینیم.

import React from \'react\';
import { StyleSheet, Text, View } from \'react-native\';
import PresentationalComponent from \'./PresentationalComponent\'

export default class App extends React.Component {
state = {
myState: \'Lorem ipsum dolor sit amet, consectetur adipisicing elit, used do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis
aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui
officia deserunt mollit anim id est laborum.\'
}
updateState = () => {
this.setState({ myState: \'The state is updated\' })
}
render() {
return (

);
}
Class Performance : کدهای مندرج در React Native در native code کامپایل می گردند ، که آن را برای هر دو سیستم ادله فعال می کند و همچنین در هر دو پلت فرم به یک شکل عمل می کند.

جاوا اسکریپت : دانش جاوا اسکریپت برای تشکیل داد اپ های موبایلی بومی استفاده می شود.

انجمن : انجمن تبارک React و React Native در اطراف به ما کمک می کند تا هر پاسخی را که میخواهیم پیدا کنیم.

Hot Reloading : تشکیل داد یک سری تغییر‌و تحول در کد نرم افزار شما بلافاصله در طی توسعه قابل مشاهده خواهد بود.

راه‌اندازی محیط react native
برای تهیه و تنظیم دور و بر React Native می بایست یک سری آیتم را نصب نمایید.
ما از OSX به عنوان building platform خود استفاده خوا هیم کرد.

مرحله ۱ : برنامه create-react-native-app را نصب نمایید
پس از نصب موفقیت آمیز NodeJS و NPM در سیستم خود ، می توانید به نصب Create-react-native-app ادامه دهید.

C:\\\\Users\\\\manataz> npm install -g create-react-native-app
COPY
مرحله ۲ : ساخت و ساز پروژه
پوشه مورد نیاز را مرور فرمایید و مانند شکل پایین یک پروژه react native ایجاد فرمایید.

C:\\\\Users\\\\manataz>cd Desktop
C:\\\\Users\\\\manataz\\\\Desktop>create-react-native-app MyReactNative
COPY

مرحله ۳ : NodeJS Python Jdk8

مطمئن شوید که Python NodeJS و jdk8 را در سیستم خود نصب کرده اید، در‌صورتی‌که نه، آن‌ها را نصب نمائید.
علاوه بر اینها توصیه میشود برای هجران از خطاها خاص ، آخرین نسخه yarn را نصب فرمائید.

مرحله ۴ : React Native CLI را نصب کنید

با به کارگیری از فرمان install -g react-native-cli مطابق شکل زیر میتوانید رابط خط فرمان react native را روی npm نصب نمائید.

npm install -g react-native-cli
COPY

مرحله ۵ : React native را آغاز فرمائید
برای تأیید نصب ، پوشه پروژه را جستجو نمائید و با استعمال از دستور start ، پروژه را استارت نمائید.

C:\\\\Users\\\\manataz\\\\Desktop>cd MyReactNative
C:\\\\Users\\\\manataz\\\\Desktop\\\\MyReactNative>npm start
COPY
درصورتی که همگی چیز به نیکی پیش رفت، یک کد QR مبنی بر شکل زیر دریافت خواهید کرد.


همانطور که گفته شد، یکی از شیوه های اجرای نرم افزار‌های react native در دستگاه اندرویدی خود استفاده از Expo می‌باشد.
کلاینت Expo را در دستگاه اندرویدی خود نصب کنید و کد QR به دست آمده فوق را اسکن نمایید.

مرحله ۶ : پروژه را eject فرمائید

در‌حالتی که می خواهید شبیه ساز اندروید را با استعمال از اندروید استودیو جاری ساختن نمایید ، با فشار دادن ctrl+c از خط فرمان فعلی خارج شوید.
سپس فرمان run eject را به صورت اعمال فرمائید.

npm run eject
COPY
این گزینه‌هایی را از شما می‌خواهد که eject نمایید ، اولین گزینه را با به کارگیری از مکان نما‌ها انتخاب فرمایید و اینتر را فشار دهید.


بعد از آن باید نام نرم افزار را در صفحه اصلی و نام پروژه استودیو اندروید و پروژه های Xcode را پیشنهاد دهید.


اگرچه پروژه شما با موفقیت eject شد، ممکن می‌باشد با خطای زیر مواجه شوید.


این غلط را نادیده بگیرید و با به کارگیری از فرمان زیر react native را برای اندروید ایفا فرمایید.

react-native run-android
COPY
البته قبل از آن بایستی اندروید استودیو را نصب کنید.

مرحله ۷ : نصب اندروید استودیو

از آدرس https://developer.android.com/studio/ اندروید استودیو را دانلود کنید و بعد آن را نصب فرمایید.

مرحله ۸ : پیکربندی AVD Manager

برای پیکربندی AVD Manager روی نشان مربوطه در نوار منو کلیک نمایید.

device definition را انتخاب فرمایید، Nexus 5X قابل توصیه هست.

بر روی دکمه Next کلیک نمائید، یک پنجره System Image خواهید رویت کرد. تب x86 Images را گزینش فرمائید.


آن گاه، Marshmallow را انتخاب کرده و روی next کلیک فرمائید.


در نهایت بر روی دکمه Finish کلیک نمائید تا پیکربندی AVD به پایان برسد.


پس از پیکربندی دستگاه مجازی خود بر روی دکمه پخش تحت ستون Actions کلیک کنید تا شبیه ساز اندروید خود را فعال‌سازی فرمایید.


مرحله ۹ : Running android

خط دستور را باز نمایید ، پوشه پروژه خود را مرور نمایید و دستور react-native run-android را جاری ساختن فرمائید.


آن‌گاه، اجرای اپلیکیشن شما در یک اعلان دیگر آغاز می شود که می توانید شرایط آن را ملاحظه کنید.


در شبیه ساز اندروید خود می‌توانید اجرای نرم‌افزار پیش فرض را به صورت ذیل مشاهده کنید :


مرحله ۱۰ : local.properties
فایل اندروید را در فایل پروژه SampleReactNative/android باز نمائید (دراین مورد). یک فولدر با نام local.properties ساخت و ساز نمائید و مسیر پایین را در آن اضافه کنید.

sdk.dir = /C:\\\\\\\\Users\\\\\\\\manataz\\\\\\\\AppData\\\\\\\\Local\\\\\\\\Android\\\\\\\\Sdk
COPY
در اینجا، manataz را با نام کاربری خود جایگزین فرمایید.

بازدید : 25
پنجشنبه 8 خرداد 1404 زمان : 11:37


نرم‌افزار نویسی اندروید با سی شارپ زامارین – راهنمای یادگرفتن و یادگیری
زامارین یک چارچوب توسعه و گسترش گوشی برای دات‌نت میباشد که می‌اقتدار با به کار گیری از آن نرم افزار‌های چندپلتفرمی تلفن همراه ساخت. خلاف اندروید استودیو که در آن با گویش جاوا و کاتلین می‌اقتدار به تشکیل داد نرم‌افزار‌های اندرویدی پرداخت، گسترش تلفن همراه با زامارین در Visual Studio 2019 و با گویش سی شارپ (C#‎) اعمال میگردد. درین نوشته‌علمی به نرم افزار طراحی اپلیکیشن در مشهد نویسی اندروید با سی شارپ زامارین پرداخته شد‌ه‌است و همگی نکات پیرامون آن آورده شده‌اند.
زامارین چیست ؟
زامارین (Xamarin) که اصولا «زَمرین» تلفظ میگردد، یک قاب‌ورک چندپلتفرمی بسط تلفن همراه مثل فلاتر به حساب میآید که اکنون به هم پا Visual Studio 2019 برای ویندوز و مک‌ سیستم عامل ارائه گردیده‌است. این چارچوب یک پوشش دهنده برای API‌های ساکن و ابزار پیشرفت اندروید میباشد و لذا هر کاری که بتوان در جاوا و کاتلین برای اپ نویسی اندروید ایفا اعطا کرد، می‌قدرت در زامارین نیز با استعمال از لهجه سی شارپ پیاده‌سازی کرد. در واقع این فقط گویش سی‌شارپ وجود ندارد که در زامارین برای گسترش نرم افزار گزینه استعمال قرار میگیرد.

کلیک نمائید
ضمن سی‌شارپ، گویش F#‎ (اف‌شارپ) نیز در زامارین قابل استعمال میباشد. به عبارتی‌طور که بخش اعظمی از اشخاص آگاه میباشند، F#‎ گویش نرم افزار‌نویسی تابع‌مبنا (Functional) دات‌نت میباشد. هر دوی این لهجه‌ها از کدهای ساکن اندروید و iOS یکسانی در قالب زیرین قطعات قابل انعطاف‌افزاری مایحتاج برای ایجاد کرد نرم افزار و اجرای آن سود می برند. براین اساس، بعد از استقرار نرم افزار، هیچ راهی وجود نخواهد داشت برای تشخیص اینکه نرم افزار چه گونه و با چه زبانی ایجاد شده است.

زامارین ساکن در مقایسه با فُحافظه موقت‌های زامارین


به عبارتی‌طور که در تصویر فوق قابل مراعات میباشد، می‌قدرت دو نوع پروژه زامارین تشکیل داد. یک نوع پروژه زامارین ساکن (Native Xamarin) میباشد که شیوه دیرین گسترش نرم افزار تلفن همراه با زامارین محسوب میشود و نوع دیگر نیز فُحافظه موقت‌های زامارین میباشد که به طور «Xamarin.Forms» نوشته می گردد. هر دوی این نوع پروژه‌ها اساس کد مشترکی به گویش سی شارپ یا این که F#‎ دارا‌هستند. این یعنی منطق تجارت را می‌اقتدار در پلتفرم‌های گوناگون (مثل اندروید و iOS) به اشتراک گذاشت.

کلیک فرمایید
براین اساس، کدهای مرتبط با مواقعی مثل دسترسی به مقر داده، تعامل با سرویس ها ابری مثل Azure و بقیه مفاد را می‌قدرت فقط یک توشه نوشت، صرف لحاظ از اینکه کدها قرار میباشد در اندروید، UWP ،iOS (پلتفرم ویندوز) یا این که هر پلتفرم دیگری ساکن شوند که ذیل پناه زامارین میباشد. تفاوت این دو نوع پروژه در رابط کاربری (UI) و روش ساخت آن میباشد. هر دو طرز همچنان به اجزای مستقر کامپایل می گردند، ولی طرز تایپ کردن آنان مختلف میباشد.

راه مستقر زامارین به چه شکل میباشد؟
در باب راه ساکن زامارین، واسط کاربری هر پلتفرم مستقل نوشته می‌گردد. بدین ترتیب، برای iOS همچنان از Storyboardها، در اندروید از AXML و در UWP از XAML به کارگیری شود. بُعد منفی درین راه و روش این میباشد که نیاز به پیشرفت هر رابط کاربری به طور جدا از هم وجود داراست. توسعه و گسترش رابط کاربری هر پلتفرم به صورت جداازهم خیر صرفا نیاز به تخصص و علم داراست، بلکه فرصت‌بر نیز خواهد بود. در‌حالتی که که قصد ساخت یک مثال نخستین از یک نرم افزار چندپلتفرمی با میزان دارایی معدود و سرعت بالا وجود داشته باشد، نیاز به ساخت و ساز واسط کاربری به صورت جدا از هم برای هر پلتفرم میتواند سربار تولید نماید.

کلیک نمایید
اگرچه، با دقت به اینکه Xamarin.Native فقط یک پوشش نازک برای APIهای مستقر میباشد، می‌اقتدار هر کاری را که در دور و اطراف ساکن جاری ساختن می‌گردد با Xamarin.Native هم ایفا اعطا کرد. این موضوع Xamarin.Native را به یک جایگزین کار کشته و بسیار استوار برای توسعه و گسترش مستقر با قابلیت و امکان به اشتراک‌گذاری کدها و به کار گیری از گویش‌های دات‌نت بدل نموده است.

Xamarin.Forms چه‌گونه فعالیت می‌نماید؟
با استعمال از Xamarin.Forms قابلیت تایپ کردن رابط کاربری به طور کدهای اعلانی یا این که به کار گیری از XAML وجود دارااست. نکته مثبت راجع به Xamarin.Forms این میباشد که رابط کاربری صرفا یک توشه نوشته می گردد و آن‌گاه کدهای مندرج به گویش ساکن هر پلتفرم دلخواه کامپایل خواهند شد. به عبارتی‌طور که پیش‌خیس نیز اشاره شد، خروجی و سود عمل صحیح شبیه یک نرم افزار گسترش داده گردیده به طور مستقر خواهد بود.

کلیک فرمایید
تفاوت اساسی این میباشد که در Xamarin.Forms هم رابط کاربری و هم منطق بیزنس به اشتراک نهاده می گردند. براین اساس، تمامی آنچه می‌قدرت در موقعیت ساکن اجرا اعطا کرد، در Xamarin.Forms قابل پیاده‌سازی نخواهد بود یا این که نیاز به فعالیت بیش‌تری خواهد داشت. در هر پلتفرم (اندروید، iOS) برخی از خصوصیت‌ها به طور متفاوتی پیاده‌سازی خواهند شد. از جمله،‌ می‌اقتدار به عکس به چنگ آوردن و تحقیق اتصال داده همدم اشاره نمود.

در اینگونه قوانینی میباشد که دعوا پلاگین‌ها (افزونه‌ها) یا این که کتابخانه‌ها به دربین می آید. این پلاگین‌ها که اکثر زمان ها بسته‌های NuGet نامیده میگردند، فیض عملکرد‌های یک توسعه و گسترش دهنده می‌باشند که آن‌ها‌را برای هر پلتفرم به طور جداازهم پیاده‌سازی و فراهم نموده است. بدین ترتیب می‌قدرت کتابخانه را به پروژه خویش ادامه داد و آغاز به به کارگیری از آن در کدهای پروژه کرد.

یک‌سری سال پیش پیشنهاد زاماراین که در آن فرصت یک کمپانی غیر وابسته به اکانت می‌آمد این بود که در حالتی که قصد اجرا عمل گرافیکی غامض‌ای وجود داراست، عالی میباشد از Xamarin.Native مصرف شود. اگرچه، با دگرگونی محصولاتی مثل SkiaSharp، این محدودیت‌ها کلیه ساله در هم اکنون کاهش میباشند و Xamarin.Forms هم به یک تعیین دارای اعتبار برای اکثر پروژه‌ها تبدیل گردیده‌است. لهجه اساسی و رایج در بسط اندروید از دیرباز گویش جاوا محسوب می‌شود. به‌این باعث به دنبال نوشته‌ی علمی نرم افزار نویسی اندروید با سی شارپ ، مقایسه‌ای فی مابین دو گویش جاوا و سی شارپ انجام یافته میباشد.

مقایسه سی شارپ با جاوا
سی شارپ یک لهجه نرم افزار نویسی شی‌گرا به حساب میآید که به وسیله کمپانی مایکروسافت در سال ۱۳۷۹ با مقصود مُدرن بودن، آسانی و انعطاف‌پذیری بالا پیشرفت داده گردیده است. شبیه جاوا (توسعه و گسترش داده گردیده به وسیله کمپانی سان مایکروسیستم در سال ۱۳۶۹) سی شارپ نیز اساسا از گویش C++‎ صورت گرفته شد‌ه‌است. این موضوع سبب گردیده که تشابه‌های بخش اعظمی دربین دو گویش سی شارپ و جاوا وجود داشته باشد.

کلیک فرمایید
به عنوان مثال، هر دو گویش جاوا و سی شارپ از اساس نحوی یکسانی به کار گیری می‌نمایند. بدین معنا که‌این دو گویش به صورت مفید واژه و کلمه شناسی و ساختار یکسانی را به شغل می گیرند. تعدادی تفاوت جزئی در بین این دو لهجه وجود دارااست، ولی در صورتی‌که که شناخت با یک کدام از آن ها وجود داشته باشد، آن‌گاه می‌اقتدار نصیب متعددی از گویش دیگر را سوای نیاز به یادگیری آن به صورت معین شعور کرد. ولی، برای اشخاص جدید‌عمل، یادگیری سی شارپ تا حدودی راحت‌خیس میباشد.

هر دو گویش جاوا و سی شارپ شی‌گرا میباشند و اشیاء را از روش کلاس‌ها تعریف می‌نمایند. شی‌گرایی یک روش ماژولار در نرم‌افزار نویسی میباشد که قابلیت به کارگیری مکرر از بریده‌هایی از کدهای یکسان را آماده می‌نماید. تفاوت‌های سی شارپ با جاوا در استعمال از Delegateها، منش آن در گوش دادن به حادثه ها، خصوصیت‌های مجازی در مقابل آخری‌، ارسال محتوا و مفاد دیگر میباشد.

کلیک نمائید
اما برای استارت به یادگیری سی شارپ نیازی به پی بردن اکثر این مفاهیم نیست. نکته اساسی این میباشد که ساختار سی شارپ برای یادگیری مقداری آسوده‌خیس میباشد و نیاز به کدنویسی و تایپ معدود‌تری وجود دارااست. این مورد خصوصاً درخصوص یادگیری جاوا برای اندروید درستگو میباشد. چون ضمن یادگیری لهجه جاوا، نیاز به شناخت با کلاس‌های متفاوت و APIهای ما یحتاج برای تشکیل داد نرم افزار‌های اندرویدی وجود دارااست.

بازدید : 11
چهارشنبه 7 خرداد 1404 زمان : 16:05


قابلیت و امکان تبدیل خود کار کدهای جاوا به کاتلین
ممکن میباشد بخش اعظمی از نرم‌افزار‌نویسان جاوا قصد مسافرت به کاتلین را داشته باشند. در واقع، این اشخاص در میان کاتلین یا این که جاوا گویش نرم‌افزار‌نویسی کاتلین را تعیین کرده‌اند. برای همین خواسته نیز کمپانی JetBrains به «دور و بر یک دست گسترش» (Integrated Development Environment | IDE) خویش امکان جدیدی اضافه نموده است که میتواند کدهای درج شده با گویش جاوا را مستقیماً به کدهای کاتلین تبدیل نماید. این آیتم به صورت قابل توجهی سبب صرفه‌جویی در طراحی اپلیکیشن در مشهد طی می گردد.

کلیک فرمائید
قابلیت و امکان Null-Safety در کاتلین
لهجه نرم افزار‌نویسی کاتلین با ارائه قابلیت و امکان مدیر مقادیر null، توسعه و گسترش‌دهندگان اندروید را از شر خطای دائمی و دردسرساز «استثنای اشاره‌گر تهی» (Null Pointer Exception | NPE) خلاص کرد. در کاتلین از کامپایل کردن کدهایی که سعی بر تخصیص یا این که برگرداندن مقادیر null دارااست، جلوگیری می گردد. مثلا، مثال کد پایین را در لحاظ بگیرید.

1val name: String = null // tries to assign null, won’t compile.
2fun getName(): String = null // tries to return null, won’t compile.

مرور و رسیدگی سهل خیس کدها در کاتلین
یکی نقاط قوت گویش کاتلین «سینتکس» (Syntax) خوانای آن میباشد. بدین ترتیب، مرور و رسیدگی دوباره کدها در آن فعالیت سادگی به حساب می آید، حتی برای آن گروه از اعضای گروه اپلیکیشن‌نویسی که ممکن میباشد با این لهجه آشنا نباشند.

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

ضمن این، مدد‌های اخیر گوگل از کاتلین و معرفی آن تحت عنوان گویش قانونی گسترش اندروید نیز گواه قطعی برای بعدی پر‌نور کاتلین میباشد.

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


کلیک فرمایید
مزایای کاتلین برای دستیابی و امور چیست؟
امروزه با دقت به‌سرعت بالای تغییرات در دنیای فناوری، بخش اعظمی از حصول و امور و سازمان‌ها به‌دنبال با صرفه‌خیس کردن عمل‌های خویش و همینطور کاهش هزینه‌ها میباشند. در همین راستا، به‌روز بودن و به کارگیری از جدیدترین فناوری‌ها در دنیای نرم‌افزار‌نویسی میتواند به پرورش هر چه بیشتر این دستیابی و امور و ترک رقبا امداد شایانی را ارائه دهد.

بازدید : 13
سه شنبه 6 خرداد 1404 زمان : 16:55


پردازنده های اینتل-amd
این نوشته‌ی علمی در واقع ادامه ی نوشته‌ی‌علمی ی اشکال پردازنده ها است که ما برای زمان بر خیس نشدن نوشته‌ی علمی ی پیشین به ساخت و ساز این نوشته ی علمی پرداختیم و در‌این نوشته‌ی علمی ابتداعا به معرفی اشکال پردازنده ی اینتل و در دفعه ی دوم به مقایسه ی میان پردازنده های اینتل و amd خوا‌هیم طراحی اپلیکیشن در مشهد پرداخت .

اشکال پردازنده های اینتل


1- Intel Atom
Atom خانواده پردازنده های x86 و x86-64 اینتل میباشد که برای دستگاه های محاسباتی خرد ، مانند تلفن های هوشمند و دستگاه های گوشی اینترنتی با صرفه گردیده اند. بیشتر نت بوک های جانور در بازار امروز با Atom عمل می نمایند.

پردازنده های جان دار در خانواده تولیدات Atom ارزان بها می باشند و نیاز به انرژی پاره ای دارا هستند. این دو واحد سنجش برای دستگاههای کوچکتر ضروری میباشد ، تا هزینه اجزا را کاهش داده و قدمت باتری را ارتقاء دهد.


2- Intel Celeron
این خصوصی از پردازنده‌های اینتل ضعیف‌ترین پردازنده ها میباشند که برای شغل های گرافیکی و سطح بالا پیشنها نمیشوند .

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


3- Intel Pentium
پردازنده های Intel Pentium جزوه مجموعه بندی پردازنده های دو ارزان قمیت و مانند محرمانه پردازنده های Celeron از اقتدار ذیل و برای کاربری همگانی برخوردارند .

این نوع پردازنده ها معمولا به طور دو هسته ای و در دو محرمانه gold و silver قابل خرید میباشند .


4- Intel Core
پردازنده های محرمانه core پر اسم و رسم ترین و دوست داستنی ترین محرمانه پردازنده های می‌باشند که که طیف کاملی از کاربری را به طور گرافیکی و غیر گرافیکی برای شما ارائه میدهند و ما در نوشته‌ی علمی ی گونه های پردازنده ها به معرفی بدون نقص آن پرداختیم .


5- Intel Xeon and Itanium
واپسین نوع و خصوصی پردازنده های اینتل محرمانه Intel Xeon and Itanium می باشند که معمولا یکی قدرتمندترین خصوصی پردازنده های اینتل میباشند که برای مصرف سرور های منحصر به فرد و مجازی از آن به کارگیری می‌شود و متناسب با کاربری تا تعداد متعددی می‌توانند در کنار یکدیگر قرار بگیرند .

تفاوت پردازنده های اینتل با AMD


دوام و مصرف انرژی

هنگامی حرف از AMD و Intel می‌شود ، تمامی چیز بستگی به نوع به کار گیری شما داراست ؛ AMD برای کاربری سطح میانگین گزینش نیکی میباشد ، در حالی که اینتل شایسته ترین تراشه های بلندتر را برای یوزرها ماهر ایجاد می نماید. این بدین استدلال میباشد که تراشه های توسعه یافته اینتل نسبت به AMD سریعتر و با مصرف انرژی بیشتر فعالیت می نمایند.

کلیه پردازنده های Intel با iGPU ارائه میشوند. محرمانه پردازنده های اینتل قدمت بالاتری نسبت به پردازنده های AMD دارااست و این به بها مصرف ، انرژی بیشتر و دوام باتری بر می شود.

بدین ترتیب ، مطلوب ترین نوع پردازنده ها برای به کار گیری ی همگانی و برای لپتاب های محرمانه پردازنده های اینتل میباشد .

برای دهه ها ، اینتل بر AMD احاطه داشت و تحت عنوان رهبر مارک در بازار CPU شناخته می‌شد. با این هم اکنون ، هنگام عرضه خصوصی Ryzen 7 ، که برای حریف خویش یعنی Core i7 اینتل تشکیل شده بود ، همگی چیز برای AMD چرخید.

واپسین خصوصی

واپسین نسل AMD فعلا آن ها Ryzen 9 3950X، اولی پردازنده 16 هسته ای 32 فن ای AMD برای استعمال های سطح بالا میباشد.

در مقابل ، اینتل خصوصی پردازنده های خیر هسته ای و 16 فن ای Core i9 – 9900K را ارائه می‌دهد. این موسسه آن را تحت عنوان “شایسته ترین پردازنده بازی در دنیا” تبلیغ می نماید.

سرعت

همت پردازنده از لحاظ سرعت کلاک یا این که سرعت کلاک اندازه گیری می گردد. این عدد به گیگاهرتز (گیگاهرتز) ذکر می‌گردد و به شما می‌گوید که پردازنده با چه سرعتی قادر است اطلاعات را پردازش نماید.

نرخ کلاک فراتر بدین مضمون‌ میباشد که CPU می‌تواند وظایف را عالی اعمال دهد. با این درحال حاضر ، کارداران دیگری مثلا تعداد هسته ها و سرعت پردازنده برای پردازش آیین نامه ها نیز می‌توانند بر سعی پردازنده تأثیر بگذارند.

برای پردازنده های سطح تحت ، سبک های Ryzen 3 به طور تقریبً به به عبارتی سرعت پردازنده های Intel می باشند. از جمله Core i3 8350K دارنده بالاترین نرخ کلاک در‌این محرمانه با سرعت 4.0 گیگاهرتز میباشد ، در حالی که سبک های Ryzen 3 2300X و 220G سرعت قابل مقایسه 3.5 گیگاهرتز را ارائه میدهند.

سرعت کلاک برای پردازنده های در بین مقام AMD با Ryzen5 2600E از 3.1 گیگاهرتز شروع میشود. در‌صورتی‌که ، اینتل با Core i5 8500T با سرعت کمتری و حدود 1.7 گیگاهرتز آغاز می شود.

ولی اینتل سرعت بالاتری را برای تراشه های لاکچری و مالامال توان Core i7 و i9 خویش ارائه میدهد. سبک هایی از محرمانه i9 وجود دارا‌هستند که دارنده سرعت قابل مقایسه با مثال های Ryzen Threadripper خویش میباشند.

با این درحال حاضر ، برای این خط ، پردازنده های Ryzen در مقابل پردازنده های اینتل مالامال مصرف خیس و هنگفت خیس می‌باشند . براین اساس ، در حالتی‌که میخواهید CPU توسعه یافته ای داشته باشید که با سرعت بالا عمل نماید ، ولی در عین هم اکنون معدود مصرف باشد ، خوب میباشد با اینتل یاروهمدم گردید.

بازدید : 14
يکشنبه 4 خرداد 1404 زمان : 13:50


مراد از مشی در نرم‌افزار نویسی شی گرا چیست؟
«سیاق‌ها» (Methods) برای تعریف و تمجید خوی یا این که عملی در پوسته توابع باطن کلاس شی تمجید می گردند. متدهای کلاس فقط برای اشیاء به عبارتی طراحی اپلیکیشن در مشهد کلاس در دسترس می باشند.


کلیک نمایید
با به کار گیری از متدها می‌اقتدار داده ها شی را تغییر و تحول بخشید یا این که فقط اطلاعاتی را در خروجی چاپ کرد. برای مثال، در کلاسDog می‌قدرت متدهای مختلفی نظیر تکان کردن، پارس کردن و دویدن را پیاده‌سازی کرد که با کوشش شی در خصوص میباشد.

معنی وراثت در لهجه جاوا
فهم و شعور معنا «وراثت» (Inheritance) در لهجه جاوا به استخراج فیض خوب در نقشه منش یادگیری اپلیکیشن نویسی اندروید با جاوا امداد می‌نماید. وراثت یک کدام از خصوصیت‌های اساسی لهجه‌های اپ نویسی شی‌گرا میباشد.


فرمائید
وراثت در اپ نویسی بسیار در حدود معنی شبیه آن در دنیای حقیقی و واقعی میباشد. همانگونه که در دنیای حقیقی فرزندان، صفات و خصوصیت‌هایی را از پدر و مادر خویش به ارث میبرند، در دنیای نرم افزار نویسی نیز کلاس‌ها با استعمال از مضمون‌ وراثت می توانند خوی و صفات کلاس‌های والد را ارث‌بری نمایند. برای شعور خوب مضمون‌ وراثت موردها پایین را در لحاظ بگیرید.

گاو یک نوع حیوان میباشد.
گربه یک نوع حیوان میباشد.
سگ یک نوع حیوان میباشد.
در تصویر ذیل، کلاس حیوان دارنده ۳ کلاس تحت دسته میباشد که از آن ارث‌بری می‌نمایند.


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

گاو حیوانی از مجموعه پستانداران میباشد.
گربه حیوانی از گروه پستانداران به حساب می آید.
سگ حیوانی از مجموعه پستانداران میباشد.
در غایت، حالت کلاس‌ها به طور پایین خواهد بود. اما قابلیت بسط این تیم‌بندی نیز وجود داراست.


در دنیای اپلیکیشن نویسی هر مورد از تیم‌های حیوان و پستانداران را می‌قدرت تحت عنوان کلاسی جدا در حیث گرفت که در آن کلاس پستانداران از کلاس حیوان ارث‌بری می‌نماید. در‌این نمونه کلاس پستانداران خلال خصوصیت‌های خویش، مجموع مختصات و کردار‌های کلاس حیوان را نیز در بردارد.

مقاله پیشنهادی: شی گرایی چیست ؟ — در اپلیکیشن نویسی و به لهجه معمولی
مثالی از وراثت در نرم افزار نویسی اندروید با جاوا
درین نصیب معنی وراثت در نرم‌افزار نویسی اندروید با جاوا گزینه پژوهش قرار خواهد گرفت. برای این مراد، آغاز کلاسی با نامFish می بایست تعریف و تمجید کرد که دارنده خصوصیاتی نظیرmSpecies ،mColor وmSize برای انتخاب سیرتکامل، رنگ و اندازه باشد.

کلیک نمائید
خلال این، برای انتخاب اخلاق و رفتار‌های موجودیت متبوع بایستی توابعsleep() ،eat() وmakeBabyFish() را نیز برای این کلاس تمجید کرد. در فیض، هر موجودیت تعریف‌و‌تمجید گردیده از کلاسFish ضمن داشتن مختصات فوق، خلق‌های تعریف و تمجید گردیده را نیز خواهد داشت. پیرو، مثال کد متبوع برای کلاسFish ارائه گردیده است.

1public class Fish {
2 private String mSpecies;
3 private String mColor;
4 private int mSize;
5 Fish() {
6 // generic fish
7 mSpecies = "unknown";
8 mColor = "unknown";
9 mSize = 0;
10 }
11 Fish(String species, String color, int size) {
12 mSpecies = species;
13 mColor = color;
14 mSize = size;
15 }
16 public void eat() {
17 // eat some algae
18 };
19
20 public void eat(Fish fishToEat) {
21 // eat another fish!
22 };
23
24 public void sleep() {
25 // sleep
26 };
27
28 public void makeBabyFish(Fish fishSpouse, int numBabies) {
29 // Make numBabies worth of baby fish with Fish spouse
30 };
31}
مشاهده بی نقص کدها
همان گونه که پیش‌خیس نیز ذکر شد، کلاس‌ها را می‌اقتدار به طور سلسه مراتبی سازمان‌دهی کرد. دراین‌صورت، کلاس‌های پایین تیم ضمن داشتن خصوصیت‌های اختصاصی‌به‌شخص خویش، توانگری ارث‌بری ویژ‌گی‌ها و ویژگی‌های کلاس والد را خواهند داشت. برای این مراد کلاس جدیدی با نامSaltwaterFish که معرف ماهی‌های آب پر نمک میباشد را با به کار گیری از واژه و کلمه کلیدیextends می‌قدرت از کلاسFish مشتق کرد. مثال کد مرتبط با این قسمت در زیر اورده شده میباشد.


1public class SaltwaterFish extends Fish
2{
3 @Override
4 public void makeBabyFish(Fish fishSpouse, int numBabies) {
5 // call parent method
6 super.makeBabyFish(fishSpouse, numBabies);
7 // eat mate
8 eat(fishSpouse);
9 }
10}

در مثال کد بالا، کلاسSaltwaterFish از کلاس Fish ارث‌بری می‌نماید. در فیض، موجودیت‌های تولید گردیده از کلاسSaltwaterFishتمام خصوصیت‌ها و ویژگی‌های کلاس Fish را نیز دارا‌هستند.

کاربرد اینترفیس در نرم‌افزار نویسی اندروید با جاوا چیست؟
لهجه نرم‌افزار نویسی جاوا از «وراثت چندگانه» (Multiple Inheritance) امان نمی‌نماید.


کلیک نمائید
برای فهم عالی وراثت چندگانه به تصویر تحت اعتنا نمائید.


در مثال کد بالا کلاس‌هایA وB از کلاس والد مشتق گردیده‌اند. در‌حالتی که که نیاز باشد کلاسC نیز از کلاس‌هایA وB ارث‌بری نماید، به جهت عدم حمایت لهجه جاوا از ارث‌بری چندگانه اپ مبتلا غلط گردد.

کلاس‌ها در جاوا قابلیت وسیع ساختن بیشتراز یک کلاس را در یک «مثال» (Instance) ندارند. برای رفع این خلل در جاوا قابلیت و امکان اینترفیس ارائه شد‌ه‌است. از اینترفیس‌ها در جاوا برای پیاده‌سازی خلق شی به کار گیری می‌گردد، در حالی که کلاس‌ها شی را تعریف و تمجید می‌نمایند. در مثال کد ذیل، اینترفیسSwimmer برای تعریف‌و‌تمجید چندین خلق ارائه شد‌ه‌است.

1public interface Swimmer
2{
3 public void startSwimming();
4 public void stopSwimming();
5 public void dive();
6 public void surface();
7}

برای پیاده‌سازی اینترفیس در کلاس بایستی از کلمه و واژه کلیدیimplements استفاده نمود.

1public class Fish implements Swimmer {
2 // In this implement class, we then provide implementations of the four methods within the Swimmer interface
3
4 public void startSwimming() {
5 System.out.println("I am now swimming");
6 }
7
8 public void stopSwimming() {
9 System.out.println("I have now stopped swimming");
10 }
11
12 public void dive() {
13 System.out.println("I just dove into the water");
14 }
15
16 public void surface() {
17 System.out.println("I am now at the surface");
18 }
19}
مشاهده بی نقص کدها
در مثال کد بالا، کلاسFish اینترفیسSwimmer را پیاده‌سازی می‌نماید.

مقاله پیشنهادی: اینترفیس در جاوا چیست؟ — مضمون‌، کاربرد و طراحی Java Interface
مزایا و معایب لهجه اپلیکیشن نویسی جاوا
بعداز آن که لهجه اپ نویسی جاوا معرفی شد و خصوصیت‌ها و قابلیت و امکان‌های آن نیز گزینه رسیدگی قرار گرفتند.


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

بازدید : 13
شنبه 3 خرداد 1404 زمان : 17:52


رویه های ارتقا امنیت نرم افزار
به‌دنبال به شیوه های ارتقاء امنیت نرم افزار می پردازیم:

نصب و فعالسازی ssl
گواهینامه ssl با به کارگیری از طریق‌های منحصربه‌فرد خویش در رمزگذاری، منجر میشود تا به سهل‌ترین صورت ممکن بتوانید داده ها یک نرم افزار طراحی اپلیکیشن در مشهد را جا به جا نمایید.

پژوهش مسیر هکرها
هنگامی که پیشرفت‌دهنده یک نرم افزار، خویش را در موضع هکر قرار دهد؛ میتواند کلیه حفره‌های امنیتی را کشف کرده و از این‌راه، امنیت نرم افزار خویش را ارتقاء دهد.

تحقیق و رسیدگی سندهای امنیتی نرم افزار
خوب میباشد تا هنگام نصب یک نرم‌افزار، به مجوزهای درخواستی آن دقت بدون نقص داشته باشید و هرگونه مجوزی را تائید نکنید.

آزمایش ورقه ورود نرم افزار و رفع باگ‌ها
اکثری از باگ‌هایی که به ظواهر معمولی و بی‌آزار می باشند، تبدیل به محلی برای ورود هکرها گردیده و منش را برای ورود آن ها هموار می‌نمایند. با آزمایش کاغذ ورود و رفع باگ‌ها، می‌اقتدار امنیت نرم افزار را به شکلی بسیار بی آلایش تغییر و تحول اعطا کرد.

به کار گیری از DNS برای جابجایی داده ها
پروتکل دی ان اس، دامنه‌ای میباشد که می‌قدرت توسط آن ردیابی مسیر دستگاه ورودی را برای دیگر افراد ناممکن ایجاد کرد. هنگامی که شخصی نتواند مسیر شمارا پیش بینی بزند، هک کردن دستگاه و نرم افزار شما برای وی مشقت بار گردد.

به کارگیری از درگاه های بانکی دارای اعتبار
اکثر وقت ها کسانی که در دام هکرها اسیر می شوند، استدلال غلط خویش را درگاه‌های بانکی فیک و نامعتبر معرفی می‌نمایند.

تحقیق بیشتر : فعال‌ساز‌ی نرم افزار

کدام لایه های نرم افزار نیاز به امنیت دارا هستند؟
لایه خدمت تحت عنوان اولی لایه: او‌لین لایه‌ای که مراجعین وبسایت با آن مواجه میشوند؛ لایه خدمت خواهد بود و صاحبین وب سایت بایستی در اولی گام، نسبت به پشتیبانی امنیت آن مبادرت کنند.
لایه دسترسی تحت عنوان دومی لایه: بخشی که به واسطه آن مسئولین و یوزرها تارنما به داده ها آن از روش این نصیب دسترسی پیدا می‌نمایند؛ دومی لایه خواهد بود و مراقبت از آن از التفات بسیار بالایی برخوردار‌است.
لایه جابجایی داده ها تحت عنوان سو‌مین لایه: داده ها متعدد یک تارنما، اعم از اصلی و بی‌بها، کاملا از روش لایه سوم منتقل گردیده و در صورتیکه هکری چیره به هک کردن این لایه خواهد شد، میتواند کلیه داده‌های تارنما شمارا تغییر‌و تحول داده و از آن به عایدی خویش به کارگیری نماید.
معرفی ابزارهای آزمایش امنیت کانال
نرم افزار‌ها و ابزارهای بسیار متعددی برای آزمایش کردن امنیت یک نرم افزار یا این که وب سایت وجود دارا‌هستند که مراجعین و مسئولان یک نرم افزار، می توانند با به کارگیری از آنان امنیت نصیب‌های متعدد یک پروژه را محک زده و حتی خطاها متعدد آن را به شل‌ترین صورت ممکن پیدا نمایند. درپی دو گزینه از شایسته ترین اپلیکیشن‌ها برای برقراری امنیت نرم افزار را به شما معرفی کرده و مکانیسم گوناگون آن را به شما یادگرفتن می دهیم.

Mobile Security Framework: اپ تلفن همراه سکوریتی کادر‌ورک، یک کدام از ابزارهای اتوماتیک و بسیار گزینه به کار گیری در تحقیق امنیت نرم افزار به حساب می آید. شما با به کار گیری از این نرم افزار میتوانید نسبت به پیاده سازی نرم افزار خویش داده ها جدیدتر و بهتری حصول کرده و ایرادات متعدد آن در نصیب‌های متعدد را به بی آلایش‌ترین و شایسته ترین صورت ممکن کشف نمائید.

Android Debug Bridge: این اپ یک نرم افزار جداگانه محسوب نشده و یک قسمت از سیستم‌ استدلال‌های متفاوت به حساب می آید. این ابزار یک وسیله تمامی جانبه محسوب می‌شود که میتواند به شما در فرآیند رئیس کردن یک نرم‌افزار و نرم افزار اندروید امداد کرده و خصوصیت‌های متفاوت آن را از نگاه امنیتی برای ما رسیدگی کند. این نرم افزار همان گونه که از نامش پیدا میباشد، پلی بین اندروید و کامپیوتر را ساخت‌و‌ساز کرده و باعث می گردد تا شما بتوانید به شایسته ترین صورت ممکن داده ها خویش را در بین این دو دستگاه، منتقل فرمائید.

تعداد صفحات : 90

درباره ما
موضوعات
آمار سایت
  • کل مطالب : 905
  • کل نظرات : 0
  • افراد آنلاین :
  • تعداد اعضا : 0
  • بازدید امروز :
  • بازدید کننده امروز : 1
  • باردید دیروز :
  • بازدید کننده دیروز : 0
  • گوگل امروز :
  • گوگل دیروز :
  • بازدید هفته :
  • بازدید ماه :
  • بازدید سال :
  • بازدید کلی :
  • <
    پیوندهای روزانه
    اطلاعات کاربری
    نام کاربری :
    رمز عبور :
  • فراموشی رمز عبور؟
  • خبر نامه


    معرفی وبلاگ به یک دوست


    ایمیل شما :

    ایمیل دوست شما :



    لینک های ویژه