Persian Software Engineers – Telegram
Persian Software Engineers
1.9K subscribers
353 photos
14 videos
84 files
303 links
تجربیات شخصی یک مهندس نرم افزار در آلمان‌.
کانال یوتیوب:
https://www.youtube.com/@Dev_Germany
ادمین کانال :
@mohamad_germany
Download Telegram
<ir.smartlab.persindatepicker.PersianDatePicker
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="40px"

android:id="@+id/calender"
app:displayMonthNames="true"/>
این کد رو در انتخای سایر تگها اضافه کنید یا هرجا میخواید

صفتها رو که میشناسید. این تقویم خودش به تنهایی یک سری صفتهای جدید داره. مثلا displayMonthName برای این هست که در ماه ها به جای عدد اسامی ماه ها رو بگه.
یا selected year، selected month و selected year برای این هست که بصورت دیفالت چه تاریخی انتخاب شود در غیر اینصورت تاریخ روز نمایش داده میشود. همچنین با min Year و Max Year میتونید رنج زمانی رو تعیین کنید.

زمانی که به بحث ذخیره سازی در SQLITE رسیدیم با کدنویسی این تقویم اشنا میشید.
برای اینکه یک عنوان بذارم برای تقویم از تگ زیر استفاده کردم در بالای تگ تقویم (layout ما linear است):
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="right"
android:text="تاریخ تولد"
android:textSize="30sp"
android:layout_marginTop="20dp"

/>
تقویم به صورت بالا هست👆👆👆
🔴کار با اینترنت
همونطور که اول آموزش گفتم در این جلسه قصد دارم یک مبحث مهم رو برای شما شروع کنم. با هدفه اینکه در کنار دکمه های ارسال پیامک و تماس دکمه ارسال ایمیل هم بذاریم.
خب میتونید یک پروژه مجزا باز کنید (یا داخل پروژه فعلی یک صفحه و اکتیویتی دیگه تعریف کنید) تا یک سری کد رو تست کنیم


1)باز کردن یک صفحه اینترنت:
بطور مثال من در یک پروژه که فایل اون رو در اختیارتون میگذارم، یک دکمه به نام button ایجاد کردم. میخوام این دکمه هنگامی که زده شد یک صفحه اینترنتی باز بشه
خب به ادامه کار برسیم. در ابتدا میخواهیم متصل بودن دستگاه به اینترنت رو بررسی کنیم:

❄️❄️❄️❄️❄️❄️❄️❄️
1-1)بررسی اتصال به اینترنت
برای انجام هرکار با اینترنت جهت جلوگیری از خطاهای احتمالی ابتدا باید بررسی کنیم ایا دستگاه به اینترنت متصل هست یا نه. پس در اکتیویتی در ابتدا دو کد زیر رو بنویسید.
Context myContext =this;
ConnectivityManager connectMngr = myContext.getSystemService(Context.CONNECTIVITY_SERVICE);

خب برای فهم کد بالا خیلی ساده بهش نگاه میکنیم. ابتدا Context تعریف کردیم و همانطور که قبلا گفتم این کلاس میشه گفت وضعیت کنونی رو به ما برمیگردونه. یک نمونه ازش گرفتم و مقدار اولیه اون رو برابر null گذاشتم.


بعد از آن از کلاس ConnectivityManager استفاده کردم. این کلاس مدیریتی از اتصالات دستگاه رو به ما میده. یک نمونه ازش گرفتم. برای مقدار دهی دقیقا این رو گفتم: "از وضعیت کنونی دستگاه، سرویس Connectivity رو از وضعیت دستگاه گرفته و اون رو بعنوان یک سیستم سرویس به من بده"


متد getSystemService، یک متد از context هست که یک ورودی میگیره و در نهایت با توجه به ورودی که بهش میدیم به ما اون سرویس رومیده. توجه کنید که خروجی این متد از نوع Object هست. پس باید از Cast کردن استفاده کنیم تا بتونیم مقدارش رو در connectMngr ذخیره کنیم:
ConnectivityManager connectMngr = (ConnectivityManager) myContext.getSystemService(Context.CONNECTIVITY_SERVICE);
خب تا الان ما تمام سرویس های Connect رو داخل connectMngr داریم. اما ما تنها الان اطلاعاتی از شبکه رو لازم داریم. که به این میگند NetworkInfo. پس کافیه کد زیر رو بنویسید تا از connectMngr اطلاعات شبکه رو گرفته و داخل یک شی از NetworkInfo ذخیره کنه:
NetworkInfo netInfo = connectMngr.getActiveNetworkInfo();


خب حالا برای بررسی شرط اتصال به اینترنت داخل متد Onclick کد زیر رو بنویسید:
if(netInfo == null || netInfo.isAvailable() == false || netInfo.isConnected() == false){
Toast.makeText(getApplicationContext(),"No Internet!",Toast.LENGTH_LONG);
}


اول از همه جهت یاداوری دوستان جهت بررسی یک شرط در جاوا (بیس اندروید) از if استفاده میکنیم.
If(some condition)
{ Do something }

جهت بررسی یک شرط در جاوا از if استفاده میکنیم و شرط مورد نظر داخل پرانتز قرار داده میشود. سپس بررسی میکنیم اگر شرطی برقرار است کارهای مورد نظر ما داخل {} نوشته میشود.
شرطهایی که بررسی کردیم
1)netInfo == null : اگر هیچ شبکه ای موجور نیست.
2)netInfo.isAvailable() == false: یعنی اگر شبکه فعال نیست
3)netInfo.isConnected() == false: یعنی اگر شبکه متصل نیست


این نکته رو هم بگم که در شرط ها اگر بین چند شرط "یا" برقرار بود یعنی در نظر داشتیم یکی از شرطها هم حتی اگر برقرار بود عملیات ما انجام شود، بین آنها علامت || میگذاریم.
همچنین اگر مورد نظر ما بود که تمام شرطها حتما برقرار باشند همزمان تا کاری را انجام دهیم، بین آنها && میگذاریم.


در اخر اینکه در بررسی شرطها علامت تساوی (آیا مساوی بودن!؟)
بصورت == قرار داده میشود
خب حالا بعد از بررسی شرط ها میخواهیم بگیم اگر یکی از اینها هم برقرار بود یعنی اینترنت متصل نیست، پس پیامی رو به کاربر نشون دادیم.
خب درغیر اینصورت اینترنت وصل هست پس میشه صفحه اینترنت رو باز کنیم.


حالا کد زیر رو اضافه کنید:
else {
Toast.makeText(getApplicationContext(),"You are Connectedd",Toast.LENGTH_LONG);
}
زمانی که شرطی رو بررسی میکنیم و میخوایم بگیم اگر if مطرح شده برقرار نبود در غیر اینصورت چکاری انجام بده، از else استفاده میکنیم.
فعلا داخل else نوشتم یک پیام نشون بده که به اینترنت متصل هستید.
❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️
2-1) تنها چیزی که نباید فراموش بشود اجازه گرفتن از کاربر هست. که میخواهیم از اینترنت اون فرد استفاده کنیم. این permission ها رو در manifest قرار بدید.
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

کافی هست از برنامتون اجرا بگیرید و تست کنید.

❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️
1-3)حالا در این مرحله باید داخل else صفحه مورد نظر را باز کنیم. اگر به یاد داشته باشید intent ها درخواست ما از اندروید بودند. درحال حاضر ما درخواست باز کردن یک صفحه وب رو داریم. از کد زیر استفاده میکنیم:
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(intent);
این نوع خاصی از intent هست. ورودی اول نوعش رو مشخص کرده و ورودی دوم یک متد هست به نام Parse. این متد در کلاس Uri قرار دارد. یک ورودی رشته ای (string) گرفته و اون رو تبدیل به یک uri معتبر میکند. در اخر هم Intent خود رو اجرا کردیم.
دوستان امیدوارم این جلسه مطالب مفید بوده باشه
در جلسه اینده به ادامه بحث اینترنت میپردازیم. به استفاده از webView و یک سری کاربردهاش
همچنین ارسال ایمیل
توصیه میکنم خودتون یک بررسی بکنید و تلاش بکنید در این دو موضوع. پس جستجو در اینترنت و استفاده از وبسایتی مثل
stackoverflow.com
فراموش نشود.😄
خسته نباشید✌🏻
قسمت های قبلی این آموزش رو می تونین با مراجعه به
https://telegram.me/androidi_bot?start
و مراجعه به بخش آموزش برنامه نویسی اندروید 💯->آموزش های خانم مقاری📕
دریافت کنین
#متریال_دیزاین_قسمت_سوم
#آقای_فلت
سلام دوستان بالاخره قسمت سوم آموزش متریال دیزاین هم آماده شد و در اختیارتون قرار می گیره با اشتراک گذاری این آموزش در گروهاتون از ما حمایت کنین .
@androiddevelop
سخن مدرس:
بخاطر مشکلات ویدیو واقعا معذرت میخوام روزی که این ویدیو رکورد شده سیستم من دچار مشکل شده بود.همچنین قسمت بعدی بخاطر امتحانات هفته ی اخر دی ماه رکورد میشه.

📢📢این آموزش به طور اختصاصی توسط تیم @AndroidDevelop و توسط اقای فلت آماده شده پس کپی رایت رو رعایت کنین .
قسمت های قبلی این آموزش رو می تونین با مراجعه به ربات ما دریافت کنین :
https://telegram.me/androidi_bot?start
Forwarded from Mohammad
آموزش برنامه نویسی اندروید از صفر تا صد @androiddevelop
دوستان برای حمایت از ما پست بالا رو به اشتراک بذارین برا دوستاتون اگر تعدا بازدید مطلب بالا زیاد باشه کار کانال ادامه داده میشه وگرنه با توجه به ریزش زیاد اعضا کار ما متوقف میشه 😞😞😞
#سورس_کد #رفع_باگ
🚀 یک سورپرایز ویژه 🚀
ممنون از حمایت دوستان و معرفی کانال ❤️❤️
با توجه به درخواست های کاربران از امشب تا مدت یک هفته به صورت آزمایشی می تونین از طریق مراجعه به <بخش ویژه❤️> در ربات اندرویدی ما به آدرس زیر
https://telegram.me/androidi_bot?start
با زدن دستور special/ در ربات به بخش ویژه هدایت میشین .

درخواست های زیر را داشته باشید:

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

درخواست رفع باگ پروژه

در مورد رفع باگ ابتدا در گروه پرسش و پاسخ که لینکش در گروه و ربات موجوده با دوستان مطرح کنین و اگر به نتیجه نرسیدین سپس به ربات مراجعه کنین ❤️.

📣 لازم به ذکر است هر دو روز یکبار جواب درخواست ها یکجا در کانال و ربات قرار می گیرد .

❤️این خدمات کاملا رایگان از سمت تیم AndroidDevelop به شما ارائه میشه پس با معرفی کانال به دوستانتون و انتشار بنر بالا 👆👆 در گروهاتون ما رو حمایت کنین .
با رسیدن اعضا به 8 k این طرح ادامه پیدا می کنه 🙏.
@androiddevelop