جستجو برای:
سبد خرید 0
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
ورود
گذرواژه خود را فراموش کرده اید؟
عضویت

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

ارسال مجدد کد یکبار مصرف (00:60)
  • 02188945907
  • info@amooznegar.com
  • لیست علاقه مندی ها
آکادمی آموزنگار
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

آکادمی آموزنگار > اخبار > برنامه نویسی > اندروید > 10 کتابخانه برتر اندرویدی که هر برنامه نویس اندروید باید بداند

10 کتابخانه برتر اندرویدی که هر برنامه نویس اندروید باید بداند

1398-11-30
ارسال شده توسط آموزنگار
اندروید
کتابخانه برتر اندرویدی

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

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

  1. Retrofit

Retrofit یک سرویس گیرنده امن HTTP است که به شما اجازه می‌دهد تا REST API را به عنوان یک رابط تعریف کنید . شما می‌توانید درخواست API بدنه ، headers ، پارامترهای پرس و جو و موارد دیگر را با استفاده از annotations دستکاری کنید ، این امر باعث می شود همه چیز تمیز و ساده شود. همچنین Retrofit امکان اجرای فراخوانی API همزمان و ناهمزمان را می دهد.

retrofit در اندروید
interface ApiService {
  @GET("movie/{id}")
  fun getMovieDetails(@Path("id") id: String) : Call<MovieDetails>
}

برای انجام این کار , Retrofit یک ماژولRx  جداگانه پیشنهاد می‌دهد . اگر از Rx استفاده می کنید ، این ماژول فراخوانی   API را به عنوان Observable برمی گرداند ، بنابراین می توانید آن را با بقیه برنامه خود متصل کنید.

اینها تنها چند دلیل برای استفاده از Retrofit است .

  1. Moshi

Moshi کتابخانه‌ای است که JSON را به جاوا و Kotlin تبدیل می‌کند . بسیاری از مردم به Moshi به عنوان GSON 3.0 اشاره می‌کنند . این کتابخانه نسبت به GSON در چندین جنبه برتری دارد: سریعتر است ، از Kotlin پشتیبانی و آن را حفظ می کند، استثنائات قابل پیش بینی را به همراه می آورد و به طور پیش فرض از آداپتور DateTime منقضی استفاده نمی کند. علاوه بر این، تبدیل JSON به جاوا (و بالعکس) با Moshi ساده است.

moshi در اندروید

val moshi = Moshi.Builder().build()
val jsonAdapter = moshi.adapter(Model::class.java)
 
/* JSON to Model */
val model = jsonAdapter.fromJson(json)
 
/* Model to JSON */
val json = jsonAdapter.toJson(model)

ما همچنین Moshi را بخاطر پشتیبانی از JSON API تحسین می کنیم. JSON API مشخصات مربوط به ساخت API است و بسیاری از API ها با استفاده از این ویژگی‌ها نوشته شده‌اند . Moshi JSON API زندگی ما را آسان تر می کند زیرا پاسخ JSON API را به اشیاء معنادار Java تبدیل می کند. Retrofit همچنین از Moshi پشتیبانی و با هم کار می‌کنند .

  1. Chuck

Chuck یک بازرس HTTP برای اندروید است که امکان می دهد تاریخچه HTTP برنامه خود را بر روی تلفن همراه ببینید. فایل HTTP به عنوان یک اعلان نمایش داده می‌شود ، که شما می‌توانید برای باز کردن رابط Chuck UI، آن را گسترش دهید . زمانی که از Chuck استفاده می‌کنید , تیم تضمین کیفیت شما را تحسین خواهد کرد در حالی که آن‌ها قادر خواهند بود ببینند، آیا یک مساله بر روی اندروید یا backend ادامه دارد یا خیر.

این کتابخانه گاهی از logcat نیز مفیدتر است . به این دلیل است که تاریخچه HTTP شما حتی اگر برنامه پایان پذیرد همچنان ادامه دارد ، در حالی که logcat پس از راه اندازی مجدد برنامه ، تاریخچه خود را پاک می کند.

  1. Glide

همانطور که می‌دانید ، بارگذاری تصویر در اندروید و مدیریت تصویر API بسیار وحشتناک است . این یک کابوس است که حتی اندازه تصویر را بدون گرفتن ” OutOfMemoryException ” تغییر داد. Glide یک کتابخانه بارگذاری تصویری است که API خوبی را در معرض نمایش قرار می دهد و به شما این امکان را می‌دهد که تصویر خود را هرچقدر که می خواهید تغییر دهید.

GlideApp.with(context)
  .load(url)
  .centerCrop()
  .placeholder(R.drawable.ic_placeholder)
  .into(imageView)

این کتابخانه به شما این امکان را می‌دهد که یک تصویر را در ImageView بارگذاری کنید، تصاویر پشتیبان را تعریف کنید ، حافظه پنهان را ذخیره کرده و تصاویر خود را اندازه بگیرید و…. سعی کنید تمام این کارها را بدون Glide انجام دهید، به سرعت خواهید فهمید که چرا این کتابخانه، کتابخانه اصلی ما شده است.

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

Glide حتی از برخی تحولات رایج مانند یک تصویر دایره ای خارج از کادر نیز پشتیبانی می‌کند .

  1. ThreeTen

ThreeTen یک کتابخانه تاریخ و زمان برای اندروید است. این یک قانون از JSR-310 است ، که در جاوا 8 به عنوان یک بسته استاندارد ” java.time.*” درج شده است. ما این کتابخانه را دوست داریم زیرا استاندارد API تقویم اندروید کابوسی برای این کار است.

/* Current DateTime */
LocalDateTime.now()
 
/* String to DateTime */
val localDateTimeString = "2011-12-03T10:15:30"
val localDateTime = LocalDateTime.parse(localDateTimeString)

ThreeTen از لحاظ تعداد و اندازه باینری بسیار کوچک‌تر از JodaTime است . API آن نیز کوتاه تر نسبت به API JodaTime است. اگر در حال حاضر از JodaTime استفاده می‌کنید ، ارزش تعویض به ThreeTen را ندارد. با این حال ، اگر یک پروژه جدید را شروع می‌کنید ، توصیه می‌کنم که به جای آن ThreeTen را امتحان کنید .

  1. Timber

Timber کتابخانه قدرتمند و در عین حال ساده است ، که در بالای کلاس ” Log” اندروید ساخته شده است و این امکان را به شما می دهد تا ورود به سیستم را به راحتی روشن یا خاموش کنید. هم چنین پشتیبانی خوبی را برای رشته‌ها و استثناها پیشنهاد می‌کند . به خاطر همه این مزایا ، Timber یکی از کتابخانه های اصلی است که تقریباً در تمام پروژه های Android خود استفاده می کنیم.

/* Log error */
Timber.e("Error happened")
 
/* Log warning with params */
Timber.w("Your variable value is %s", variable)
 
/* Log exception */
try {
  ...
} catch (e: Exception) {
  Timber.e(e)
}
  1. Room

Room یک ORM رسمی اندروید است و دلایل مختلفی برای این وضعیت وجود دارد. این کتابخانه دارای یک API زیبا است که مشابه Retrofit است. همچنین به شدت وابسته به تفسیر و نحو استاندارد SQL است.

Room در اندروید

علاوه بر این ، Room  از پشتیبانی خارجی Rx و “LiveData” استفاده می کند ، بنابراین می توانید تصمیم بگیرید به هر صورت که دوست دارید از آن استفاده کنید. مزیت اصلی Room نسبت به سایر ORM ها، سادگی آن است . ORM‌های دیگر با api های بسیار پیچیده‌تر نیاز به خواندن تمام مدارک، قبل از استفاده از آن‌ها را دارد. به لطف نحو استاندارد sql , درک Room بسیار آسان است و به شما اجازه می‌دهد بدون صرف زمان برای خواندن مستندات از آن استفاده کنید.

  1. RxJava

RxJava یک کاربرد جاوا از  ReactiveX APIاست که به شما اجازه می‌دهد تا وظایف و رویداده‌ای غیر همزمان را به توالی‌ های قابل‌ مشاهده متصل کنید. کاربران انتظار دارند برنامه های مدرن، داده ها را در زمان واقعی نمایش دهند. به عبارت دیگر ، آن‌ها می‌خواهند به طور خودکار اطلاعات به روز را ببینند . این جایی است که RxJava می‌تواند به آن کمک کند.

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

Single.zip(
  /* Execute first API call and retry twice if it fails */
  apiService.getMovieActors(id).retry(2),
  /* Execute second API call and retry twice if it fails */
  apiService.getMovieDetails(id).retry(2),
  /* Receive successful results and merge them into single model */
  BiFunction<List<Actor>, MovieDetails, Movie> { actors, details -> Movie(details, actors) }
)
  /* Execute API calls on IO thread */
  .subscribeOn(Schedulers.io())
  /* Receive results on MainThread */
  .observeOn(AndroidSchedulers.mainThread())
  .subscribeBy(
    onError = { /* Handle error */ },
    onSuccess = { /* Handle full movie data */ }
  )

سعی کنید چیزی ساده مشابه موارد فوق را با Java انجام دهید. آیا جرات می‌کنید!

  1. Android KTX
آشنایی با برنامه نویسی واکنش گرا RxJava، RxAndroid در اندروید
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

Android KTX مجموعه ای از بسط های Kotlin است که API Android  را کاربرپسند تر می کند. هدف کلی این کتابخانه ساخت api های android است . این روش بسیاری از روش‌ها و مشخصه‌های جدید مانند پارامترهای اسمی ، lambdas و مقادیر پیش‌فرض را اضافه می‌کند .

/* Display View */
view.isVisible = true
 
/* Apply padding to all sides */
view.setPadding(padding)
 
/* Update padding on any side */
view.updatePadding(left = newPadding, right = newPadding)
 
/* Quick Toast */
toast("Display test toast")
 
/* New way to create bundle */
bundleOf {
  "key1" to item1
  "key2" to item2
}
 
/* Better way to use SharedPreferences */
sharedPreferences.edit {
  putString("key1", "value1")
  putString("key2", "value2")
}

Android KTX دارای ویژگی های زیادی است و تنها راه برای یادگیری آن، جستجو در کد کتابخانه و دیدن API Android است. این کتابخانه روشی را که ما از API اندروید استفاده می‌کنیم تغییر می‌دهد و به همین دلیل باید به هر برنامه اندرویدی که در کاتلین نوشته می شود، تبدیل شود.

  1. Dagger

بدون Dagger ، فهرست ۱۰ کتابخانه برتر ما ناقص خواهد بود . Dagger کاملاً استاتیک است و چارچوب injection  آن وابسته به کامپایل زمان است. مشابه با (RxJava )، درک آن  واقعا ً دشوار است (برای من کمی طول کشید تا مثال coffeemaker را درک کنم ) ، اما به طور کامل ارزش زمان و تلاش شما را دارد .

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

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

در سال گذشته ، گوگل یک ماژول جداگانه Android Dagger را در اختیار شما قرار داد ، که به شما امکان می داد کد کمتری از boilerplate بنویسید و وابستگی آسان‌تر شود .

نتیجه‌گیری

در این مقاله  فهرست ۲۰۱۸ از ۱۰ کتابخانه برتر اندروید را معرفی کردیم . این ده گزینه برتر باعث می‌شود تولید اندروید برای هر کسی که از آن‌ها استفاده می‌کند بسیار لذت بخش باشد . به دنبال گزینه‌های بیشتر هستید ؟ ما در Infinum برخی از کتابخانه‌های اندروید خودمان را توسعه داده‌ایم . آن‌ها را بررسی کنید :

MjolnirRecyclerView :

گسترش RecyclerView با پشتیبانی از هدرها ، پاورقی ها ، نمای خالی و DiffUtils.

Goldfinger :

تایید هویت اثر انگشت را ساده می کند.

DBInspector :

پایگاه داده های برنامه خود را مشاهده و به اشتراک بگذارید.

Complexify :

روشی آسان برای بررسی کیفیت رمز عبور کاربر.

Prince of Versions:

به روزرسانی های برنامه را در داخل برنامه کنترل کنید.

قبلی کتابخانه Native Base در React Native
بعدی پخش ویدیو در اندروید با  Exo Player

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • GoLang
  • jetpack compose
  • PHP
  • اپلیکیشن
  • امنیت
  • اندروید
  • اوپن سورس
  • برنامه نویسی
  • برنامه نویسی iOS
  • برنامه نویسی react native
  • پادکست صوتی
  • تکنولوژی
  • جاوا
  • طراح رابط کاربری
  • طراحی رابط کاربری
  • طراحی وب
  • عمومی
  • فریلنسر
  • فلاتر
  • فناوری
  • کاتلین
  • کتاب های آموزشی
  • کسب و کار
  • هوش مصنوعی
  • وردپرس
برچسب‌ها
admob coroutine dagger dagger-hilt jetpack nft rxandroid rxjava spring swift ارز دیجیتال امنیت در اندروید دارت فایربیس فوشیا مصاحبه کاری معماری mvi نقشه راه برنامه نویسی کاتلین گوگل

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

دسترسی سریع
  • درباره ما
  • تماس با ما
  • حریم خصوصی
  • سوالات متداول
نمادها
شبکه های اجتماعی
Facebook Twitter Youtube icon--white Whatsapp

تهران، میدان ولی عصر،خیابان شهیدان سازش،کوچه سوم پلاک 5 طبقه سوم واحد 31

021-88945907

تمامی حقوق برای آکادمی آموزنگار محفوظ می باشد

اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://amooznegar.com/?p=10652
  • Afghanistan (+93)
  • Albania (+355)
  • Algeria (+213)
  • American Samoa (+1)
  • Andorra (+376)
  • Angola (+244)
  • Anguilla (+1)
  • Antigua (+1)
  • Argentina (+54)
  • Armenia (+374)
  • Aruba (+297)
  • Australia (+61)
  • Austria (+43)
  • Azerbaijan (+994)
  • Bahrain (+973)
  • Bangladesh (+880)
  • Barbados (+1)
  • Belarus (+375)
  • Belgium (+32)
  • Belize (+501)
  • Benin (+229)
  • Bermuda (+1)
  • Bhutan (+975)
  • Bolivia (+591)
  • Bonaire, Sint Eustatius and Saba (+599)
  • Bosnia and Herzegovina (+387)
  • Botswana (+267)
  • Brazil (+55)
  • British Indian Ocean Territory (+246)
  • British Virgin Islands (+1)
  • Brunei (+673)
  • Bulgaria (+359)
  • Burkina Faso (+226)
  • Burundi (+257)
  • Cambodia (+855)
  • Cameroon (+237)
  • Canada (+1)
  • Cape Verde (+238)
  • Cayman Islands (+1)
  • Central African Republic (+236)
  • Chad (+235)
  • Chile (+56)
  • China (+86)
  • Colombia (+57)
  • Comoros (+269)
  • Cook Islands (+682)
  • Côte d'Ivoire (+225)
  • Costa Rica (+506)
  • Croatia (+385)
  • Cuba (+53)
  • Curaçao (+599)
  • Cyprus (+357)
  • Czech Republic (+420)
  • Democratic Republic of the Congo (+243)
  • Denmark (+45)
  • Djibouti (+253)
  • Dominica (+1)
  • Dominican Republic (+1)
  • Ecuador (+593)
  • Egypt (+20)
  • El Salvador (+503)
  • Equatorial Guinea (+240)
  • Eritrea (+291)
  • Estonia (+372)
  • Ethiopia (+251)
  • Falkland Islands (+500)
  • Faroe Islands (+298)
  • Federated States of Micronesia (+691)
  • Fiji (+679)
  • Finland (+358)
  • France (+33)
  • French Guiana (+594)
  • French Polynesia (+689)
  • Gabon (+241)
  • Georgia (+995)
  • Germany (+49)
  • Ghana (+233)
  • Gibraltar (+350)
  • Greece (+30)
  • Greenland (+299)
  • Grenada (+1)
  • Guadeloupe (+590)
  • Guam (+1)
  • Guatemala (+502)
  • Guernsey (+44)
  • Guinea (+224)
  • Guinea-Bissau (+245)
  • Guyana (+592)
  • Haiti (+509)
  • Honduras (+504)
  • Hong Kong (+852)
  • Hungary (+36)
  • Iceland (+354)
  • India (+91)
  • Indonesia (+62)
  • Iran (+98)
  • Iraq (+964)
  • Ireland (+353)
  • Isle Of Man (+44)
  • Israel (+972)
  • Italy (+39)
  • Jamaica (+1)
  • Japan (+81)
  • Jersey (+44)
  • Jordan (+962)
  • Kazakhstan (+7)
  • Kenya (+254)
  • Kiribati (+686)
  • Kuwait (+965)
  • Kyrgyzstan (+996)
  • Laos (+856)
  • Latvia (+371)
  • Lebanon (+961)
  • Lesotho (+266)
  • Liberia (+231)
  • Libya (+218)
  • Liechtenstein (+423)
  • Lithuania (+370)
  • Luxembourg (+352)
  • Macau (+853)
  • Macedonia (+389)
  • Madagascar (+261)
  • Malawi (+265)
  • Malaysia (+60)
  • Maldives (+960)
  • Mali (+223)
  • Malta (+356)
  • Marshall Islands (+692)
  • Martinique (+596)
  • Mauritania (+222)
  • Mauritius (+230)
  • Mayotte (+262)
  • Mexico (+52)
  • Moldova (+373)
  • Monaco (+377)
  • Mongolia (+976)
  • Montenegro (+382)
  • Montserrat (+1)
  • Morocco (+212)
  • Mozambique (+258)
  • Myanmar (+95)
  • Namibia (+264)
  • Nauru (+674)
  • Nepal (+977)
  • Netherlands (+31)
  • New Caledonia (+687)
  • New Zealand (+64)
  • Nicaragua (+505)
  • Niger (+227)
  • Nigeria (+234)
  • Niue (+683)
  • Norfolk Island (+672)
  • North Korea (+850)
  • Northern Mariana Islands (+1)
  • Norway (+47)
  • Oman (+968)
  • Pakistan (+92)
  • Palau (+680)
  • Palestine (+970)
  • Panama (+507)
  • Papua New Guinea (+675)
  • Paraguay (+595)
  • Peru (+51)
  • Philippines (+63)
  • Poland (+48)
  • Portugal (+351)
  • Puerto Rico (+1)
  • Qatar (+974)
  • Republic of the Congo (+242)
  • Romania (+40)
  • Reunion (+262)
  • Russia (+7)
  • Rwanda (+250)
  • Saint Helena (+290)
  • Saint Kitts and Nevis (+1)
  • Saint Pierre and Miquelon (+508)
  • Saint Vincent and the Grenadines (+1)
  • Samoa (+685)
  • San Marino (+378)
  • Sao Tome and Principe (+239)
  • Saudi Arabia (+966)
  • Senegal (+221)
  • Serbia (+381)
  • Seychelles (+248)
  • Sierra Leone (+232)
  • Singapore (+65)
  • Sint Maarten (+1)
  • Slovakia (+421)
  • Slovenia (+386)
  • Solomon Islands (+677)
  • Somalia (+252)
  • South Africa (+27)
  • South Korea (+82)
  • South Sudan (+211)
  • Spain (+34)
  • Sri Lanka (+94)
  • St. Lucia (+1)
  • Sudan (+249)
  • Suriname (+597)
  • Swaziland (+268)
  • Sweden (+46)
  • Switzerland (+41)
  • Syria (+963)
  • Taiwan (+886)
  • Tajikistan (+992)
  • Tanzania (+255)
  • Thailand (+66)
  • The Bahamas (+1)
  • The Gambia (+220)
  • Timor-Leste (+670)
  • Togo (+228)
  • Tokelau (+690)
  • Tonga (+676)
  • Trinidad and Tobago (+1)
  • Tunisia (+216)
  • Turkey (+90)
  • Turkmenistan (+993)
  • Turks and Caicos Islands (+1)
  • Tuvalu (+688)
  • U.S. Virgin Islands (+1)
  • Uganda (+256)
  • Ukraine (+380)
  • United Arab Emirates (+971)
  • United Kingdom (+44)
  • United States (+1)
  • Uruguay (+598)
  • Uzbekistan (+998)
  • Vanuatu (+678)
  • Venezuela (+58)
  • Vietnam (+84)
  • Wallis and Futuna (+681)
  • Western Sahara (+212)
  • Yemen (+967)
  • Zambia (+260)
  • Zimbabwe (+263)
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

آموزنگار

آکادمی آموزنگار

  • 021-88945907
  • شنبه تا چهارشنبه از ساعت 8 تا 17
  • info@amooznegar.com
ورود
استفاده از شماره تلفن
استفاده از آدرس ایمیل
آیا هنوز عضو نشده اید؟ ثبت نام کنید
بازیابی رمز عبور
استفاده از شماره تلفن
استفاده از آدرس ایمیل
ثبت نام
استفاده از شماره تلفن
استفاده از ایمیل
قبلا عضو شده اید؟ ورود به سیستم
محافظت توسط