ضبط صدا در اندروید با کلاس AudioRecord

چگونه با استفاده از کلاس AudioRecord در اندروید صدا را ضبط کنیم؟ برای ضبط صدا در اندروید سه راه وجود دارد. استفاده از کلاس MediaRecorder، استفاده از intent با مشخص نمودن ACTION_GET_CONTENT در متد setAction و استفاده از کلاس AudioRecord. مقایسه روش های در دسترس برای ضبط صدا استفاده از کلاس AudioRecord در مقایسه با دو روش دیگر انعطاف پذیر تر می باشد. در این روش به streamِ خام صدای در حال ضبط دسترسی داریم. اما در این روش تعداد زیادی متد از پیش ساخته شده نداریم و مجبوریم خود متدهای لازم را پیاده سازی کنیم. مثلا در این...

سوالات مصاحبه اندرویدی

در مصاحبه اندرویدی چه می گذرد؟ در مصاحبه اندرویدی سوالاتی وجود دارند که از شما بعنوان یک توسعه دهنده اندروید انتظار می رود به خوبی به این سوالات پاسخ دهید. مفاهیمی که از آنها به وفور استفاده می شود اما همه توسعه دهندگان دقت کافی به پروسه ی در حال انجام ندارند. در این مقاله به بررسی چند سوال رایج در مصاحبه اندرویدی می پردازیم. سوالات بیشتر در مقاله های بعدی بررسی خواهند شد. مراحل تولید یک اپلیکیشن در اندروید را توضیح دهید پروسه ی ساخت برنامه ی اندرویدی شامل سه مرحله...

مقایسه دو زبان جاوا و کاتلین ۵ (۲)

تفاوت های جاوا و کاتلین در چیست؟ برای توسعه ی یک اپلیکیشن اندرویدی دو زبان قدرتمند وجود دارند. جاوا و کاتلین. برای انتخاب بین دو زبانی که هر دو قدرتمند هستند، باید تفاوت های آنها را بررسی نمود. مقایسه جاوا و کاتلین به ما کمک می کند که انتخاب بهتری داشته باشیم. در این مقاله به بررسی تفاوت های جاوا و کاتلین، با ذکر مثال های عملی حین توسعه ی برنامه ی اندرویدی می پردازیم. جاوا، پیش کسوت و همه فن حریف یک بار بنویسید و هر جایی اجرا کنید. این جمله شعار جذاب جاواست که هنوز هم...

آموزش کتابخانه ی lottie در اندروید ۵ (۱)

ایجاد اینیمیشن با کتابخانه ی lottie کتابخانه ی Lottie مجموعه ای متنوع از انیمیشن ها برای اندروید و ios و react native می باشد. انیمیشن ها با  adobe after effect ساخته می شوند و با فرمت json، مورد استفاده قرار می گیرند. با استفاده از این کتابخانه به سادگی می توان انیمیشن های زیبایی را در برنامه اجرا نمود. در این آموزش پیاده سازی کتابخانه ی Lottie را در یک پروژه ی اندرویدی یاد می گیریم. قدم اول : افزودن کتابخانه به پروژه def lottieVersion = "3.4.2" implementation "com.airbnb.android:lottie:$lottieVersion" قدم دوم : ایجاد view در...

معرفی کتابخانه های bottom navigation 5 (1)

مغرفی کتابخانه bottom navigation در اندروید bottom navigation دربخش پایین صفحه قرار می گیرد که به وسیله ی آن می توان بین view های مختلف برنامه که در قالب فرگمنت ها تعریف شده اند، جا به جا شد. زمانی در برنامه از bottom navigation استفاده می کنیم که برنامه سه تا پنج view مختلف داشته باشد. در مقاله های پیشین بلاگ به آموزش صفر تا صد پیاده سازی bottom navigation در یک پروژه اندرویدی پرداخته ایم. در این مقاله قصد داریم چند کتابخانه برای پیاده سازی یک bottom navigation شکیل معرفی کنیم. معرفی کتابخانه Bubble Navigation یک...

پیاده سازی بهینه فرگمنت ها در اندروید ۲٫۳ (۳)

پیاده سازی بهینه فرگمنت ها در برنامه های متعددی ممکن است با فرگمنت های زیادی سر و کار داشته باشیم. برای مثال در برنامه ای که bottom navigation کاربرد دارد، تعدادی fragment در برنامه خواهیم داشت نحوه استفاده از این فرگمنت ها، می تواند به پرفورمنس بهتر برنامه بیانجامد. هم چنین از بروز memory leak نیز جلوگیری کند. با هربار انتخاب کاربر از میان آیتم های bottom navigation، جریانی از fragment ها در برنامه شکل می گیرد. این جریان باید به شکل بهینه مدیریت شود تا تجربه کاربری روانی ایجاد کند. پیاده سازی صفر...

مقایسه serialization و parcelable 2.3 (3)

SERIALIZATION یا PARCELABLE ؟ معمولا در شرایط مختلفی از برنامه نیاز داریم تا یک object را بین اکتیویتی ها جابجا کنیم. برای این کار یا از serialization یا از parcelable استفاده می کنیم. اما باید بدانیم که parcelable از serialization سریع تر عمل می کند. به همین دلیل به عنوان راه حلی مطلوب برای جابجایی یک object بین کلاس ها محسوب می شود. پیاده سازی serialization و parcelable Serializable یک marker interface می باشد که با override کردن متدهای آن به نحوی که لازم است در برنامه کار می کند. اما این فرآیند آهسته است چرا که لزوما تمام متدها کاربر ندارند...

پیاده سازی RecyclerView با ViewBinding 1 (2)

حذف findViewById در RecyclerView با ViewBinding ساده ترین تعریف از dataBinding حذف مستقیم متد ()findViewById ست. اما چرا این عملکرد باارزش است؟ چون عملیات findViewById برای سیستم هزینه بر می باشد. پیش از این در مقاله ای به آشنایی و چگونگی بکارگیری dataBinding در پروژه اندرویدی پرداخته ایم. اکثر برنامه ها با RecyclerView درگیر می شوند. در این آموزش قصد داریم به صورت قدم به قدم RecyclerView با ViewBinding را پیاده سازیم. تفاوت استفاده از findViewById و ViewBinding پیشگیری از به وجود آمدن Null Exception : در کاتلین این استثنا می تواند مدیریت شود اما...

چرا از معماری تک اکتیویتی استفاده کنیم؟ ۳ (۱)

دنیای بهتر با معماری تک اکتیویتی چگونگی ساخت معماری تک اکتیویتی موضوع مقاله دیگری در بلاگ بود. اکتیویتی ها دروازه ورود به برنامه هستند. اما وظیفه کنترل flow اکتیویتی ها در برنامه نباید به عهده فریم ورک های اصلی برنامه باشد. اینکه جریان اکتیویتی ها با معماری تمیزی نوشته شود باید به عهده برنامه نویس باشد. اما برای ساختن یک معماری تک اکتیویتی تمیز باید ماهیت اکتیویتی را بهتر شناخت. قابلیت و رفتار هر اکتیویتی در برنامه، به نسخه اندرویدی که در آن اجرا می شود بستگی دارد. مزایای...

پیاده سازی Toast سفارشی در اندروید ۵ (۱)

ساخت toast سفارشی
کتابخانه هایی برای Toast سفارشی ایجاد Toast در موقعیت های متفاوتی از برنامه لازم است. اگر می خواهید برنامه شما Toast سفارشی داشته باشد، بدون اتلاف وقت می توانید از کتابخانه هایی استفاده کنید. اگر هم قصد ندارید با بکارگیری کتابخانه ها حجم پروژه شما افزایش پیدا کند، می توانید از کدهای این کتابخانه ها ایده بگیرید. و در نهایت Toast سفارشی خود را پیاده سازید. کتابخانه Motion Toast یک کتابخانه چند منظوره که به زبان کاتلین نوشته شده است. با style های متفاوت و حالت dark mode. برای افزودن این...
برچسب ها: