<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>نوشته های وحید در آن سو</title>
        <link>https://virgool.io/feed/@hvm32</link>
        <description>? Android developer, Startup and technology lover</description>
        <language>fa</language>
        <pubDate>2026-06-16 06:35:55</pubDate>
        <image>
            <url>https://files.virgool.io/upload/users/33347/avatar/ymUqn0.jpg?height=120&amp;width=120</url>
            <title>وحید در آن سو</title>
            <link>https://virgool.io/@hvm32</link>
        </image>

                    <item>
                <title>چطور Adapter تمیز با کارایی بهتر داشته باشیم؟</title>
                <link>https://virgool.io/@hvm32/%DA%86%D8%B7%D9%88%D8%B1-adapter-%D8%AA%D9%85%DB%8C%D8%B2-%D8%A8%D8%A7-%DA%A9%D8%A7%D8%B1%D8%A7%DB%8C%DB%8C-%D8%A8%D9%87%D8%AA%D8%B1-%D8%AF%D8%A7%D8%B4%D8%AA%D9%87-%D8%A8%D8%A7%D8%B4%DB%8C%D9%85-vsnnl96ohhu9</link>
                <description>اگر برنامه نویس اندروید هستید حتما تاحالا از adapter ها استفاده کردید و می دونید که adapter ها وظیفه هندل کردن نمایش آیتم های لیست رو برعهده دارن تا بدون مصرف بیش از اندازه رم، لیست های بینهایت رو نمایش بدن. و حتما هروقت سراغ پیاده سازی یک adapter رفتید با کدهای اضافی که هربار مجبوریم پیاده سازی کنیم و کلاس ViewHolder که بعد از اومدن binding ها به کدهای اضافی تبدیل شدن، مواجه شدیم.اگر شماهم مثل من با کم کردن یک خط از کداتون احساس رضایت مندی می کنید، این پست رو تا انتها بخونید تا با هم یک adapter با کدهای خیلی کمتر، اما واقعا با کارایی بیشتر پیاده سازی کنیم ?پیش نیاز ها:آشنایی با View bindingآشنایی با کلاس های Genericآشنایی با Code foldingآشنایی با متدهای abstractنکته: در این پست، تمامی تصاویر متعلق به سه کلاس ViewHodler, BaseAdapter, ExampleAdapter می باشند.شروع:در پایین تصویر adapter بهینه نشده رو می بینید که قراره به تصویر دوم تبدیل بشه:اداپتر بهینه نشدهاداپتر بهینه شدهمواردی که قراره بهبود پیدا کنن:کدهای تکراری مانند context و items که در تمام adapter ها استفاده می شن، از اینجا حذف می شن.پارامترهای متد onBindViewHolder شخصی سازی می شن تا هربار نیاز نباشه با استفاده از position یک مدل بسازیم یا در این حالت، binding رو از holder بگیریم و بصورت مستقیم بهشون دسترسی داشته باشیم.متدها و کلاس هایی مانند getItemCount و ViewHolder هم که خوانایی کد رو کم می کنن نیازی نیست هربار اینجا صدا زده بشن یا پیاده سازی بشن.همچنین متدهایی هم که کار تکراری انجام می دن اما نمی تونیم به جای دیگه ای منتقلشون کنیم، می تونن با روش folding جلوی چشم نباشن تا خوانایی کد افزایش پیدا کنه.پیاده سازی:1. Generic ViewHolderViewHolderدر مرحله اول برای اینکه مجبور نباشیم برای هر adapter یک زیرکلاس ViewHolder بسازیم، می تونیم یک کلاس جنریک ViewHolder بسازیم و برای هر adapter از همین کلاس استفاده کنیم.این کلاس فقط نیاز داره تا جنس ViewBinding رو بصورت generic دریافت کنه.1. Generic BaseAdapterBaseAdapter در مرحه بعد نیاز داریم تا یک کلاس BaseAdapter بسازیم و موارد زیر رو بصورت generic براش مشخص کنیم:جنس ViewBinding با شناسه Bجنس لیست آیتم ها با شناسه Iجنس ViewHolder با شناسه V3. Override onBindViewHolderدر کلاس BaseAdapter متد onBindViewHolder رو override می کنیم اما ما نمی خوایم که از همین متد در adapter هامون استفاده کنیم، در نتیجه یک متد بصورت abstract به همین نام (می تونه هر نامی داشته باشه) با پارامترهای دلخواه ایجاد می کنیم و در adapter ها همین متد رو override می کنیم.BaseAdapter پارامترهایی که من برای این متد درنظر گرفتم، این موارده:پارامتر item : مدلی که هر بار نیاز بود تا توسط position از لیست دریافت کنمپارامتر binding : که هربار نیاز بود از holder دریافت کنمپارامتر position : که هربار باید با متد getAbsoluteAdapterPosition دوباره دریافتش می کردم4. Folding Constractorsخب می رسیم به مواردی که در adapter ها تکراری هستن و نیازی نیست دائما جلوی چشم باشن و خوانایی کد رو کم کنن.Adapterهمینطور که در کلاس BaseAdapter می بینید از خط 21 تا 30، کدهایی هستن که مقداردهی های اولیه رو انجام می دن و مسلما نیازی نیست تا دائما جلوی چشم ما باشن.در اینجا با استفاده از دو تگ (کامنت) زیر می تونیم این محدوده رو بعنوان code folding معین کنیم تا محیط توسعه این خطوط رو به ما نمایش نده.//region &lt;name&gt;
...
//endregionSettingsالبته برای این که این محدوده بصورت پیشفرض Collapse باشه و نمایش داده نشه، باید در تنظیمات تیک گزینه Custom folding regions رو فعال کنید.تمام، adapter ما با حداقل کد و شخصی سازی های مدنظرمون آمادست ?باقی موارد مثلprotected بودن filed ها در BaseAdapter و Override کردن متد getItemCount در BaseAdapter برای جلوگیری از تکرار و ... فکر نمی کنم نیازی به توضیح داشته باشن و همین موارد گویای کار هست.اگر سوال یا ابهامی دارید در کامنتا مطرح کنید و اگر شما هم روشی دارید که می شه این آداپتر رو بهینه تر کنیم، خوشحال می شم به تکمیل این پست کمک کنید.</description>
                <category>وحید در آن سو</category>
                <author>وحید در آن سو</author>
                <pubDate>Thu, 16 Feb 2023 17:30:43 +0330</pubDate>
            </item>
                    <item>
                <title>سریال مانکن نمی خواهد شما یک فرد موفق باشید!</title>
                <link>https://virgool.io/cafegame/mannequin-xy3whrxeyosw</link>
                <description>سریال مانکن یکی از پرطرفدارترین سریال هاییست که مدتی از نمایش خانگی آن می گذرد و مروری بر زندگی اجباری جوانها با ثروتمندان یا اصطلاحا Sugar Momma\Sugar Daddy دارد.تا همینجا می توان با نگاه به موضوع فیلم دریافت که نقدی اجتماعی در کار است اما من در این نوشته می خواهم جدا از موضوع سریال، دلیل اینکه غالب انسان های موفق توصیه موکد بر عدم تماشای تلویزیون دارند را با توضیح مفاهیمی که از این سریال استخراج می شود را به صورت موردی برای شما بیان کنم:نکته: &quot;احتمالا شما برخی از مواردی را که در زیر بیان شده است رد کنید. این نشان می دهد که این نوع برنامه ها در رساندن چنین باورهایی ناموفق نبوده اند، چرا که کسی می تواند در مورد این موارد نظر صحیح را ارائه کند که خود دارای چنان وضعیتی باشد نه سریال هایی که خط فکری خاصی را دنبال می کنند، پس بجای نتیجه گیری از چنین سریال هایی، لطفا زندگی نامه افراد موفق را دنبال کنید&quot; ثروتمندان درآمد حلال ندارند: پایه ای ترین باور که در غالب فیلم ها از جمله مانکن می توان بوفور یافت این است که تمامی ثروتمندان بزرگ درآمدهای نادرست دارند و در بهترین حالت برای درآمد حرامشان توجیهاتی دارند تا خود را قانع کنند، بدون این که یک دلیل برای نادرست بودن کارشان مطرح شود، همچنین مکررا دورهمی هایی را به نمایش می کشد که بزرگترین ثروتمندان کشور همراه انواع مشروبات الکلی و مواد مخدر در آن جمع شده اند که در حال بیزینس های بزرگ از جمله صادرات های میلیاردی هستند و شما از این بیزینس های حرفه ای تنها چند عدد بزرگ و رد و بدل شدن چند مقدار درصدی خواهید دید!بزرگترین خیّرین از بزرگترین مافیا هستند: البته که این مسئله چند سالیست که باب شده، شاید پس از اینکه زاکربرگ مقدار زیادی از ثروتش را اعطای خیریه کرده یا بیل گیتس در دهه هفتم زندگی خود در حال تحقیق روی تصفیه آب فاضلاب برای آفریقاییهاییست، باید بفکر راه حلی جدید باشیم که بتوانیم آنهارا انسانهای کثیفی جلوه دهیم.تمام جهان توسط مافیایی کنترل میشود که شما قادر به مخالفت با آنها نیستید: این باور از زمانی که بیاد دارم در بین انسانها شایع بوده، همیشه صحبت از این بوده که خانواده هایی هستند، افرادی هستند، اتاق های فکری هست که جهان را اداره می کند و خدا هم که احتمالا کاره ای نیست و ما هم عروسک های خیمه شب بازی آنها هستیم. افرادی که می خواهند مقصرِ وضعیتِ حالِ حاضرِ خود را عوامل بیرون از خود جلوه دهند، چاره ای ندارند که تقصیر را گردن دیگران بیندازند.ثروتمندان انسان های رک و وقیح و بی ادبی هستند: این رفتار احتمالا با الگو گیری از فیلم های هالیوودی نیز همراه است، در لابلای فیلم افرادی را که رابطه صمیمی با نقش زن ثروتمند سریال دارند، با سوال های خود وی را می رنجانند و دائما زندگی شخصی او را بچالش می کشند. یا در مجالس ثروتمندان شانس بیاورید از فردی سوالی بپرسید و جوابی حاضر و نیش دار نشنوید. مککرا در میهمانی ها افراد از سرخوشی یکدیگر را می آزرند، در صورتی که بشخصه در چنین مجالسی در کنار صمیمیت، شاهد احترام بسیار افراد با یکدیگر بوده ام.ثروتمندان هیچ تعهدی به خانواده خود ندارند: این مسئله که چاشنی چنین سکانس هاییست، ثروتمندانی را بتصویر می کشد که اطرافشان پر از جوانانیست که با نارضایتی قلبی فقط بخاطر پول و احتمالا خانواده های مریض مجبور به همراهی وی هستند. متاسفانه این باور چنان شایع است که هرکسی ثروتمندی خود را در غالب چنین جایگاهی تصور می کند. بی بند و باری بین آنها فریاد می کند و هیچ کسی تعهدی به همسر خود ندارد.اگر هم یک انسان سالم ثروتمند است، حتما شکست خواهد خورد: در این سریال فرد مثبتِ فیلم، میلیاردر کارخانه داریست که سالها قبل ورشکست شده است و بابت بدهی بالای خود حدود 10 سال در زندان افتاده است. اما فردی که با حرام خواری ثروتمند شده روز بروز اوضاع بهتری پیدا می کند و هیچگاه شکست تهدیدش نمی کند.زندگی در خانواده های سالم وضعیت وحشتناکی دارد: پدرِ مثبتِ فیلم مانکن مردی بسیار مشکوک است که کوچکترین کارها را زیر سوال برده و دائما در حال تعقیب خانواده خود است. شاید در فیلم در چند صحنه نمایش داده شود که پدر خانواده با سوال های بی اساس مکرر چندین بار بدرستی مچ فرزندان خود را می گیرد، اما پدر که علم غیب ندارد، در کنار 3 بار حدس درستش که در فیلم نمایش داده می شود، 100 بار حدس نادرست وجود دارد که لزوما هرروز خانواده را سین جیم کرده و شرایطی را فراهم می کند که زندگی را بر فرزندان خود تنگ کرده و خب لزومی به نمایش ندارد. بهتر نیست بجای چنین فرهنگ سازی، همدلی را بیشتر در بین خانواده ها رواج دهیم تا نیازی به ترس و پنهان کاری فرزندان نباشد؟!شغل هایی که برای ما تعریف نشده هستند، ناموفق هستند: این مسئله که از قدیم الایام در رسانه داخلی ما شایع بوده، و هرچیزی که صلاح دیده نمی شده در رسانه ما مضر تبلیغ می شده است. اگر کسی مهاجرت کند حتما آواره خواهد شد، کسانی که با دوستی های خیابانی به ازدواج می رسند کارشان به طلاق خواهد کشید، دوستی با افراد غریبه اعتیاد به همراه خواهد داشت!این سکانس ها را در فیلم ستایش، هیولا، تایتانیک و بسیاری از فیلم های دیگر ایرانی و خارجی شاهد هستیم.آیا کسی می تواند با چنین باورهایی نیکو و شاد زندگی کند؟ در حالی که نیکی و شادی، ثروت و اخلاق را متضاد یکدیگر میبیند؟اگر شما بعضی از این موارد را تایید می کنید و دلیلتان این است که چنین موردی را تجربه کرده اید، بدانید که این خاصیت انسان است. یعنی وقتی به ما بگویند که برای پول دار شدن راهی جز دزدی نیست، و خلاف آن برای ما ثابت نشده باشد، پس برای پولدار شدن راهی جز دزدی به ذهنمان نخواهد رسید.چگونه این سریال ها بر روی ما تاثیر می گذارد؟آیا تاکنون به فکر انجام کار مثبت بزرگی افتاده اید و چیزی در ذهنتان با جملات زیر شما را نگران کرده است؟- فکر کردی که این همه رقبای بزرگ اجازه می دن تو موفق بشی؟- جامعه پر گرگه، چطور می خوای از پسشون بربیای؟!- فکر نمی کنی داره همه کارات خوب پیش می ره پس یه جای کار باید بلنگه؟- تو توی یه خانواده درست و حسابی رشد کردی فکر نمی کنی که مردم چی میگن؟!- پدر من تاحالا هزارتومن لقمه حروم سر سفره ی ما نیاورده، تو میخوای نون کثیف دربیاری!- اگر هم میبینی که افراد ثروتمندی، ثروت خودشون رو به خیریه ها اعطا می کنن قصدشون پول شویی و کسب اعتباره نه نیت خیر!- این کار پول زیادی به همراه داره، پس کارم خطاست!- ثروتمندان همه در حال خوردن حق دیگران هستند، پس یا حق دیگران رو باید بخوری یا موفق نمیشی!من سعی می کنم وفاداری به همسر، ارزش آفرینی و بسیاری از صفات نیکو را از افرادی مانند مارک زاکربرگ، مسی و رونالدو و بسیاری از افراد دیگر که با وجود ثروت هنگفت خود می توانند هرکاری انجام دهند اما با تمرکز روی اهداف خود صمیمیت در خانواده را همراه دارند را بیاموزم.با توجه به این تناقضات چگونه حقیقت را پیدا کنیم؟باید بگویم که حتی مطالعه تجربیات یک فرد موفق ممکن است گمراه کننده باشد!بهتر است چیزی را که تجربه نکرده اید از مقایسه عملکرد چندین فرد مختلف که در آن مسئله به نتیجه مثبت رسیده اند پیدا کنیم، یعنی به تجربه یک نفر قانع نباشیم.بعنوان مثال شما از هر 10 نفر انسان موفق در مورد تماشای تلوزیون بپرسید، حداقل از 9 نفر خواهید شنید که آخرین باری که تلوزیون تماشا کرده اند را بیاد ندارد. پس این می تواند ملاک درستی برای پیشرفت باشد.چون تماشای تلوزیون یعنی دریافت عقاید کارگردان و نویسنده آن فیلم و انسان های موفق وقت خود را برای دریافت عقیده دونفر تلف نمی کنند.بقول معروف لامبورگینی را در تلوزیون تبلیغ نمی کنند، چون کسانی که می توانند لامبورگینی بخرند تلوزیون تماشا نمی کنند.نکته پایانیدیده و شنیده ما تبدیل به افکار ما می شوند و افکار ما باورهای مارا می سازند و باورهای ما سرونوشت مارا تحقق می بخشند.</description>
                <category>وحید در آن سو</category>
                <author>وحید در آن سو</author>
                <pubDate>Thu, 13 Feb 2020 19:50:28 +0330</pubDate>
            </item>
            </channel>
</rss>