🔴 ANDROID PROGRAMMING CHANNEL
3.89K subscribers
417 photos
203 videos
391 files
309 links
🌀Channel :
➡️ https://telegram.me/AndroidStudyChannel
🌀Group :
➡️ https://t.me/+QE5EFwRKmt04NzZk

ادمین تبادل و تبلیغات : @n_h_raad
درخواست آموزش : @developerjavad
ابتدای کانال :
https://t.me/AndroidStudyChannel/5
Download Telegram
♣️ جدول کامل اسامی ورژن های مختلف اندروید
⭕️ @AndroidStudyChannel
This media is not supported in your browser
VIEW IN TELEGRAM
فیلم آموزش انیمیشن RecyclerView with animation in Android Studio:
فیلم آموزشی + سورس کد :
https://homeandroid.ir/recyclerview-with-animation
جدیدترین ورژن اندروید استودیو 2.3.3 همراه با اس دی کا sdk
هر دو پارت را دانلود سپس خارج کنید.
This media is not supported in your browser
VIEW IN TELEGRAM
فیلم آموزش آپدیت کردن اندروید استودیو
مجموعه قرار داد هایی که باید مهندسان نرم افزار با آن ها و میزان ریسک آن ها آشنا باشند❗️❗️

قرارداد ششم (قرارداد آخر) : قرار داد توسعه - راه اندازی - تحویل

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



🛑🛑🛑 🛑🛑🛑 🛑🛑🛑 🛑🛑🛑 🛑🛑🛑
@SystemAnalysis

قرار داد اول : https://t.me/SystemAnalysis/1626
قرار داد دوم : https://t.me/SystemAnalysis/1632
قرار داد سوم : https://t.me/SystemAnalysis/1666
قرار داد چهارم : https://t.me/SystemAnalysis/1672
قرارداد پنجم : https://t.me/SystemAnalysis/1711

تگ ها :
#ProjectManagement #Project #Risk
Forwarded from Deleted Account
#Android_Studio
#Activity
#Intent #Result #Bundle
#Save #Restore #State

اکتیویتی ها

بخش سیزدهم

❇️ جابجایی بین اکتیویتی ها

🌀 متد startActivityForResult

بر خلاف حالت قبل که در پست پیشین گفته شد، گاهی اوقات شما می خواهید تا پس از اینکه اکتیویتی جدیدی را اجرا کردید و کار با آن تمام شد، مقداری(نتیجه ای) از آن اکتیویتی برگردد. به عنوان نمونه، فرض کنید شما یک اکتیویتی را اجرا می کنید که به کاربر اجازه می دهد تا از بین افرادی که در لیست مخاطبین هستند، یک نفر را انتخاب کند.بنابراین هر زمان که اکتیویتی به پایان رسید، می بایست فرد انتخاب شده را به عنوان نتیجه برگرداند.برای انجام چنین کاری، باید از متد
startActivityForResult(Intent, int)
استفاده کنید. شما ممکن است از همین اکتیویتی فعلی تان، چندین بار ازین متد برای کارهای مختلف استفاده کنید و بدیهی است که نتایج مختلفی را از اکتیویتی ها دریافت کنید. بنابراین برای این که بین این نتایجِ دریافتی ابهامی به وجود نیاید و بتوانید تشخیص دهید که هر نتیجه مربوط به کدام عملیات و اکتیویتی می باشد، در این متد، پارامتر دوم که یک عدد صحیح است، به عنوان یک شناسه عمل می کند تا برای هر اجرایی که با این متد انجام می دهید، یک شناسه وجود داشته باشد و بتوانید بر اساس همین شناسه به نتایج مربوط دسترسی پیدا کنید. پس، در هر بار اجرای این متد، شما باید یک عدد منحصر به فرد به عنوان پارامتر دوم این متد انتخاب کنید. این شناسه، یک شناسه سراسری نمی باشد و با سایر اکتیویتی ها و برنامه ها ناسازگاری(تناقضی) ندارد.

در نهایت، نتیجه حاصل از این متد را می توان در متد
onActivityResult(int, int, Intent)
مدیریت کرد.

هنگامی که اکتیویتی فرزند(همان که توسط اکتیویتی دیگری اجرا شده است)، به پایان رسید، می تواند از طریق فراخوانی متد
setResult(int)
داده(نتیجه) مورد نظر را به اکتیویتی والد برگرداند. اکتیویتی فرزند، همیشه باید کدی را برای نتیجه آماده کند.این کد می تواند یکی از کدهای استاندارد نتایج باشد(هم چونRESULT_CANCELED وRESULT_OK) و یا هر مقدار دلخواه دیگر. افزون بر این ها، اکتیویتی فرزند می تواند به صورت اختیاری، از اینتنت برای برگرداندن داده ها استفاده نماید. اکتیویتی والد هم با استفاده از متد
onActivityResult(int, int, Intent)
و با استفاده از همان شناسه ای که گفتیم باید منحصر به فرد باشد، اطلاعات را از اکتیویتی فرزند می گیرد.

اگر اکتیویتی فرزند به هر دلیلی نتواند اجرا شود یا نتیجه برگرداند(مانند کِرَش کردن)، آنگاه اکتیویتی والد یک نتیجه با کدRESULT_CANCELED دریافت می کند.

👈 مثال:
public class MyActivity extends Activity {
...

static final int PICK_CONTACT_REQUEST = 0;

public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
// When the user center presses, let them pick a contact.
startActivityForResult(
new Intent(Intent.ACTION_PICK,
new Uri("content://contacts")),
PICK_CONTACT_REQUEST);
return true;
}
return false;
}

protected void onActivityResult(int requestCode, int resultCode,
Intent data) {
if (requestCode == PICK_CONTACT_REQUEST) {
if (resultCode == RESULT_OK) {
// A contact was picked. Here we will just display it
// to the user.
startActivity(new Intent(Intent.ACTION_VIEW, data));
}
}
}
}

در این کد، ثابت
PICK_CONTACT_REQUEST = 0
همان شناسه منحصر به فرد می باشد.

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

🔵 ادامه دارد...
🔆🔆🔆🔆🔆🔆🔆🔆🔆

8 راه‌ تشخیص ویروسی شدن گوشی‌ هوشمند :

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

@AndroidStudyChannel

برگرفته از سایت خبرگزاری ایسنا .
Forwarded from BBCPersian
🔴هشدار حمله باج‌افزار به کاربران اپل

🔹متخصصان امنیت دیجیتال به کابران سیستم عامل اپل هشدار داده‌اند که مراقب بدافزارهایی باشند که به طور ویژه برای حمله به این سیستم عامل طراحی شده‌اند.
یکی از بدافزارهایی که کامپیوترهای اپل را در معرض خطر قرار داده، باج‌افزاری است که فایل‌های کامپیوتر کاربران را کدگزاری می‌کند و در ازای آزاد کردن این فایل‌ها از کاربران تقاضای پول می‌کند.
🔹بدافزار دیگر یک جاسوس‌افزار است که همه فعالیت‌های کاربران روی کامپیوتر آنها را می‌بیند و اطلاعات ارزشمند آنها مانند مشخصات حساب بانکی یا رمز عبور حساب‌های مهم آنها را می‌دزدد.
🔹این دو بدافزار را شرکت‌های امنیتی فورتینت ( Fortinet) و ایلین‌والت (AlienVault ) از طریق یک پرتال در "وب تاریک" کشف کرده‌اند که به عنوان ویترینی برای هر دو برنامه فعالیت می‌کرد.
🔹متخصصان امنیتی دریافته‌اند که این دو بدافزار به طور رایگان برای استفاده عموم در دسترس قرار گرفته‌اند و در واقع هر کسی می‌تواند با استفاده از سرویس ارائه شده از سوی نویسندگان این برنامه‌ها، باج‌گیری اینترنتی کند.
🔹تنها چیزی که از کاربران این برنامه‌ها خواسته می‌شود آن است که با برنامه‌نویسان تماس بگیرند تا زمان و جزئیات راه‌اندازی بدافزار را هماهنگ کنند.
@BBCPersian
Forwarded from Hamed._.pro
#شب_قدر
این شبها و ساعتها رو قدر بدونیم. هم دعا کنیم و هم یکی از دعاهایتان این باشد که خدای متعال دعای مؤمنینی را که در این شبها دعا میکنند مستجاب کند. دعای تعجیل در امر ظهور فراموش نشه.
‌‌
This media is not supported in your browser
VIEW IN TELEGRAM
آموزش واکنش گرا کردن تولبار نسبت به اسکرول کاربر RecyclerView :
لینک آموزش :
https://homeandroid.ir/toolbar-android-studio
Forwarded from Amir B
🌐 کدام کتابخانه Networking؟

کتابخانه OkHTTP: توسط Square تولید شده. مناسب برای Streaming و استفاده General مبتنی بر HTTP. پشتیبانی از POST, GET, UPLOAD. دارای مستندات آموزشی. زیربنای پیشفرض Retrofit و Picasso. یکی از زیربناهای Volley هستش. دارای disk cache. پشتیبانی از conn pooling. از پروتکل SPDY پشتیبانی می کنه. از اندروید 4.4 به بعد بصورت builtin در زیربنای اندروید استفاده شده. پشتیبانی از NewIO و...

کتابخانه Retrofit: توسط Square تولید شده. مناسب برای RESTful API / Web Service. پشتیبانی از POST, GET, PUT, DELETE, Multipart. دارای مستندات آموزشی. مبتنی بر کلاینت OkHTTP. دارای disk cache. پشتیبانی از async با کمترین کد. دارای cancellation و retry برای درخواست ها. پشتیبانی از Dynamic URL. کمی کندتر از Volley اما سریعتر از AsyncTask هستش. دارای مفسر پیشفرض JSON و تبدیلش به POJO بکمک GSON. پشتیبانی از NewIO. پشتیبانی از فعالیت های background.

کتابخانه Volley: توسط Google پشتیبانی شده. مناسب برای استفاده General و کار با تصاویر. پشتیبانی از POST, GET, PUT, DELETE. دارای مستندات آموزشی. دارای کلاینت های OkHTTP, Apache, HttpUrlConnection. دارای memory cache. پشتیبانی از conn pooling. پشتیبانی از async با کمترین کد. دارای prioritization, cancellation, retrying برای درخواست ها. پشتیبانی از Dynamic URL. کمی سریعتر از Retrofit هستش. پشتیبانی از Image loading. دارای bitmap caching. سازگاری مناسب با activity lifecycle. دارای memory error handing مناسب. هندل کننده duplicate calls. استفاده نسبتاً آسان.

🌀 #OkHTTP, #Retrofit, #Volley
شناسایی رکورد تکراری Android Studio Volley php
Forwarded from Deleted Account
👈👈جهت یادآوری برای برخی دوستان یا عزیزانی که تازه میخوان با اندروید استودیو شروع به کار کنند:


اولا اینکه کلا برید به سمت سیستم های 64 بیتی و 32 بیت رو کامل فراموش کنید....نه فقط اندروید بلکه تو هر چیزی ...
مخصوصا اندروید استودیو ک نیازه 64 بیت باشین تا حتما بتونه از همه منابع سخت افزاری استفاده کنه.

دوم:برای نصب اندروید استودیو نیاز به نصب JDK 8 دارین.
که میتونین از سایت اصلیش دانلود کنین که چون تحریمیم باید سایفون یا هات اسپات بزنین.اینم لینکش:
‼️اگه سیستمتون 64 بیتیه حتما 64 بیتشو دانلود کنین و اگه 32 بیت هستین 32بیت رو.اما اکیدا توصیه می کنم سیستمتونو 64 بیت کنین و نسخه های 64 بیت رو دانلود کنید.

🌀نسخه 64 بیت:
http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-windows-x64.exe


🌀نسخه 32 بیت:
http://download.oracle.com/otn-pub/java/jdk/8u121-b13/e9e7ea248e2c4826b92b3f075a80e441/jdk-8u121-windows-i586.exe


🌀بعد از نصب JDK باید یه تنظیم کوچولو انجام بدین تا اندروید استودیو جاوا رو بشناسه.آموزش اون تنظیمه اینجاست:
http://www.zoomit.ir/2016/1/24/26083/java-se-how-to-install-jdk-4/


سوم: اندروید استودیو دو نسخه برای دانلود داره:

یکی عادی ک حدود 450 مگ هست
دومیش نسخه باندل هست ک 1.5 گیگ میشه

تفاوتشون اینه ک تو باندل ، آخرین ورژن API رو هم داره.
اگه نسخه عادیشو دانلود کنید بعدا میتونید API ها رو بریزین توش..مثلا از کسی بگیرید و بریزید توش(نصب کنید) یا دانلودشون کنید....

لینک دانلودش اینه: تحریمیم و باید با هات اسپات برید(بهتره برای این مورد از سایتهای ایرانی استفاده کنید):

کانال خانه اندروید جدیدترین نسخه رو برای دانلود قرار داده است.
https://t.me/AndroidStudyChannel/711
و
https://t.me/AndroidStudyChannel/712

‼️پس از نصب اندروید استودیو:

ابتدا هات اسپات رو روشن کنید وبعد استودیو رو اجرا کنید.

بعدش که استودیو رو اجرا کردین، بزنید یه پروژه الکی بسازین و صبر کنید تا اون پایین عملیات سینک گریدل یا همون
Gradle sync
تموم بشه.(وی پی ان رو تا آخر عملیات خاموش نکنید)

اگر به درستی انجام بشه هیچ خطایی نباید داشته باشین.

اگه سوالی داشتین تو گروه مطرح کنید تا بچه ها راهنمایی کنند.
Forwarded from Deleted Account
❇️ کدام زبان برنامه نویسی برای یادگیری #اندروید بهتر است؟؟

👈برای افرادی که #تازه_کار هستند و سوالاتی در مورد بهترین زبان برای یادگیری و کار با اندروید دارند، پیشنهاد می کنم مطالب زیر را مطالعه بفرمایند و برای دیگران هم که دچار این ابهام هستند، این مطلب را فوروارد کنند.

زبان رسمی برای توسعه اندروید، #جاوا می باشد.بخش های بزرگی از اندروید به زبان جاوا نوشته شده اند وAPIهای آن نیز به گونه ای طراحی شده اند که در درجه اول توسط جاوا اجرا شوند.
با این حال می توان با بکارگیری ابزاری به نامNDK که توسط گوگل ارائه می شود، با استفاده از زبان های سی یا سی پلاس پلاس هم برنامه های اندرویدی را توسعه داد، اما این چیزی نیست که کمپانی گوگل سعی در ترویج آن داشته باشد.

❗️به گفته شرکت گوگل، "استفاده ازNDk در اکثر برنامه ها مصلحت نمی باشد و مزیت خاصی نخواهد داشت".شما به عنوان یک توسعه دهنده باید مزایای استفاده ازNDk را در برابر اشکالات استفاده از آن بررسی کنید و بین آن ها یک تعادل برقرار کنید.آن چه که باید به آن توجه کرد، این است که استفاده ازNDK در اندروید، تاثیر قابل ملاحظه ای در بهبود عملکرد برنامه ها نخواهد داشت و همیشه به پیچیدیگی برنامه شما می افزاید.

باقی ماجرا را در لینک های زیر ببینید. در این لینک ها به وضوح در مورد انتخاب زبان مناسب برای برنامه نویسی اندروید توضیح داده شده است.

در مورد محیط توسعه اندروید هم، شکی نیست که اندروید استودیو کامل ترین و مناسب ترین محیط خواهد بود.


https://stackoverflow.com/questions/3949980/what-programming-languages-can-one-use-to-develop-android-applications

https://stackoverflow.com/questions/1994703/which-programming-languages-can-i-use-on-android-dalvik

https://stackoverflow.com/questions/3316801/which-programming-languages-can-be-used-to-develop-in-android

https://stackoverflow.com/questions/3316801/which-programming-languages-can-be-used-to-develop-in-android
عرض سلام و احترام
فهرستی برای عزیزانی که هیچی از اندروید نمی دونن و می خواهن تازه اندروید رو یاد بگیرن آماده شده
لینک فهرست صفر تا 100
https://goo.gl/tbLB3P
👁‍🗨 ارزشمندترین منبع دنیا دیگر نفت نیست، Data است!

💢مجله اکونومیست در مقاله ای جدید و جذاب ارزشمندترین منبع دنیا را Data اعلام کرد. 5 شرکت (گوگل، آمازون، اپل، فیسبوک و مایکروسافت) ارزشمندترین بنگاه‌ها در دنیا هستند. سودهایشان سرسام‌آور است: آنها روی‌هم‌رفته 25 میلیارد دلار سود خالص در فصل اول سال 2017 جمع کردند.

💢 نیمی از تمام دلارهایی که در آمریکا آنلاین خرج می‌شوند، نصیب آمازون می‌شود. تقریباً تمام رشد درآمد در حوزۀ تبلیغات دیجیتال در آمریکا در سال گذشته، مدیون گوگل و فیسبوک است

💢یک قرن قبل، منبع مد نظر نفت بود. اکنون غول‌ها به نگرانی های مشابهی دامن زده‌اند که به "داده‌ها" "Data"مربوط می‌شود، یعنی به نفتِ عصر دیجیتال!
کنترل شرکت‌های اینترنتی بر داده‌ها، قدرت شگرفی به آنها می‌دهد. الگوهای قدیمی دربارۀ رقابت که در عصر نفت تدوین شدند، در آنچه به «اقتصاد داده‌محور» مشهور شده منسوخ به نظر می‌آیند.

#اقتصاد #رسانه

@m_robatii
Forwarded from Deleted Account
سلام دوستان . وقت بخیر. چند روز پیش سوالی پرسیدم در مورد اینکه وقتی برنامه رو تو گوشی های مختلف تست میکنیم سایزشون بهم میریزه.
چند تا از دوستان قابلیت وزن دادن (layout_weight) به آبجکت هارو گفتن تست کردم و نتیجه داد. امروز با یه کلاسی آشنا شدم به اسم Percent Support Library .شما میتونید مثل css به ابجکت هاتون درصد بدید و کارتون خیلی راحت تر میشه. اینم لینک گیت هاب و توضیحات اضافی .❤️

https://github.com/JulienGenoud/android-percent-support-lib-sample
✳️ تلفیق اسکنر انگشت با نمایشگر گوشی توسط ویوو انجام شد + عکس 🔰🔰
⭕️ @AndroidStudyChannel