আমরা সম্প্রতি শেয়ার করেছি যে, ইনস্টাগ্রাম কীভাবে নাইট মোড ব্যবহার করে ব্যবহারকারীদের চমৎকার স্বল্প আলোর ছবি তোলার সুযোগ করে দিয়েছে । এই ফিচারটি স্থির ছবির জন্য একদম উপযুক্ত, যেখানে একটি উচ্চ-মানের স্থির শট তৈরি করার জন্য একাধিক এক্সপোজারকে একত্রিত করার মতো যথেষ্ট সময় পাওয়া যায়। কিন্তু ছবি তোলার মধ্যবর্তী মুহূর্তগুলোর কী হবে? শাটার বাটন চাপার মুহূর্তের চেয়েও বেশি সময় ধরে ব্যবহারকারীদের ক্যামেরার সাথে ইন্টারঅ্যাক্ট করতে হয়। তারা তাদের দৃশ্য সাজানোর জন্য প্রিভিউ ব্যবহার করেন অথবা কিউআর কোড স্ক্যান করেন।
আজ আমরা লো লাইট বুস্ট (LLB) নিয়ে আলোচনা করব, যা রিয়েল-টাইম ক্যামেরা স্ট্রিমকে উজ্জ্বল করার জন্য ডিজাইন করা একটি শক্তিশালী ফিচার। নাইট মোডের মতো নয়, যেখানে একটি নির্দিষ্ট সময় ধরে স্থির থেকে ক্যাপচার করতে হয়, লো লাইট বুস্ট আপনার লাইভ প্রিভিউ এবং ভিডিও রেকর্ডিংয়ে তাৎক্ষণিকভাবে কাজ করে। LLB উপলব্ধ আলোর উপর ভিত্তি করে প্রয়োজনীয় উজ্জ্বলতার পরিমাণ স্বয়ংক্রিয়ভাবে ঠিক করে নেয়, তাই এটি সব ধরনের পরিবেশের জন্য বিশেষভাবে উপযোগী।
সাম্প্রতিক একটি আপডেটের ফলে, এলএলবি ইনস্টাগ্রাম ব্যবহারকারীদের নিখুঁত শট নেওয়ার সুযোগ করে দেয় এবং এর বিদ্যমান নাইট মোডের মাধ্যমে সেই একই উচ্চ মানের স্বল্প-আলোর ছবি তোলা যায়, যা তাদের ব্যবহারকারীরা এক বছরেরও বেশি সময় ধরে উপভোগ করে আসছেন।
রিয়েল-টাইম উজ্জ্বলতা কেন গুরুত্বপূর্ণ
নাইট মোডের লক্ষ্য যেখানে ছবির চূড়ান্ত মান উন্নত করা, সেখানে লো লাইট বুস্ট (এলএলবি) অন্ধকার পরিবেশে ব্যবহারযোগ্যতা এবং ইন্টারঅ্যাক্টিভিটির জন্য তৈরি করা হয়েছে। আরেকটি গুরুত্বপূর্ণ বিষয় হলো—যদিও এ দুটি একসাথে খুব ভালোভাবে কাজ করে—আপনি এলএলবি এবং নাইট মোড আলাদাভাবেও ব্যবহার করতে পারেন। এবং আপনি দেখবেন, কিছু কিছু ক্ষেত্রে যখন নাইট মোডে তোলা ছবির প্রয়োজন হয় না, তখন এলএলবি-র নিজস্ব উপযোগিতাও রয়েছে। এলএলবি যেভাবে ব্যবহারকারীর অভিজ্ঞতা উন্নত করে তা নিচে দেওয়া হলো:
- উন্নত ফ্রেমিং ও ক্যাপচার: স্বল্প আলোযুক্ত দৃশ্যে, একটি সাধারণ ক্যামেরা প্রিভিউ একেবারে অন্ধকার হতে পারে। LLB ভিউফাইন্ডারকে উজ্জ্বল করে, ফলে ব্যবহারকারীরা শাটার বোতাম চাপার আগেই তারা কী ফ্রেম করছেন তা স্পষ্টভাবে দেখতে পান। এই অভিজ্ঞতার জন্য, আপনি স্বল্প আলোতে সেরা মানের ছবি তোলার জন্য নাইট মোড ব্যবহার করতে পারেন, অথবা LLB-কে ব্যবহার করে হুবহু ছবি তোলার সুযোগ দিতে পারেন।
- নির্ভরযোগ্য স্ক্যানিং: কিউআর কোড এখন সর্বত্রই দেখা যায়, কিন্তু কোনো অন্ধকার রেস্তোরাঁ বা পার্কিং গ্যারেজে এগুলো স্ক্যান করা প্রায়শই হতাশাজনক। অনেক বেশি উজ্জ্বল ক্যামেরা ফিডের সাহায্যে, স্ক্যানিং অ্যালগরিদমগুলো খুব আবছা পরিবেশেও নির্ভরযোগ্যভাবে কিউআর কোড শনাক্ত ও ডিকোড করতে পারে।
- উন্নত মিথস্ক্রিয়া: লাইভ ভিডিও মিথস্ক্রিয়া জড়িত অ্যাপগুলির (যেমন এআই অ্যাসিস্ট্যান্ট বা ভিডিও কল) ক্ষেত্রে, এলএলবি উপলব্ধিযোগ্য তথ্যের পরিমাণ বৃদ্ধি করে, যা কম্পিউটার ভিশন মডেলগুলির কাজ করার জন্য পর্যাপ্ত ডেটা নিশ্চিত করে।
ইনস্টাগ্রামে পার্থক্য

অ্যান্ড্রয়েড ইনস্টাগ্রাম অ্যাপের পেছনের ইঞ্জিনিয়ারিং টিম তাদের ব্যবহারকারীদের জন্য একটি সর্বাধুনিক ক্যামেরা অভিজ্ঞতা প্রদানের লক্ষ্যে সর্বদা কঠোর পরিশ্রম করে। উপরের উদাহরণটিতে আপনি দেখতে পারেন যে, পিক্সেল ১০ প্রো-তে এলএলবি (LLB) ঠিক কতটা পার্থক্য গড়ে তোলে।

ব্যবহারকারীর অভিজ্ঞতায় এটি যে কতটা পার্থক্য তৈরি করে, তা সহজেই অনুমান করা যায়। ব্যবহারকারীরা যদি দেখতে না পান যে তারা কী ধারণ করছেন, তাহলে তাদের ধারণ প্রক্রিয়াটি মাঝপথে ছেড়ে দেওয়ার সম্ভাবনা বেড়ে যায়।

আপনার বাস্তবায়ন নির্বাচন করা
সর্বাধিক সংখ্যক ডিভাইসে সেরা অভিজ্ঞতা প্রদানের জন্য লো লাইট বুস্ট প্রয়োগ করার দুটি উপায় রয়েছে:
- লো লাইট বুস্ট এ-ই মোড: এটি একটি হার্ডওয়্যার-স্তরের অটো-এক্সপোজার মোড। এটি সর্বোচ্চ গুণমান এবং পারফরম্যান্স প্রদান করে, কারণ এটি সরাসরি ইমেজ সিগন্যাল প্রসেসর (ISP) পাইপলাইনকে সূক্ষ্মভাবে সমন্বয় করে। সর্বদা প্রথমে এটি পরীক্ষা করে নিন।
- গুগল লো লাইট বুস্ট: যদি ডিভাইসটি AE মোড সাপোর্ট না করে, তাহলে আপনি গুগল প্লে সার্ভিসেস দ্বারা প্রদত্ত এই সফটওয়্যার-ভিত্তিক সমাধানটি ব্যবহার করতে পারেন। এটি ক্যামেরা স্ট্রিমে পোস্ট-প্রসেসিং প্রয়োগ করে সেটিকে উজ্জ্বল করে তোলে। সম্পূর্ণ সফটওয়্যার-ভিত্তিক সমাধান হওয়ায় এটি আরও বেশি ডিভাইসে উপলব্ধ, ফলে এই ব্যবস্থাটি আপনাকে LLB সহ আরও বেশি ডিভাইসে পৌঁছাতে সাহায্য করে।
কম আলোতে বুস্ট এ.ই. মোড (হার্ডওয়্যার)
প্রক্রিয়া:
এই মোডটি অ্যান্ড্রয়েড ১৫ এবং তার পরবর্তী সংস্করণে চালিত ডিভাইসগুলিতে সমর্থিত এবং এর জন্য OEM-কে HAL-এ এই সাপোর্টটি প্রয়োগ করতে হবে (যা বর্তমানে পিক্সেল ১০ ডিভাইসগুলিতে উপলব্ধ)। এটি সরাসরি ক্যামেরার ইমেজ সিগন্যাল প্রসেসর (ISP)-এর সাথে সংযুক্ত হয়। যদি আপনি CaptureRequest.CONTROL_AE_MODE- কে CameraMetadata.CONTROL_AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY- তে সেট করেন, তাহলে ক্যামেরা সিস্টেম নিয়ন্ত্রণ গ্রহণ করে।
আচরণ:
HAL/ISP দৃশ্যটি বিশ্লেষণ করে এবং ছবিকে উজ্জ্বল করার জন্য সেন্সর ও প্রসেসিং প্যারামিটারগুলো সমন্বয় করে, যার মধ্যে প্রায়শই এক্সপোজার টাইম বাড়ানোও অন্তর্ভুক্ত থাকে। এর ফলে উল্লেখযোগ্যভাবে উন্নত সিগন্যাল-টু-নয়েজ রেশিও (SNR) সহ ফ্রেম পাওয়া যেতে পারে, কারণ ডিজিটাল সেন্সর গেইন (ISO) বৃদ্ধির পরিবর্তে বর্ধিত এক্সপোজার টাইম সেন্সরকে আরও বেশি আলোর তথ্য ধারণ করতে সাহায্য করে।
সুবিধা:
বিশেষায়িত হার্ডওয়্যার ব্যবস্থা ব্যবহারের ফলে ছবির মান ও বিদ্যুৎ সাশ্রয় সম্ভাব্যভাবে উন্নত হতে পারে।
বিনিময়:
খুব অন্ধকার পরিস্থিতিতে ফ্রেম রেট কমে যেতে পারে, কারণ সেন্সরের আলো ধারণ করতে বেশি সময় লাগে। খুব কম আলোতে ফ্রেম রেট কমে ১০ FPS পর্যন্ত নেমে যেতে পারে।
গুগল লো লাইট বুস্ট (গুগল প্লে সার্ভিসেস-এর মাধ্যমে সফটওয়্যার)
প্রক্রিয়া:
এই সমাধানটি, যা গুগল প্লে পরিষেবার মাধ্যমে একটি ঐচ্ছিক মডিউল হিসেবে বিতরণ করা হয়, ক্যামেরা স্ট্রিমে পোস্ট-প্রসেসিং প্রয়োগ করে। এটি HDRNet নামক একটি অত্যাধুনিক রিয়েল-টাইম ইমেজ এনহ্যান্সমেন্ট প্রযুক্তি ব্যবহার করে।
গুগল এইচডিআরনেট:
এই ডিপ লার্নিং মডেলটি কম রেজোলিউশনের ছবি বিশ্লেষণ করে একগুচ্ছ সুসংহত প্যারামিটার (একটি বাইল্যাটারাল গ্রিড) অনুমান করে। এরপর এই গ্রিডটি জিপিইউ-তে পূর্ণ-রেজোলিউশনের ছবিটির কার্যকর ও স্থান-ভিত্তিক পরিবর্তনশীল মানোন্নয়নে পথনির্দেশ করে। মডেলটিকে কম আলোতে ছবি উজ্জ্বল করতে ও এর মান উন্নত করার জন্য প্রশিক্ষণ দেওয়া হয়েছে, যেখানে মুখমণ্ডল স্পষ্টভাবে দেখা যাওয়ার উপর বিশেষ মনোযোগ দেওয়া হয়।
প্রক্রিয়া সমন্বয়:
HDRNet মডেল এবং এর আনুষঙ্গিক লজিকটি লো লাইট বুস্ট প্রসেসর দ্বারা পরিচালিত হয়। এর মধ্যে অন্তর্ভুক্ত রয়েছে:
- দৃশ্য বিশ্লেষণ:
একটি কাস্টম ক্যালকুলেটর যা ক্যামেরার মেটাডেটা (সেন্সর সংবেদনশীলতা, এক্সপোজার টাইম, ইত্যাদি) এবং ছবির বিষয়বস্তু ব্যবহার করে দৃশ্যের প্রকৃত উজ্জ্বলতা অনুমান করে। এই বিশ্লেষণ বুস্ট লেভেল নির্ধারণ করে। - HDRNet প্রক্রিয়াকরণ:
ফ্রেমকে উজ্জ্বল করতে HDRNet মডেল প্রয়োগ করা হয়। ব্যবহৃত মডেলটি কম আলোর দৃশ্যের জন্য টিউন করা এবং রিয়েলটাইম পারফরম্যান্সের জন্য অপ্টিমাইজ করা হয়েছে। - মিশ্রণ:
মূল এবং HDRNet দ্বারা প্রক্রিয়াকৃত ফ্রেমগুলোকে মিশ্রিত করা হয়। প্রয়োগকৃত মিশ্রণের পরিমাণ সিন ব্রাইটনেস ক্যালকুলেটরের মাধ্যমে গতিশীলভাবে নিয়ন্ত্রিত হয়, যা বুস্টেড এবং আনবুস্টেড অবস্থার মধ্যে একটি মসৃণ রূপান্তর নিশ্চিত করে।

সুবিধা:
নির্দিষ্ট HAL সাপোর্টের প্রয়োজন ছাড়াই এটি আরও বিস্তৃত পরিসরের ডিভাইসে কাজ করে (বর্তমানে Samsung S22 Ultra, S23 Ultra, S24 Ultra, S25 Ultra, এবং Pixel 6 থেকে Pixel 9 পর্যন্ত সাপোর্ট করে)। যেহেতু এটি একটি পোস্ট-প্রসেসিং এফেক্ট, তাই এটি ক্যামেরার ফ্রেম রেট বজায় রাখে।
বিনিময়:
একটি পোস্ট-প্রসেসিং পদ্ধতি হিসেবে, এর গুণমান সেন্সর থেকে প্রাপ্ত ফ্রেমে থাকা তথ্যের দ্বারা সীমাবদ্ধ থাকে। এটি সেন্সর পর্যায়ে চরম অন্ধকারের কারণে হারিয়ে যাওয়া বিবরণ পুনরুদ্ধার করতে পারে না।
হার্ডওয়্যার এবং সফটওয়্যার উভয় পথই উপলব্ধ থাকায়, লো লাইট বুস্ট অ্যান্ড্রয়েড ইকোসিস্টেম জুড়ে কম আলোতে ক্যামেরার পারফরম্যান্স উন্নত করার জন্য একটি পরিবর্ধনযোগ্য সমাধান প্রদান করে। ডেভেলপারদের উচিত, যেখানে সম্ভব সেখানে AE মোডকে অগ্রাধিকার দেওয়া এবং গুগল লো লাইট বুস্টকে একটি নির্ভরযোগ্য বিকল্প হিসেবে ব্যবহার করা।
আপনার অ্যাপে লো লাইট বুস্ট প্রয়োগ করা
এখন চলুন দেখি কিভাবে LLB-এর উভয় অফারই প্রয়োগ করা যায়। আপনি আপনার অ্যাপে CameraX বা Camera2 যা-ই ব্যবহার করুন না কেন, নিম্নলিখিত বিষয়গুলো প্রয়োগ করতে পারেন। সর্বোত্তম ফলাফলের জন্য, আমরা ধাপ ১ এবং ধাপ ২ উভয়ই প্রয়োগ করার পরামর্শ দিই।
ধাপ ১: লো লাইট বুস্ট এ.ই. মোড
অ্যান্ড্রয়েড ১৫ এবং তার পরবর্তী সংস্করণে চালিত নির্বাচিত কিছু ডিভাইসে উপলব্ধ, এলএলবি এই মোড একটি বিশেষ অটো-এক্সপোজার (এই) মোড হিসেবে কাজ করে।
১. প্রাপ্যতা যাচাই করুন
প্রথমে যাচাই করে নিন, ক্যামেরা ডিভাইসটি এলএলবি এই মোড (LLB AE Mode) সমর্থন করে কি না।
val cameraInfo = cameraProvider.getCameraInfo(cameraSelector) val isLlbSupported = cameraInfo.isLowLightBoostSupported
২. মোডটি সক্রিয় করুন
সমর্থিত হলে, আপনি CameraX-এর CameraControl অবজেক্ট ব্যবহার করে LLB AE মোড সক্রিয় করতে পারেন।
// After setting up your camera, use the CameraInfo object to enable LLB AE Mode.
camera = cameraProvider.bindToLifecycle(...)
if (isLlbSupported) {
try {
// The .await() extension suspends the coroutine until the
// ListenableFuture completes. If the operation fails, it throws
// an exception which we catch below.
camera?.cameraControl.enableLowLightBoostAsync(true).await()
} catch (e: IllegalStateException) {
Log.e(TAG, "Failed to enable low light boost: not available on this device or with the current camera configuration", e)
} catch (e: CameraControl.OperationCanceledException) {
Log.e(TAG, "Failed to enable low light boost: camera is closed or value has changed", e)
}
}
৩. রাজ্য পর্যবেক্ষণ করুন
আপনি মোডটির জন্য অনুরোধ করেছেন মানেই এই নয় যে এটি বর্তমানে 'বুস্ট' হচ্ছে। সিস্টেমটি কেবল তখনই বুস্ট সক্রিয় করে যখন দৃশ্যটি প্রকৃতপক্ষে অন্ধকার থাকে। আপনি আপনার UI আপডেট করার জন্য (যেমন একটি চাঁদের আইকন দেখানো) একটি Observer সেট আপ করতে পারেন অথবা asFlow() এক্সটেনশন ফাংশনটি ব্যবহার করে এটিকে একটি Flow-তে রূপান্তর করতে পারেন।
if (isLlbSupported) {
camera?.cameraInfo.lowLightBoostState.asFlow().collectLatest { state ->
// Update UI accordingly
updateMoonIcon(state == LowLightBoostState.ACTIVE)
}
}
লো লাইট বুস্ট এ.ই. মোড সম্পর্কে সম্পূর্ণ নির্দেশিকাটি আপনি এখানে পড়তে পারেন।
ধাপ ২: গুগল লো লাইট বুস্ট
যেসব ডিভাইস হার্ডওয়্যার AE মোড সাপোর্ট করে না, সেগুলোর জন্য গুগল লো লাইট বুস্ট একটি শক্তিশালী বিকল্প হিসেবে কাজ করে। এটি একটি LowLightBoostSession ব্যবহার করে স্ট্রিমটিকে ইন্টারসেপ্ট করে এবং উজ্জ্বল করে তোলে।
১. নির্ভরতা যোগ করুন
এই ফিচারটি গুগল প্লে পরিষেবার মাধ্যমে প্রদান করা হয়।
implementation("com.google.android.gms:play-services-camera-low-light-boost:16.0.1-beta06")
// Add coroutines-play-services to simplify Task APIs
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-play-services:1.10.2")
২. ক্লায়েন্ট চালু করুন
আপনার ক্যামেরা চালু করার আগে, মডিউলটি ইনস্টল করা আছে এবং ডিভাইসটি সমর্থিত কিনা তা নিশ্চিত করতে LowLightBoostClient ব্যবহার করুন।
val llbClient = LowLightBoost.getClient(context)
// Check support and install if necessary
val isSupported = llbClient.isCameraSupported(cameraId).await()
val isInstalled = llbClient.isModuleInstalled().await()
if (isSupported && !isInstalled) {
// Trigger installation
llbClient.installModule(installCallback).await()
}
৩. একটি এলএলবি সেশন তৈরি করুন
Google LLB প্রতিটি ফ্রেম প্রসেস করে, তাই আপনাকে অবশ্যই আপনার ডিসপ্লে সারফেসটি LowLightBoostSession এ দিতে হবে, এবং এটি আপনাকে এমন একটি সারফেস ফেরত দেবে যাতে ব্রাইটনিং প্রয়োগ করা হয়েছে। Camera2 অ্যাপের জন্য, আপনি CaptureRequest.Builder.addTarget() ব্যবহার করে প্রাপ্ত সারফেসটি যোগ করতে পারেন। CameraX-এর জন্য, এই প্রসেসিং পাইপলাইনটি CameraEffect ক্লাসের সাথে সবচেয়ে ভালোভাবে মেলে, যেখানে আপনি একটি SurfaceProcessor দিয়ে এফেক্টটি প্রয়োগ করতে পারেন এবং একটি SurfaceProvider দিয়ে আপনার প্রিভিউতে তা ফেরত দিতে পারেন, যেমনটি এই কোডে দেখা যাচ্ছে।
// With a SurfaceOutput from SurfaceProcessor.onSurfaceOutput() and a
// SurfaceRequest from Preview.SurfaceProvider.onSurfaceRequested(),
// create a LLB Session.
suspend fun createLlbSession(surfaceRequest: SurfaceRequest, outputSurfaceForLlb: Surface) {
// 1. Create the LLB Session configuration
val options = LowLightBoostOptions(
outputSurfaceForLlb,
cameraId,
surfaceRequest.resolution.width,
surfaceRequest.resolution.height,
true // Start enabled
)
// 2. Create the session.
val llbSession = llbClient.createSession(options, callback).await()
// 3. Get the surface to use.
val llbInputSurface = llbSession.getCameraSurface()
// 4. Provide the surface to the CameraX Preview UseCase.
surfaceRequest.provideSurface(llbInputSurface, executor, resultListener)
// 5. Set the scene detector callback to monitor how much boost is being applied.
val onSceneBrightnessChanged = object : SceneDetectorCallback {
override fun onSceneBrightnessChanged(
session: LowLightBoostSession,
boostStrength: Float
) {
// Monitor the boostStrength from 0 (no boosting) to 1 (maximum boosting)
}
}
llbSession.setSceneDetectorCallback(onSceneBrightnessChanged, null)
}
৪. মেটাডেটা প্রদান করুন
অ্যালগরিদমটি কাজ করার জন্য ক্যামেরার অটো-এক্সপোজার অবস্থা বিশ্লেষণ করা প্রয়োজন। আপনাকে অবশ্যই ক্যাপচারের ফলাফল LLB সেশনে ফেরত পাঠাতে হবে। CameraX-এ, আপনার Preview.Builder-কে Camera2Interop.Extender.setSessionCaptureCallback() দিয়ে এক্সটেন্ড করে এটি করা যায়।
Camera2Interop.Extender(previewBuilder).setSessionCaptureCallback(
object : CameraCaptureSession.CaptureCallback() {
override fun onCaptureCompleted(
session: CameraCaptureSession,
request: CaptureRequest,
result: TotalCaptureResult
) {
super.onCaptureCompleted(session, request, result)
llbSession?.processCaptureResult(result)
}
}
)
ক্লায়েন্ট এবং সেশনের জন্য বিস্তারিত বাস্তবায়ন পদ্ধতি গুগল লো লাইট বুস্ট গাইডে পাওয়া যাবে।
পরবর্তী পদক্ষেপ
এই দুটি বিকল্প প্রয়োগ করার মাধ্যমে আপনি নিশ্চিত করেন যে, আলোর অবস্থা নির্বিশেষে আপনার ব্যবহারকারীরা স্পষ্টভাবে দেখতে, নির্ভরযোগ্যভাবে স্ক্যান করতে এবং কার্যকরভাবে যোগাযোগ করতে পারবে।
একটি সম্পূর্ণ, প্রোডাকশন-রেডি কোডবেসে এই ফিচারগুলো বাস্তবে দেখতে, গিটহাবে থাকা জেটপ্যাক ক্যামেরা অ্যাপটি দেখুন। এটিতে এলএলবি এই মোড এবং গুগল এলএলবি উভয়ই প্রয়োগ করা হয়েছে, যা আপনার নিজের ইন্টিগ্রেশনের জন্য একটি রেফারেন্স হিসেবে কাজ করবে।
পড়তে থাকুন

পণ্যের খবর
অ্যান্ড্রয়েড স্টুডিও পান্ডা ৪ এখন স্থিতিশীল এবং প্রোডাকশনে ব্যবহারের জন্য প্রস্তুত। এই রিলিজে যুক্ত হয়েছে প্ল্যানিং মোড, নেক্সট এডিট প্রেডিকশন এবং আরও অনেক কিছু, যা দিয়ে উচ্চ-মানের অ্যান্ড্রয়েড অ্যাপ তৈরি করা আগের চেয়েও সহজ।
Matt Dyor • পড়তে ৫ মিনিট

পণ্যের খবর
আপনি যদি একজন অ্যান্ড্রয়েড ডেভেলপার হন এবং আপনার অ্যাপে উদ্ভাবনী এআই ফিচার যুক্ত করতে চান, তবে আমরা সম্প্রতি শক্তিশালী নতুন আপডেট চালু করেছি।
Thomas Ezan • পড়তে ৩ মিনিট

পণ্যের খবর
অ্যান্ড্রয়েড ১৭ বিটা ৪-এ পৌঁছেছে, যা এই রিলিজ চক্রের সর্বশেষ নির্ধারিত বিটা এবং অ্যাপের সামঞ্জস্যতা ও প্ল্যাটফর্মের স্থিতিশীলতার জন্য একটি অত্যন্ত গুরুত্বপূর্ণ মাইলফলক।
Daniel Galpin • পড়তে ৪ মিনিট
আপ-টু-ডেট থাকুন
অ্যান্ড্রয়েড ডেভেলপমেন্টের সর্বশেষ তথ্য প্রতি সপ্তাহে আপনার ইনবক্সে পান।





