<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های حسین یوسف پور</title>
        <link>https://virgool.io/feed/@gabrimatic</link>
        <description>توسعه دهنده ی فلاتر | عکاسی - فلسفه - سینما | https://gabrimatic.info</description>
        <language>fa</language>
        <pubDate>2026-06-07 10:00:52</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/33563/avatar/8Ogtwf.jpg?height=120&amp;width=120</url>
            <title>حسین یوسف پور</title>
            <link>https://virgool.io/@gabrimatic</link>
        </image>

                    <item>
                <title>استفاده از چند sdk فلاتر بصورت همزمان در یک سیستم</title>
                <link>https://virgool.io/@gabrimatic/%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%DA%86%D9%86%D8%AF-sdk-%D9%81%D9%84%D8%A7%D8%AA%D8%B1-%D8%A8%D8%B5%D9%88%D8%B1%D8%AA-%D9%87%D9%85%D8%B2%D9%85%D8%A7%D9%86-%D8%AF%D8%B1-%D9%88%DB%8C%D9%86%D8%AF%D9%88%D8%B2-rnkcsdeb02ps</link>
                <description>فلاتر یک واسط کاربری کیت توسعه نرم‌افزار متن‌باز است که توسط گوگل طراحی شده‌است. فلاتر جهت توسعه برنامه‌های کاربردی برای پلتفرم های اندروید، iOS، وب، ویندوز، macOS، لینوکس و فیوشا استفاده می‌شود.فلاتر تاکنون در چهار sdk رسمی در قالب بسته های stable, beta, dev و master منتشر شده است. تفاوت و لینک های دانلود تمامی این sdk و نسخه های مربوط به هر کدام را می توانید در سایت رسمی فلاتر پیدا کنید.تا زمان نگارش این نوشتار، پشتیبانی از توسعه web تنها در نسخه ی beta ممکن است.ممکن است شما بطور همزمان در حال کار بر روی یک اپلیکیشن و یک وب سایت (با فلاتر) باشید.و یا گاها می خواهید از یک ویژگی جدید که هنوز در نسخه stable منتشر نشده است استفاده کنید. برای این کار، شما هر بار باید sdk مورد نیاز خود را دانلود و پیکربندی کنید. و هر زمان که خواستید به نسخه قبل برگردید دوباره همین مراحل را تکرار!اما همیشه راهی است! شما می توانید تمام sdk های مورد نیاز خود را تنها یکبار دانلود کنید و از آن پس به آسانیِ یک کلیک، بین آن ها جابجا شوید!مراحل استفاده از چند sdk فلاتر بصورت همزمان1. به سایت رسمی فلاتر برید و نسخه های مورد نیاز خود را دانلود کنید.2. تمام فایل های دانلود شده را از حالت فشرده خارج کرده و همگی را به یک پوشه منتقل کنید:C:\Develop\FlutterSDK3. در درایو C، یک پوشه به نام Aliases بسازید. C:\Aliases4. در پوشه Aliases، به ازای هر sdk دانلوده شده یک فایل bat. به همان نام بسازید:C:\Aliases5. در هر یک از فایل های bat. موارد زیر را بنویسید و ذخیره کنید:@echo offC:\Develop\FlutterSDK\flutter_stable\bin\flutter %** توجه داشته باشید که مسیر نوشته شده را با توجه به هر فایل، تغییر دهید.6. در cmd، عبارت زیر را بنویسید و Enter را فشار دهید تا به صفحه windows environment variables منتقل شوید:rundll32.exe sysdm.cpl,EditEnvironmentVariables7. در این صفحه، در بخش User variables، آیتم Path را انتخاب و بر روی دکمه Edit کلیک کنید:8. در صفحه جدید، بر روی دکمه New کلیک کرده و در کارد ایجاد شده، آدرس پوشه Aliases که در مرحله 3، ایجاد کرده اید را وارد کنید:C:\Aliases\9. با کلیک بر روی دکمه های OK، هر دو پنجره را ببندید و سپس سیستم خود را یکبار ریستارت کنید.تست صحت مراحل انجام شدهازین پس، بجای نوشتن دستور flutter، باید از دستور flutter_stable و یا flutter_beta استفاده کنید.در cmd دستور زیر را بنویسید و Enter را فشار دهید:flutter_stable doctor &amp; flutter_beta doctorاگر مراحل به درستی انجام داده باشید، با خروجی مانند شکل زیر روبرو خواهید شد:flutter_stable doctor &amp; flutter_beta doctor اضافه کردن مسیر sdk های جدید به IDEدر VS Codeبه تنظیمات vs code بروید (, + Ctrl) و عبارت flutter sdks را جستجو کنید. سپس مسیر sdk ها را مانند شکل زیر اضافه کنید:flutter sdksسپس شما می توانید به آسانی با کلیک بر روی نسخه فعلی فلاتر در نوار status، بین نسخه های مختلف فلاتر جابحا شوید:در Android Studioدر اندروید استودیو، به مسیر زیر بروید:File &gt; Settings &gt;Languages &amp; Frameworks &gt; Flutterسپس آدرس sdk مورد نیاز خود را وارد کنید:Languages &amp; Frameworks &gt; Flutter&quot; /&gt;File &gt; Settings &gt;Languages &amp; Frameworks &gt; Flutter&quot; /&gt; Settings &gt;Languages &amp; Frameworks &gt; Flutter&quot; /&gt;File &gt; Settings &gt;Languages &amp; Frameworks &gt; Flutterامیدوارم این نوشتار، شما را در استفاده راحت تر از sdk های فلاتر راهنمایی کرده باشد!نظرات و مشکلات خود را در بخش کامنت ها بنویسید.</description>
                <category>حسین یوسف پور</category>
                <author>حسین یوسف پور</author>
                <pubDate>Fri, 26 Feb 2021 14:04:49 +0330</pubDate>
            </item>
                    <item>
                <title>حل مشکل حذف خودکار اپ های ایرانی توسط گوگل پلی در اندروید | راه حل موقتی</title>
                <link>https://virgool.io/@gabrimatic/%D8%AD%D9%84-%D9%85%D8%B4%DA%A9%D9%84-%D8%AD%D8%B0%D9%81-%D8%AE%D9%88%D8%AF%DA%A9%D8%A7%D8%B1-%D8%A7%D9%BE-%D9%87%D8%A7%DB%8C-%D8%A7%DB%8C%D8%B1%D8%A7%D9%86%DB%8C-%D8%AA%D9%88%D8%B3%D8%B7-%DA%AF%D9%88%DA%AF%D9%84-%D9%BE%D9%84%DB%8C-%D8%AF%D8%B1-%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF-%D8%B1%D8%A7%D9%87-%D8%AD%D9%84-%D9%85%D9%88%D9%82%D8%AA%DB%8C-xoosdr0mpliv</link>
                <description>به نقل از زومیت:طبق گزارش سازمان فناوری اطلاعات، اپلیکیشن‌های ایرانی که مورد تأیید پلی استور گوگل نباشند، به‌طور خودکار از روی گوشی‌های اندرویدی پاک می‌شوند.پنجشنبه‌ی هفته‌ی گذشته برخی کاربران گوشی‌های اندروید اعلام کردند دو پیام‌رسان تلگرام طلایی و هاتگرام از روی گوشی‌های آن‌ها پاک شده است. بعد از بررسی بیشتر مشخص شد سرویس امنیتی گوگل پلی (پلی پروتکت) به کاربران هشدار داده بود که این دو اپلیکیشن قصد جاسوسی از اطلاعات شخصی آن‌ها مانند عکس، پیغام‌ها، فهرست تماس و صداهای ضبط‌شده را دارند و از آن‌ها خواسته بود این نرم‌افزارها را از روی گوشی خود پاک کنند. بعد از گذشت چند ساعت از این هشدار، سرویس پلی پروتکت وارد عمل شد و این دو اپلیکیشن را از روی گوشی‌های اندرویدی پاک کرد.اما به نظر می‌رسد این موضوع تنها مختص دو اپلیکیشن پیام‌رسان نیست و سرویس امنیتی گوگل پلی تمام نرم‌افزارهای ایرانی که مورد تأیید گوگل پلی نباشند را از روی گوشی‌های اندرویدی پاک می‌کند. به عبارت دیگر اگر اپلیکیشنی ازطریق کافه بازار یا سایر مارکت‌های اندرویدی دانلود و نصب شده و روی گوگل پلی موجود نباشد، از گوشی کاربران حذف خواهد شد. تنها راه داشتن امضای معتبر از نظر گوگل، داشتن اکانت تاییدشده برای توسعه‌دهنده در گوگل پلی است.محمدجواد آذری جهرمی، وزیر ارتباطات و فناوری اطلاعات با انتشار توییتی این خبر را تأیید کرد و نوشت:گزارش سازمان فناوری اطلاعات حاکی از آن است که حذف برنامه‌های ایرانی در سیستم‌عامل اندروید صرفا محدود به پوسته‌های یک پیام‌رسان نبوده بلکه برخی برنامه‌های کسب‌وکارهای ایرانی را نیز در برگرفته است. تروریسم اقتصادی آمریکا در حال تسری به اقتصاد فضای مجازی است!طبق این مطلب، به زودی هر نرم افزار اندرویدی که یک نسخه رسمی از آن در گوگل پلی موجود نباشد(مانند اکثر برنامه های ایرانی موجود در کافه بازار) بطور خودکار توسط سیستم امنیتی گوگل پلی موسون به Google Play protect، از روی گوشی یا تبلت های کاربران حذف خواهد شد.به عنوان یک توسعه دهنده ایرانی اپ های اندروید، راه حلی رو پیشنهاد میدم:غیر فعال کردن عملکرد Google Play protectقبل از هر چیز سعی کنید ازین پس تمامی نرم افزار های مورد نیاز خود را از طریق گوگل پلی نصب کنید.اگر توسعه دهنده اندروید هستید، جهت رجیستر کردن اپ های خود در گوگل پلی، باید یک حساب کاربری توسعه دهنده گوگل پلی داشته باشید جهت اطلاعات بیشتر و ثبت نام به این لینک مراجعه کنید.در گوشی یا تبلت اندرویدی خود، نرم افزار گوگل پلی(google play) را باز کنید.آیکون منوی سمت چپ صفحه را انتخاب کنید تا منوی برنامه باز شود.در لیست گزینه های موجود، Play Protect را انتخاب کنید.آیکون تنظیمات موجود در نوار بالای صفحه را لمس کنید.در بخش تنظیمات، گزینه ی Scan device for security threads را خاموش کنید و سپس در دیالوگ باز شده، OK را انتخاب کنید.با انجام این مراحل، اسکن خودکار google play protect غیر فعال می شود.---------------------امیدوارم این روند به غیر فعال شدن سیستم عامل اندروید برای ایرانیان منجر نشه. با اینکه اندروید open source است اما توسط و با نظارت کامل گوگل بر روی گجت های ما نصب شده که هر زمان در صورت نیاز یا فشارهای دولتی، قادر به رصد، تغییر و غیر فعال کردن این سیستم می باشد.در صورت نیاز میتونیم از کاستوم رام های مختلفی که فاقد اپ های گوگل مانند:google play, google play service, google maps &amp; etc. هستند استفاده کنیم. اما آیا تمامی مردم و تمامی گوشی ها قادر به این تغییر هستند؟نظر شما چیه؟ چه راه حل هایی برای این قبیل مشکلات پیش رو به ذهنتون میرسه؟ایده های خود را کامنت کنید.یا حق---------همچنین مطالعه کنید:- کتابخانه ی sdp جهت نمایش محتوای اپ بطور یکسان، بر روی انواع صفحه های نمایش با سایز های متفاوت- به حداقل رساندن دردسر های Gradle با چند روش ساده!</description>
                <category>حسین یوسف پور</category>
                <author>حسین یوسف پور</author>
                <pubDate>Mon, 29 Apr 2019 12:21:07 +0430</pubDate>
            </item>
                    <item>
                <title>به حداقل رساندن دردسر های Gradle با چند روش ساده!</title>
                <link>https://virgool.io/MobileLab/gradleproblems-ytjlanfyxnjy</link>
                <description>سلام بر دوستان علاقه مند به برنامه نویسی اندروید!مطمنا هر کسی که حداقل یک بار با اندروید استودیو برنامه ای نوشته است، با انواع اخطارها و مشکلات سیستم gradle آشناست.در این مقاله، به چند روش ساده جهت کاهش مشکلات gradle و افزایش سرعت بیلد پروژه ها می پردازیم.بهینه سازی gradle جهت افزایش سرعت بیلد و کاهش خطاها!هر زمان که شما پروژه جدیدی را ایجاد و یا پروژه ای را از گیت هاب دانلود و توسط اندروید استودیو باز می کنید، قبل از build اولیه پروژه، فایل های gradle مربوط به آن بطور خودکار و به اجبار توسط اندروید استودیو دانلود و به سیستم شما اضافه می شوند؛ که خب برای دانلود این فایل ها به روشن بودن قند شکن و اینترنتی با سرعت خوب نیاز هست. گاهی حتی پس از build اولیه و در زمان اجرای اندروید استودیو، این دانلود ها شروع شده و گاها ساعت ها وقت گرانبهای برنامه نویس را تلف می کنند!مثالی از ورژن های مختلف gradle که توسط اندروید استودیو به اجبار دانلود می شوند!اما راهی است که شما تنها یکبار، سورس کامل gradle را دانلود کرده و از آن پس، تمامی پروژه های خود را توسط آن سورس build کنید. به کمک این روش دیگر نیازی به دانلود چندین بار و چندین نسخه از gradle نیست و سرعت build پروژه های شما به طور چشم گیری افزایش خواهد یافت!مراحل دانلود، اضافه و پیکربندی:1. ابتدا به سایت رسمی gradle مراجعه کنید و آخرین نسخه gradle را بصورت complete دانلود کنید.2. فایل فشرده ی دانلود شده در پوشه ای که فایل های android sdk خود را قرار داده اید، استخراج کرده و پوشه gradle را در آنجا قرار دهید.3. پروژه خود را در اندروید استودیو باز کنید. به مسیر: File&gt; Settings&gt; Build, Execution, Deployment&gt; Gradleبروید و پس از انتخاب گزینه ی Use local gradle distribution، مسیر پوشه ی استخراج شده در بخش قبل را به آن داده و تایید کنید.پس از انتخاب، فایل های gradle موجود در پوشه ی انتخاب شده، بطور خودکار شناسایی می شوند.4. پس از تایید، یک بار پروژه را مجداد build کنید.به همین سادگی شما دیگر نیازی به دانلود های مکرر و انتظار های بی وقفه جهت build و دانلود نسخه های gradle نخواهید داشت.یک گام فراتر!در بخش تنظیمات gradle، گزینه ای وجود دارد تحت عنوان Offline work. با فعال کردن این گزینه شما بطور کامل بی نیاز از اینترنت می توانید پروژه ی خود را توسعه دهید، خروجی بگیرید و تست کنید.نکته: قبل از فعال کردن حالت آفلاین، پروژه باید حداقل یک بار یک build موفقیت آمیز شده باشد.نکته: هر زمان که نیاز به اضافه کردن یا آپدیت یک کتابخانه ی gradle داشتید، باید ابتدا حالت آفلاین را غیر فعال کرده و پس از اتمام کار، مجدادا آن را فعال کنید.امیدوارم این آموزش نیز مشکل بسیاری از برنامه نویسانی که تا قبل آن ریش خود را در راه gradle سفید کرده اند حل کند :)) سوالات و تجربه کاربری خود از این آموزش را کامنت کنید.یا حق --------همچنین مطالعه کنید:- کتابخانه ی sdp جهت نمایش محتوای اپ بطور یکسان، بر روی انواع صفحه های نمایش با سایز های متفاوت</description>
                <category>حسین یوسف پور</category>
                <author>حسین یوسف پور</author>
                <pubDate>Sat, 06 Apr 2019 16:42:25 +0430</pubDate>
            </item>
                    <item>
                <title>برنامه نویسی اندروید: خداحافظ dp ، سلام sdp!</title>
                <link>https://virgool.io/MobileLab/sdp-t8d3e59fy7ge</link>
                <description>سلام بر دوستان علاقه مند به علم.زمانی که شما میخواید یک برنامه ی اندروید رو توسعه بدید قطعا یکی از دغدغه های اصلی شما، نمایش محتوای اپ بطور یکسان، بر روی انواع صفحه های نمایش با سایز های متفاوت است. (از یک تبلت 10 اینچی تا یک موبایل 3 اینچی)نمایش محتوای یکسان در صفحه نمایش ها و گجت های متفاوتاین آموزش برای برنامه نویسان زامارن اندروید (Xamarin.Android) نیز قابل استفاده است.معمولا برنامه نویسان اندروید برای سایز بندی ویجت ها از واحد dp و برای فونت آن ها از واحد sp استفاده می کنند. مثال:&lt;Button 
     android:textSize=&quot;16sp&quot; 
     android:layout_width=&quot;30dp&quot; 
     android:layout_height=&quot;wrap_content&quot; /&gt;که خروجی آن در صفحه نمایش های مختلف چیزی مثل این عکس میشه:برای حل این مشکل، یک توسعه دهنده در گیت هاب واحد جدیدی رو توسعه داده به نام sdp!هر ویجتی که توسط sdp مقدار دهی بشه، سایز اون در صفحه نمایش های مختلف حفظ میشه و در صورت نیاز، به طور خودکار افزایش یا کاهش پیدا می کنه. یعنی دیگه نیاز نیست برای هر اندازه از صفحه نمایش یک layout جدا طراحی کنید.طریقه اضافه کردن این کتابخانه به پروژه:در اندروید استودیو: وارد فایل app&gt; build.gradle بشید و در قسمت dependencies، این کتابخانه را اضافه کنید:dependencies {
 ...
implementation &#039;com.intuit.sdp:sdp-android:1.0.6&#039;
}سپس یک بار پروژه رو build کنید تا کتابخانه دانلود و اضافه بشه(قند شکن فراموش نشه!)در زامارین اندروید:در سر منوی Tools به مسیر  Tools&gt; NuGet Package Manager&gt; Package Manager Console برید و این دستور رو نوشته و Enter رو فشار بدید:Install-Package SDP -Version 1.0.0طریقه استفاده از sdp:اگر در مرحله قبل همه چیز خوب پیش رفته باشه، در هنگام مقدار دهی لیستی از sdpها رو مشاهده خواهید کرد.استفاده از sdp کاملا مانند dp هست، اما نوع مقدار دهی با آن متفاوته. کافیه فایل xml رو باز کنید و ویجت مورد نظر رو مانند کد زیر مقدار دهی کنید: &lt;Button
        android:textSize=&quot; @dimen/_14sdp &quot;
        android:layout_width=&quot; @dimen/_28sdp &quot;
        android:layout_height=&quot;wrap_content&quot; /&gt; توجه کنید که هر واحد از sdp، با dp متفاوته؛ به عنوان مثال: 16sdp = 22dpبعد از استفاده از sdp با خودتون می گید: چطور تا حالا بدونش کد می زدم؟! :))امیدوارم این آموزش مشکل خیلی از توسعه دهنده ها رو حل و طراحی دیزاین رو ساده تر کرده باشه.سوالات و تجربه کاربری از این آموزش رو کامنت کنید.یا حق-----------------همچنین مطالعه کنید:- به حداقل رساندن دردسر های Gradle با چند روش ساده</description>
                <category>حسین یوسف پور</category>
                <author>حسین یوسف پور</author>
                <pubDate>Mon, 18 Mar 2019 12:37:40 +0330</pubDate>
            </item>
            </channel>
</rss>