<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های محمدحسین احمدی</title>
        <link>https://virgool.io/feed/@it_ahmadi</link>
        <description>Software Engineer | Kotlin Multiplatform (Android/iOS) | AI &amp; Machine Learning</description>
        <language>fa</language>
        <pubDate>2026-07-15 21:56:08</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/927114/avatar/82zKKU.jpg?height=120&amp;width=120</url>
            <title>محمدحسین احمدی</title>
            <link>https://virgool.io/@it_ahmadi</link>
        </image>

                    <item>
                <title>جایگزین postman لوکال</title>
                <link>https://virgool.io/@it_ahmadi/%D8%AC%D8%A7%DB%8C%DA%AF%D8%B2%DB%8C%D9%86-postman-vgjjch66gjmi</link>
                <description>سلام.در دوران جنگ به دلیل قطعی اینترنت استفاده از نرم افزار postman ممکن نبود و نسخه لایت نرم‌افزار هم بعد چند ریکوئست از کار می‌افتاد. یک جایگزین سبک برای Postman روی بستر وب نوشته شد؛ بدون نیاز به نصب و بدون دسترسی‌های اضافه.اگر با Postman کار کرده باشید، نیازی به توضیح محیط خروجی کد نیست. فایل HTML را لوکال دانلود کنید، در مرورگر باز کنید و استفاده کنید.از فایل برای ریکوئست زدن به api های مختلف استفاده کنید. می‌تونید فیچری که لازم دارید هم با هوش مصنوعی به کد اضافه کنید.به دلیل محدودیت‌های امنیتی ویرگول، بخشی از فانکشن‌های کد هنگام نمایش در سایت حذف می‌شوند.نسخه کامل را می‌توانید از گیت‌هاب دریافت کنید.https://github.com/it-ahmadi/web_postman</description>
                <category>محمدحسین احمدی</category>
                <author>محمدحسین احمدی</author>
                <pubDate>Thu, 07 May 2026 02:54:41 +0330</pubDate>
            </item>
                    <item>
                <title>اسنک‌بار خصوصی سازی شده در اندروید</title>
                <link>https://virgool.io/@it_ahmadi/%D8%A7%D8%B3%D9%86%DA%A9-%D8%A8%D8%A7%D8%B1-%D8%AE%D8%B5%D9%88%D8%B5%DB%8C-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%B4%D8%AF%D9%87-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-bj9c6h2y03tr</link>
                <description>سلام.این یک متد ساده برای ساخت و نمایش اسنک‌بار کاستومایز شده در اندروید است، که در آن می‌توانید اکتیویتی (محل نمایش اسنک بار)، پیغام و رنگ پس‌زمینه اسنک‌بار را تغییر دهید؛ البته می‌توان به عنوان پارامترهای ورودی متد مواردی مانند زمان نمایش یا هر پارامتر دیگری را جهت شخصی‌سازی بیشتر اضافه کرد:private fun showSnackBar(activity: Activity, message: String, color: String) {
    val rootView: View = activity.window.decorView.rootView
    val snackbar = Snackbar.make(rootView, message, Snackbar.LENGTH_SHORT)
    val sbView = snackbar.view
    val tv = sbView.findViewById&lt;TextView&gt;(com.google.android.material.R.id.snackbar_text)
    tv.textAlignment = View.TEXT_ALIGNMENT_CENTER
    tv.setTextAppearance(R.style.TextAppearance_FlangeTester_Headline8)
    tv.setTextColor(getColor(R.color.white))
    tv.textSize = 16F
    sbView.setBackgroundColor(Color.parseColor(color))
    snackbar.show()
}روش استفاده از آن هم برای متد فوق به این صورت است :  showSnackBar(this@LoginActivity, &quot;رمز عبور نادرست است&quot;, &quot;#EC1C24&quot;)در این متد قابلیت تغییر اتریبیوت‌های اندازه فونت اسنک‌بار، رنگ تکست، تکست اپیرنس و تکست الاینمنت هم وجود دارد.</description>
                <category>محمدحسین احمدی</category>
                <author>محمدحسین احمدی</author>
                <pubDate>Mon, 17 Oct 2022 19:47:52 +0330</pubDate>
            </item>
                    <item>
                <title>شخصی سازی اسکین دیوایس مجازی اندروید استودیو</title>
                <link>https://virgool.io/@it_ahmadi/%D8%B4%D8%AE%D8%B5%DB%8C-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%A7%D8%B3%DA%A9%DB%8C%D9%86-%D8%AF%DB%8C%D9%88%D8%A7%DB%8C%D8%B3-%D9%85%D8%AC%D8%A7%D8%B2%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-k37xy7tmo5k7</link>
                <description>سلاممن گاهی برای ارتباط بهتر و جالب‌تر شدن چیزایی که باهاشون سر و کار دارم، شخصی سازی انجام میدم یا تغییراتی رو ایجاد می‌کنم، از اونجا که توی طول روز زیاد با اندروید استودیو و شبیه سازش وقت می‌گذرونیم بنظرم جالب بود اگر میشد تغییراتی رو روی ظاهر دیوایس مجازی اندروید استودیو انجام داد(نمونه چندتا اسکین)در ادامه این نوشته مراحل تغییر اسکین دیوایس مجازی اندروید استودیو رو به شما نشون میدم:خببرای شروع از (AVD Manager) اندروید استودیو، دیوایس مجازی مورد نظرمون رو انتخاب می‌کنیم یا می‌تونیم یه دیوایس مجازی جدید ‌بسازیم؛ برای این پست من دیوایس (pixel 5) رو کلون کردم و تنظیمات صفحه نمایش رو تغییر دادم و برای دیوایسم از گزینه (show advances settings) و قسمت (custom skin definition) اسکین (pixel_xl_silver) رو انتخاب کردم، توی گیف زیر ‌مراحلی که گفتم رو می‌بینید :(ساختن دیوایس مجازی)شما می‌تونید از هر دیوایس مجازی با هر تنظیمات و اسکینی که خواستید، استفاده کنید.(خروجی دیوایس مجازی با اسکینی که انتخاب کردیم)حالا برای تغییر فایل اسکین دیوایسمون به مسیر اسکین اندروید استودیو که پیشفرض این آدرسِ :C:\Users\&lt;USERNAME&gt;\AppData\Local\Android\Sdk\skinsمیریم و پوشه مرتبط با اسکینی که انتخاب کردیم رو باز می‌کنیم:(پوشه دیوایس مجازی)داخل پوشه از بین فایل‌هایی که وجود داره، باید دوتا تصویر رو که مربوط به (background) برای حالت (portrait) و (landscape) هستند رو ویرایش کنیم.* (وارد پوشه امولاتوری که انتخاب کردیم میشیم)اگر برای ویرایش از فتوشاپ استفاده می‌کنید، فتوشاپ برای ویرایش فایل های (webp.) نیاز به پلاگین داره که از اینجا که می‌تونید این پلاگین رو دریافت کنید و بعد دریافت باید فایل پلاگین رو توی پوشه Plug-ins فتوشاپ قرار بدید و یه بار فتوشاپ رو ببندید و باز کنید.حالا تصاویر رو توی فتوشاپ می‌بریم و به دلخواه ویرایش می‌کنیم :(ویرایش تصویر)می‌تونیم یه پترن هم اضافه کنیم(اضافه کردن پترن)اگر ویرایش تصویر حالت (portrait) رو تموم کردین برای حالت (landscape) کافیه همون تصویر حالت (portrait) رو کپی کنید و (90-) درجه (rotate) کنید و روی همون تصویر قرارش بدید.وقته اینه که از تصاویر خروجی بگیریم، برای خروجی گرفتن از تصاویر و ذخیره تغییرات جای گزینه (Export) باید با (save as) و انتخاب نوع خروجی (webp.) خروجی بگیریم:حالا باید تصاویر رو جایگزین تصاویر داخل پوشه کنیم؛ اما اندروید استودیو توی بعضی موارد فایل‌های مربوط به امولاتور پیشفرض خودش رو دوباره می‌سازه و جایگزین تصاویر قبل می‌کنه که یعنی اگر تصاویر رو توی پوشه اسکین‌های خود اندروید استودیو قرار بدید ممکنه بعد چندبار اجرا یا (wipe Data) کردن دیوایس، تصاویر شما رو حذف کنه و از همون تصاویر پیشفرض استفاده کنه، پس بهتره یه پوشه جدید توی قسمت (skin) بسازیم و غیر از دوتا تصویری که ویرایش کردیم تمام فایل های مربوط به اسکین انتخاب شده رو به پوشه جدید منتقل کنیم و تصاویر ویرایش شده رو هم داخل پوشه جدید قرار بدیم :در مرحله آخِر فقط نیاز به معرفی مسیر اسکین جدید برای دیوایس به اندروید استودیو اِ، قبل از اینکه دیوایس مجازی رو اجرا کنیم از (AVD Manager) گزینه (edit) دیوایس و (show advances settings) رو می‌زنیم و در (custom skin definition) مسیر اسکین جدید رو میدیم :و حالا شبیه ساز رو اجرا می‌کنیم :اگر جایی براتون واضح نبود می‌تونید ویدیو مربوط به این آموزش رو که توی یوتوب قرار دادم رو از این لینک مشاهده کنید؛ چندتا تصویری که خودم ویرایش کردم و مشکل کپی-رایت نداره هم براتون قرار دادم که اونارو هم می‌تونید از این لینک دانلود و استفاده کنید.در نهایت اگر نکته‌ای بود که نگفته بودم یا سوالی داشتید کامنت کنید.امیدوارم این نوشته براتون مفید بوده باشه.</description>
                <category>محمدحسین احمدی</category>
                <author>محمدحسین احمدی</author>
                <pubDate>Tue, 03 Aug 2021 18:25:57 +0430</pubDate>
            </item>
                    <item>
                <title>فارسی نوشتن اندروید استودیو</title>
                <link>https://virgool.io/@it_ahmadi/%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D9%86%D9%88%D8%B4%D8%AA%D9%86-%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-e8x1gpgzycz6</link>
                <description>سلاماندروید استودیو برای توسعه‌ دهنده‌هایی که از سیستم عامل ویندوز استفاده می‌کنن گاهی یه باگ عجیب داره و اونم استفاده کردن از اعداد فارسی برای ست کردن میزان (margin) در پنجره‌ی (Attributes) بخش (Design) اِ، که جدای از اینکه مارجین ست نمیشه، خطای (compile) میده که مجبورتون میکنه توی قسمت کد برای ویوهاتون مارجین و پدینگ ست کنین و همین باعث از بین رفتن تمرکزتون حین طراحی لایه میشه :( android:layout_marginTop=&quot;۱۶dp&quot; )برای حل کردنش توی ویندوز این مسیر رو طی کنینSettings -&gt; Time &amp; Language -&gt; Language -&gt; Keyboard -&gt; (override for default input method) :و گزینه رو مطابق عکس تغییر بدین و اندروید استودیو رو (restart) کنین و بررسی کنین که همچنان از اعداد فارسی استفاده می‌کنه یا خیر.در مواردی ممکنه با تغییر گزینه پیشفرض کیبورد همچنان مشکل شما برطرف نشه که راه بعد تغییر (Regional format) اِ و بعد از اون احتمال زیاد اندروید استودیو از اعداد مناسب استفاده کنه،برای تغییر (Regional format) مسیر زیر رو طی کنینSettings -&gt; Time &amp; Language -&gt; Region -&gt; (Regional format) :و از منوی باز شده(Regional format) رو تغییر بدین و اندروید استودیو رو (restart) کنین و با خیال راحت از (Attributes) برای مارجین دادن به ویو و لایه هاتون استفاده کنینامیدوارم مطلب براتون مفید بوده باشه.</description>
                <category>محمدحسین احمدی</category>
                <author>محمدحسین احمدی</author>
                <pubDate>Sun, 25 Jul 2021 15:41:37 +0430</pubDate>
            </item>
            </channel>
</rss>