iHeartRadio অ্যান্ড্রয়েড আর্কিটেকচার উপাদানগুলির সাথে একটি ক্লিনার, লিনার কোড বেস তৈরি করে
সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন
আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

নিউ ইয়র্ক সিটি-ভিত্তিক iHeartRadio সীমাহীন সঙ্গীত এবং হাজার হাজার রেডিও স্টেশন সরবরাহ করে, সবই এক অ্যাপে। কোম্পানির কার্যক্রমের মধ্যে রয়েছে রেডিও সম্প্রচার, অনলাইন, মোবাইল, ডিজিটাল এবং সোশ্যাল মিডিয়া, লাইভ কনসার্ট এবং ইভেন্ট, সিন্ডিকেশন, সঙ্গীত-গবেষণা পরিষেবা এবং স্বাধীন মিডিয়া উপস্থাপনা।
2008 সালে চালু হওয়ার পর থেকে সারা বিশ্বের শ্রোতারা অ্যাপটিকে এক বিলিয়ন বার ডাউনলোড করেছেন। 2017 সালের শেষের দিকে, কোডবেসটি পুরানো হয়ে গিয়েছিল এবং কোড পরিচালনা করা এবং নতুন বৈশিষ্ট্যগুলিকে একীভূত করা কঠিন বলে প্রমাণিত হয়েছিল।
তারা কি করেছিল
iHeartRadio তাদের কোড আপগ্রেড করা শুরু করার সাথে সাথে Android আর্কিটেকচার উপাদান বেছে নিয়েছে। সহজবোধ্য, সহজে-বাস্তবায়নযোগ্য রুম পারসিসটেন্সি লাইব্রেরিটি তাদের ইঞ্জিনিয়ারদের কাছে আকর্ষণীয় ছিল অ্যাসিঙ্ক্রোনাস কোয়েরি এবং RxJava-এর জন্য সমর্থনের মতো জিনিসগুলি পরিচালনা করার ক্ষমতার জন্য, যা iHeartRadio তাদের কোডে ব্যাপকভাবে ব্যবহার করে।
তারা জীবনচক্র-সচেতন উপাদানগুলিও গ্রহণ করেছে, যা অন্য উপাদানের জীবনচক্রের অবস্থার পরিবর্তনের প্রতিক্রিয়া হিসাবে ক্রিয়া সম্পাদন করে। iHeartRadio ইঞ্জিনিয়াররা এই উপাদানগুলিকে ক্রিয়াকলাপ এবং টুকরোগুলিতে ইনজেক্ট করা নির্ভরতা সঙ্কুচিত করার জন্য খুব দরকারী বলে মনে করেছেন। উপরন্তু, কোম্পানি ViewModel ব্যবহার করে প্রোটোটাইপ তৈরি করেছে, যা ডেটাকে স্ক্রিন ঘূর্ণনের মতো কনফিগারেশন পরিবর্তনগুলি থেকে বাঁচতে দেয়।
ফলাফল
iHeartRadio আর্কিটেকচার উপাদানগুলিতে স্থানান্তরিত করা এবং ইন্টিগ্রেশন কতটা ভাল কাজ করছে তা পরীক্ষা করার জন্য লাইব্রেরি ব্যবহার করা সহজ বলে মনে করেছে। রুম এবং অন্যান্য উপাদানগুলির জন্য খুব কম বয়লারপ্লেট কোড ব্যবহার করা প্রয়োজন, অর্থাৎ অ্যাপের কোড এখন উল্লেখযোগ্যভাবে ছোট। আর্কিটেকচারের উপাদানগুলিও কম মেমরি ফাঁসের ফলে। একটি অতিরিক্ত সুবিধা ছিল যে দলে যোগদানকারী নতুন বিকাশকারীরা দ্রুত র্যাম্প আপ করতে এবং কোডিং শুরু করতে পারে।
সামগ্রিকভাবে, আর্কিটেকচার কম্পোনেন্ট গ্রহণ করা iHeartRadio কে একটি ক্লিনার, লিনার কোড বেস তৈরি করতে সাহায্য করেছে যা তাদের ত্রুটি প্রতিরোধ করতে সাহায্য করে। এটি যেকোনো অ্যাপের জন্য সুসংবাদ, বিশেষ করে বিশ্বব্যাপী দর্শকদের কাছে অল-ইন-ওয়ান ডিজিটাল অডিও অফার করার জন্য।
এবার শুরু করা যাক
অ্যান্ড্রয়েড জেটপ্যাকের অংশ হিসেবে অ্যান্ড্রয়েড আর্কিটেকচার কম্পোনেন্টস সব ডেভেলপারদের জন্য উন্মুক্ত। Android Architecture Components দিয়ে শুরু করুন ।
এই পৃষ্ঠার কন্টেন্ট ও কোডের নমুনাগুলি Content License-এ বর্ণিত লাইসেন্সের অধীনস্থ। Java এবং OpenJDK হল Oracle এবং/অথবা তার অ্যাফিলিয়েট সংস্থার রেজিস্টার্ড ট্রেডমার্ক।
2018-05-03 UTC-তে শেষবার আপডেট করা হয়েছে।
[[["সহজে বোঝা যায়","easyToUnderstand","thumb-up"],["আমার সমস্যার সমাধান হয়েছে","solvedMyProblem","thumb-up"],["অন্যান্য","otherUp","thumb-up"]],[["এতে আমার প্রয়োজনীয় তথ্য নেই","missingTheInformationINeed","thumb-down"],["খুব জটিল / অনেক ধাপ","tooComplicatedTooManySteps","thumb-down"],["পুরনো","outOfDate","thumb-down"],["অনুবাদ সংক্রান্ত সমস্যা","translationIssue","thumb-down"],["নমুনা / কোড সংক্রান্ত সমস্যা","samplesCodeIssue","thumb-down"],["অন্যান্য","otherDown","thumb-down"]],["2018-05-03 UTC-তে শেষবার আপডেট করা হয়েছে।"],[],[],null,["# iHeartRadio creates a cleaner, leaner code base with Android Architecture Components\n\nNew York City-based [iHeartRadio](https://www.iheart.com/) provides\nunlimited music and thousands of radio stations, all in one app. The company's\noperations include radio broadcasting, online, mobile, digital and social media,\nlive concerts and events, syndication, music-research services, and\nindependent media representation.\n\nListeners around the world have downloaded the app over a billion times\nsince it launched in 2008. By late 2017, however, the codebase was aging,\nand managing the code and integrating new features proved to be difficult.\n\nWhat they did\n-------------\n\niHeartRadio chose\n[Android Architecture Components](/topic/libraries/architecture) as they\nbegan upgrading their code. The straightforward, easy-to-implement\n[Room](/topic/libraries/architecture/room) persistency library was\nattractive to their engineers for its\ncapabilities for handling such things as asynchronous queries and support for\nRxJava, which iHeartRadio uses extensively in their code.\n\nThey also adopted\n[lifecycle-aware components](/topic/libraries/architecture/lifecycle),\nwhich perform actions in response to a change in the\nlifecycle status of another component. The iHeartRadio\nengineers found these components very useful for shrinking dependencies\ninjected into activities and fragments. In addition, the company created\nprototypes using [ViewModel](/topic/libraries/architecture/viewmodel),\nwhich allows data to survive configuration changes, such as screen rotations.\n\nResults\n-------\n\niHeartRadio found it easy to migrate over to\n[Architecture Components](/jetpack/arch)\nand to use the libraries to test how well integration was working.\n[Room](/topic/libraries/architecture/room) and other components require\nthe use of very little boilerplate code, meaning that the app's code is\nnow significantly shorter. [Architecture Components](/jetpack/arch)\nalso resulted in fewer memory leaks. An additional benefit was that new\ndevelopers joining the team could quickly get ramped up and start coding.\n\nOverall, adopting [Architecture Components](/jetpack/arch) has helped\niHeartRadio to create a cleaner, leaner code base that helps them to prevent errors.\nThat's good news for any app, especially for one offering\nall-in-one digital audio to a worldwide audience.\n\nGet started\n-----------\n\nAndroid Architecture Components is open to all developers as part of\n[Android Jetpack](/jetpack). [Get\nstarted with Android Architecture Components](/jetpack/arch)."]]