<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های علیرضا افکار</title>
        <link>https://virgool.io/feed/@alirezaafkar</link>
        <description>برنامه‌نویس و دیگر هیچ</description>
        <language>fa</language>
        <pubDate>2026-06-07 10:00:24</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/533/avatar/cpMTgu.png?height=120&amp;width=120</url>
            <title>علیرضا افکار</title>
            <link>https://virgool.io/@alirezaafkar</link>
        </image>

                    <item>
                <title>پلاگین‌های اندروید استودیو</title>
                <link>https://virgool.io/MobileLab/%D9%BE%D9%84%D8%A7%DA%AF%DB%8C%D9%86%D9%87%D8%A7%DB%8C-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88-xtgmijznlmrz</link>
                <description>سلام.امروز می‌خوام چندتا پلاگین خوب که برنامه‌نویسی رو تا حدی برای من آسون‌تر کردن معرفی کنم.برای آموزش و همچنین دریافت اطلاعات بیشتر روی اسم پلاگین‌ها کلیک کنید.خب، بریم سراغ اولین پلاگین. Droneتا قبل از آشنایی با Drone برای اضافه کردن کتابخونه‌ها به پروژه‌م مجبور بودم به صفحه‌ی گیت‌هاب‌شون برم و از اونجا آدرس و نسخه رو پیدا کنم.حالا با Drone کارم خیلی راحت شده. با وارد کردن اسم کتابخونه‌ای که می‌خوام می‌تونم به پروژه‌م اضافه‌ش کنم یا بین کتابخونه‌های موجود جستجو کنم.با این دستور recyclerview رو به ماژول app اضافه کردیم.Gradle Versions Pluginتا قبل از آشنایی با این پلاگین، برای چک کردن به‌روز بودن کتابخونه‌هام باید یکی یکی به صفحه‌ی گیت‌هاب‌شون می‌رفتم و چک می‌کردم که نسخه‌ی جدید منتشر شده یا نه.این پلاگین کار من رو خیلی راحت کرده! تنها با یک کلیک به‌روز بودن تمام کتابخونه‌ها رو بررسی می‌کنه و یک گزارش کامل از وضعیت به‌روز بودن کتابخونه‌ها می‌ده.کتابخونه‌هایی که نیاز به به‌روزرسانی دارن.JsonViewerاین پلاگین رو من خیلی دوست دارم.حتما خیلی از شماها با استفاده از Logging Interceptor پاسخی که از سرور میاد رو لاگ می‌کنید.چیزی که می‌بینیم به شکل زیره.پاسخی که از سرور دیافت شده.حالا با کمک این پلاگین می‌تونیم بدون ترک کردن اندروید استودیو با فرمت درست ببینیمش.JsonToKotlinClassاز این پلاگین برای تبدیل Json به Class استفاده می‌کنم.تنظیمات خوبی داره و همونطور که از اسمش پیداست برای کاتلینه.پاسخی که لاگ کرده بودیم رو به یک کلاس به نام UserModel تبدیل می‌کنیم.مرسی که خوندین، اگر نظری دارید یا شما هم پلاگین‌های خوبی می‌شناسید خوشحال می‌شم برام بنویسید.</description>
                <category>علیرضا افکار</category>
                <author>علیرضا افکار</author>
                <pubDate>Tue, 05 Jun 2018 13:19:35 +0430</pubDate>
            </item>
                    <item>
                <title>چطور پیکسلی شیم ما که پیکسل نداریم؟</title>
                <link>https://virgool.io/@alirezaafkar/%DA%86%D8%B7%D9%88%D8%B1-%D9%BE%DB%8C%DA%A9%D8%B3%D9%84%DB%8C-%D8%B4%DB%8C%D9%85-%D9%85%D8%A7-%DA%A9%D9%87-%D9%BE%DB%8C%DA%A9%D8%B3%D9%84-%D9%86%D8%AF%D8%A7%D8%B1%DB%8C%D9%85-dqehrmmryedr</link>
                <description>بابا تو دیگه کی هستی گویان به خودم تخمه می‌شکستم و خرسند بودم که یهو از خودم پرسیدم نمی‌خوای کسای دیگه رو هم خوشحال کنی علی‌آقا؟ این شد که تصمیم گرفتم این مطلب رو بنویسم.عارضم به خدمت‌تون که من خیلی گوگل‌دوستم. محصولات گوگل رو دوست دارم حتی اگر خوب نباشند. (واقعا راست می‌گن عشق آدم رو کور می‌کنه).تقریبا مطمئنم الان سوالی براتون پیش اومده و اون اینه که خب تو که این همه گوگل‌دوستی چرا پیکسل نخریدی پسر خوب؟ جوابش سه حرفه؛ پول. من به شخصه حاضر نیستم انقدر پول خرج کنم برای موبایل. اگر سوال براتون پیش اومده که انقدر چقده باید بگم که الان؟ یا الان؟ قیمت دلار رو دیگه شما بهتر از من می‌دونید.خب دیگه بسه، بریم سر کار اصلی‌مون.اول اینو بگم که راه‌های مختلفی هست برای رسیدن به ظاهر پیکسل، این راهیه که من رفتم.اولین قدم نصب لانچره. چی بهتر از Action Launcher؟پس اکشن لانچر رو نصب می‌کنیم و این شکلیش می‌کنیم.Action Launcherحالا مجیسک رو نصب می‌کنیم.Magiskاگر نمی‌دونید مجیسک چیه این مطلب از هوتن رو بخونید.عصر تازه‌ی روت کردن گوشی‌های اندروید [مجیسک]چرا نصبش می‌کنیم؟به دو دلیل؛یک اینکه ماژول‌هاش رو نیاز داریم. دو اینکه می‌خوایم دستگاه‌مون روت بشه.خب، حالا که دستگاه‌مون روت شد بریم کارت‌های گوگل رو فعال کنیم ?همونطور که می‌دونید تو همه‌ی کشورها نمیشه این کارت‌ها رو فعال کرد. اما از اون‌جایی که به‌قول پسرخاله‌م کار نشد نداره و از اونجایی که مهندسین یا راهی پیدا می‌کنند یا راهی می‌سازند ما به کمک این برنامه می‌تونیم کارت‌های گوگل رو تنها با یک لمس فعال کنیم.Google Now Enablerخب، حالا بریم برنامه‌های اضافی سیستمی رو پاک کنیم ?من اصلا نمی‌تونم با برنامه‌های سیستمی که هواوی و سامسونگ و اینا کار کنم. اصلا موبایل رو روت می‌کنم که اینا رو پاک کنم. اینکه چیا رو دوست دارید پاک کنید با خودتونه، اما چیزایی که من پاک می‌کنم معمولا ماشین حساب و تلفن و مخاطبین و تقویم و موزیک و اینا هستند.برای پاک کردن این برنامه‌ها از Titanium Backup استفاده می‌کنیم.Titanium Backupخب، حالا که بدون این برنامه‌ها که نمیشه که! چه کنیم؟ احسنتم. برنامه‌های گوگل رو نصب می‌کنیم.اما گوگل این اجازه رو به ما نمیده! چون پیکسل یا نکسوس نداریم. اما با توجه به حرف پسرخاله‌م یه راهی هست براش.بله، راهش اینه که ماژول زیر رو نصب کنیم تو Magisk.Google Framework خب، الان دیگه به راحتی می‌تونیم برنامه‌های گوگل رو نصب کنیم.کارت‌ها رو یادتونه فعال کردیم؟ تو اکشن لانچر نمایش‌شون بدیم دیگه.برای این کار ماژول زیر رو نصب می‌کنیم تو Magisk.AppSystemizerبا کمک این ماژول اکشن لانچر رو به یک برنامه‌ی سیستمی تبدیل می‌کنیم تا بتونه کارت‌ها رو نمایش بده. البته یک راه آسون‌تر هم هست برای این کار اما از اونجایی که من کار سخت دوست دارم اون رو معرفی نمی‌کنم. اگر خواستین بپرسین.خب، در آخر اگر هواوی دارید این تم رو نصب کنید. کار یکی از بچه‌های خودمونه(ایران)Pure AOSP EMUI 5.X/8.0 Themeتمام :)</description>
                <category>علیرضا افکار</category>
                <author>علیرضا افکار</author>
                <pubDate>Sun, 11 Mar 2018 00:01:24 +0330</pubDate>
            </item>
                    <item>
                <title>ویژگی‌های Tools در اندروید استودیو</title>
                <link>https://virgool.io/MobileLab/%D9%88%DB%8C%DA%98%DA%AF%DB%8C%D9%87%D8%A7%DB%8C-tools-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-%D8%A7%D8%B3%D8%AA%D9%88%D8%AF%DB%8C%D9%88-zzrshr4lgbkk</link>
                <description>سلام.می‌خوام در مورد بعضی از ویژگی‌های Tools بنویسم براتون. چیز جدیدی نیستند و خیلی از شماها از اون‌ها استفاده می‌کنید. اما این مطلب رو می‌نویسم برای اون دسته از توسعه‌دهندگان عزیزی که از این ویژگی‌ها استفاده نمی‌کنند.خب، اصلا چی هستند این ویژگی ها؟طرح‌های ما هم باید مثل کدهامون تمیز و مرتب و خوانا باشند. اینجوری وقتی پروژه بزرگ می‌شه یا توسعه‌دهنده‌های دیگه به تیم اضافه می‌شوند مشکلی پیش نمیاد.این ویژگی‌ها به ما کمک می‌کنند تا چیزی که قراره به کاربر نمایش بدیم رو تو مرحله‌ی طراحی ببینیم. بدون نیاز به اجرا کردن برنامه روی موبایل.در ادامه با استفاده از یک مثال چندتا از این ویژگی‌ها رو معرفی می‌کنم؛در این مثال ما یک لیست داریم که قراره یک سری آیتم رو نمایش بده.طراحی صفحه اولهمون‌طور که می‌بیند طراحی اصلی برنامه تو content_main پیاده سازی شده و این صفحه چیز خاصی نداره.طراحی content_main بدون استفاده از ویژگی‌های toolsاگر پیش‌نمایش این فایل رو ببینیم مطمئنا خوشم‌مون نمیاد.پیش‌نمایش content_main بدون استفاده از ویژگی‌های toolsاین فایل چند مشکل داره.اول اینکه نمی‌دونیم این فایل قراره کجا نمایش داده بشه و پدرش از چه نوعیه(برای همین درست نمایش داده نشده)دوم اینکه اگر به خود فایل نگاه نکنیم، با دیدن پیش‌نمایش متوجه نمی‌شیم که ProgressBar هم توی این طراحی هست.برای حل این دو مشکل می‌تونیم از ویژگی‌های tools استفاده کنیم.ویژگی‌های tools فقط تو طراحی اعمال می‌شن و در اجرا تاثیری ندارند.همونطور که می‌بینید یک ویژگی به فایل قبل اضافه شده.showIn:با این ویژگی می‌گیم که این طرح قراره کجا نمایش داده بشه. حالا یه نگاهی به پیش‌نمایش بندازیم.خب، الان همه‌ی ویو‌ها سرجاشون هستند و به درستی نمایش داده می‌شن.یک ویژگی هم برای نمایش ProgressBar در طراحی اضافه می‌کنیم.visibility:توضیح لازم نداره. مشخصه که چکار می‌کنه.چقدر خوب بود اگر می‌شد آیتم‌هایی که قراره توی لیست نمایش داده بشن رو هم ببینیم. نه؟پس یک ویژگی دیگه اضافه می‌کنیم.listitem:این ویژگی برای RecyclerView هستش و آیتمی که قراره توی این لیست نمایش داده بشه رو مشخص می‌کنه.بریم پیش‌نمایش رو ببینیمبهتر شد، نه؟ اما بازم اون چیزی که می‌خوایم نیست. بریم طراحی آیتم رو ببینیم.یک عکس داریم و دو متن که هیچکدوم مقدار ندارند.بیاید با استفاده از ویژگی‌های text و src بهشون مقدار بدیم.حالا یک‌بار دیگه بریم و پیش‌نمایش رو ببینیمبه‌به، چه زیبا. الان چیزی شد که می‌خواستیم.یک‌بار دیگه به اولین پیش‌نمایشی که گذاشتم نگاه کنید. بازم دل‌تون میاد از این ویژگی‌ها استفاده نکنید؟</description>
                <category>علیرضا افکار</category>
                <author>علیرضا افکار</author>
                <pubDate>Fri, 09 Mar 2018 22:21:14 +0330</pubDate>
            </item>
                    <item>
                <title>چرا از کار با پُست‌مَن لذت می‌برم؟</title>
                <link>https://virgool.io/tehranjs/postman-oltpp0sohre5</link>
                <description>من آدم به شدت تنبل و مرتبی هستم. شاید این دو کلمه خیلی کنار هم نیان، چون معمولا آدم‌های تنبل شلخته و نامرتب هستند. اما یه آدم تنبل که مرتب هم هست همیشه دنبال یه راه حل برای انجام بهترِ کارهاست.به همین دلیل از کار کردن با هرچیزی که به زندگی من نظم بده و کارم رو راحت کنه لذت می‌برم.پست‌من یکی از اون برنامه‌هاست که واقعا از کار کردن باهاش لذت می‌برم. امکان ذخیره‌سازی، دسته‌بندی و همگام‌سازی رو بهت میده. اونم مجانی!می‌دونم بیشتر شما پست‌من رو می‌شناسید و بهتر از من باهاش کار می‌کنید اما این مطلب رو نوشتم به دو دلیل:۱. یه چیزی نوشته باشم.۲. بارها برام پیش اومده که رفتم پای سیستم همکارها که چیزی رو باهم تست کنیم و دیدم که:آدرس‌ها رو ذخیره نکرده بودند، باید کلی بین تب‌ها می‌گشتند تا تب مورد نظر رو پیدا کنند!برای هربار تغییر آدرس سرور باید آدرس‌ها رو دوباره وارد می‌کردند!خدا شاهده قلبم گرفت! خیلی حرص خوردم. حیف نیست از همچین برنامه‌ای به نحو احسن استفاده نکنیم؟در ادامه‌ی مطلب از اینکه چطور از پست‌من استفاده می‌کنم می‌نویسم و قرار نیست پست‌من رو آموزش بدم.برای آشنایی بیشتر با پست‌من به این لینک مراجعه کنید.پست‌من کامل‌ترین ابزار برای توسعه و ساخت API است، کلاینت RESTـی که بیشترین استفاده رو در دنیا داره.مهم‌ترین ویژگی‌های پست‌من برای من اینها هستند:ذخیره و همگام‌سازیمتغیرهااز پیش تعیین‌شده‌هاهمگام‌سازی:برای این مورد فقط کافیه بسم‌الله بگید و یک حساب کاربری بسازید، باقیش رو بسپارید به پست‌من.با ذخیره‌سازی درخواست‌ها هرجا که باشیم به اون‌ها دسترسی داریم.متغیرها:چیزی که من رو شیفته‌ی پست‌من کرده همینه. یک متغیر تعریف می‌کنی و هرجا خواستی استفاده می‌کنی.از متغیرها تو آدرس و درخواست‌ها می‌تونیم استفاده کنیم.استفاده در آدرس:آدرس اصلی رو به شکل متغیر تعریف می‌کنیم و به راحتی می‌تونیم روی سرورهای مختلف اجرا کنیم.استفاده در درخواست‌ها:آی‌دی‌های پر استفاده رو به شکل متغیر تعریف می‌کنیم و لازم به حفظ کردن‌شون نیست.از پیش تعیین‌شده‌ها:می‌تونید هِدرهای ثابت یا پراستفاده‌تون رو ذخیره کنید و به راحتی بهشون دسترسی داشته باشید(مثلا توکن)توکن یوزرهای مختلف ذخیره شده و به راحتی تو درخواست‌ها استفاده می‌کنیم.این بود داستان من و پست‌من.شما هم اگر فکر می‌کنید که پست‌من ویژگی خوب دیگه‌ای داره که می‌تونه زندگی من رو از این راحت‌تر کنه باهام درمیون بذارید.</description>
                <category>علیرضا افکار</category>
                <author>علیرضا افکار</author>
                <pubDate>Sat, 12 Aug 2017 17:34:15 +0430</pubDate>
            </item>
            </channel>
</rss>