অ্যান্ড্রয়েড ১৪ ডেভেলপারদের জন্য দুর্দান্ত বৈশিষ্ট্য এবং API গুলি উপস্থাপন করেছে। নিম্নলিখিতগুলি আপনাকে আপনার অ্যাপগুলির বৈশিষ্ট্যগুলি সম্পর্কে জানতে এবং সম্পর্কিত API গুলি দিয়ে শুরু করতে সহায়তা করে।
যোগ করা, পরিবর্তিত এবং সরানো API গুলির বিস্তারিত তালিকার জন্য, API diff রিপোর্টটি পড়ুন। যোগ করা API গুলির বিস্তারিত জানতে Android API রেফারেন্সটি দেখুন — Android 14 এর জন্য, API লেভেল 34 এ যোগ করা API গুলি সন্ধান করুন। প্ল্যাটফর্ম পরিবর্তনগুলি আপনার অ্যাপগুলিকে কোথায় প্রভাবিত করতে পারে সে সম্পর্কে জানতে, Android 14 এবং সমস্ত অ্যাপকে লক্ষ্য করে এমন অ্যাপগুলির জন্য Android 14 আচরণ পরিবর্তনগুলি পরীক্ষা করে দেখতে ভুলবেন না।
আন্তর্জাতিকীকরণ
প্রতি অ্যাপের ভাষা পছন্দ
Android 14 এই অতিরিক্ত ক্ষমতা সহ Android 13 (API লেভেল 33) এ প্রবর্তিত প্রতি-অ্যাপ ভাষার বৈশিষ্ট্যগুলিতে প্রসারিত হয়:
স্বয়ংক্রিয়ভাবে একটি অ্যাপের
localeConfigতৈরি করুন : Android Studio Giraffe Canary 7 এবং AGP 8.1.0-alpha07 দিয়ে শুরু করে, আপনি স্বয়ংক্রিয়ভাবে প্রতি-অ্যাপ ভাষা পছন্দগুলিকে সমর্থন করার জন্য আপনার অ্যাপ কনফিগার করতে পারেন। আপনার প্রকল্প সংস্থানগুলির উপর ভিত্তি করে, Android Gradle প্লাগইনLocaleConfigফাইল তৈরি করে এবং চূড়ান্ত ম্যানিফেস্ট ফাইলে এটির একটি রেফারেন্স যোগ করে, তাই আপনাকে আর ফাইলটি ম্যানুয়ালি তৈরি বা আপডেট করতে হবে না।LocaleConfigফাইলে অন্তর্ভুক্ত করার জন্য লোকেলগুলি নির্ধারণ করতে AGP আপনার অ্যাপ মডিউলেরresফোল্ডার এবং যেকোনো লাইব্রেরি মডিউল নির্ভরতাগুলির সংস্থানগুলি ব্যবহার করে।একটি অ্যাপের
localeConfigএর জন্য ডায়নামিক আপডেট : ডিভাইসের সিস্টেম সেটিংসে আপনার অ্যাপের সমর্থিত ভাষার তালিকা গতিশীলভাবে আপডেট করতেLocaleManagerএsetOverrideLocaleConfig()এবংgetOverrideLocaleConfig()পদ্ধতি ব্যবহার করুন। প্রতি অঞ্চলে সমর্থিত ভাষার তালিকা কাস্টমাইজ করতে এই নমনীয়তা ব্যবহার করুন, A/B পরীক্ষা চালান, অথবা আপনার অ্যাপ স্থানীয়করণের জন্য সার্ভার-সাইড পুশ ব্যবহার করলে লোকেলের একটি আপডেট করা তালিকা প্রদান করুন।ইনপুট মেথড এডিটর (IMEs)-এর জন্য অ্যাপের ভাষার দৃশ্যমানতা : IMEs বর্তমান অ্যাপের ভাষা চেক করতে
getApplicationLocales()পদ্ধতি ব্যবহার করতে পারে এবং সেই ভাষার সাথে IME ভাষা মেলে।
ব্যাকরণগত প্রতিফলন API
3 বিলিয়ন মানুষ লিঙ্গভিত্তিক ভাষায় কথা বলে: এমন ভাষা যেখানে ব্যাকরণগত বিভাগগুলি-যেমন বিশেষ্য, ক্রিয়া, বিশেষণ এবং অব্যয়গুলি-আপনি যে লোকে এবং বস্তুগুলির সাথে কথা বলেন বা তাদের লিঙ্গ অনুসারে প্রভাবিত করে৷ ঐতিহ্যগতভাবে, অনেক লিঙ্গযুক্ত ভাষা ডিফল্ট বা জেনেরিক লিঙ্গ হিসাবে পুংলিঙ্গ ব্যাকরণগত লিঙ্গ ব্যবহার করে।
ভুল ব্যাকরণগত লিঙ্গে ব্যবহারকারীদের সম্বোধন করা, যেমন পুরুষালি ব্যাকরণগত লিঙ্গে মহিলাদের সম্বোধন করা, তাদের কর্মক্ষমতা এবং মনোভাবকে নেতিবাচকভাবে প্রভাবিত করতে পারে। বিপরীতে, ভাষা সহ একটি UI যা ব্যবহারকারীর ব্যাকরণগত লিঙ্গকে সঠিকভাবে প্রতিফলিত করে ব্যবহারকারীর ব্যস্ততা উন্নত করতে পারে এবং আরও ব্যক্তিগতকৃত এবং স্বাভাবিক-শব্দযুক্ত ব্যবহারকারীর অভিজ্ঞতা প্রদান করতে পারে।
To help you build a user-centric UI for gendered languages, Android 14 introduces the Grammatical Inflection API, which lets you add support for grammatical gender without refactoring your app.
আঞ্চলিক পছন্দসমূহ
Regional preferences enable users to personalize temperature units, the first day of the week, and numbering systems. A European living in the United States might prefer temperature units to be in Celsius rather than Fahrenheit and for apps to treat Monday as the beginning of the week instead of the US default of Sunday.
New Android Settings menus for these preferences provide users with a
discoverable and centralized location to change app preferences. These
preferences also persist through backup and restore. Several APIs and
intents—such as
getTemperatureUnit
and
getFirstDayOfWeek—
grant your app read access to user preferences, so your app can adjust how it
displays information. You can also register a
BroadcastReceiver on
ACTION_LOCALE_CHANGED
to handle locale configuration changes when regional preferences change.
To find these settings, open the Settings app and navigate to System > Languages & input > Regional preferences.
অ্যাক্সেসযোগ্যতা
নন-লিনিয়ার ফন্ট স্কেলিং ২০০% এ
Starting in Android 14, the system supports font scaling up to 200%, providing users with additional accessibility options.
To prevent large text elements on screen from scaling too large, the system applies a nonlinear scaling curve. This scaling strategy means that large text doesn't scale at the same rate as smaller text. Nonlinear font scaling helps preserve the proportional hierarchy between elements of different sizes while mitigating issues with linear text scaling at high degrees (such as text being cut off or text that becomes harder to read due to an extremely large display sizes).
Test your app with nonlinear font scaling
If you already use scaled pixels (sp) units to define text sizing, then these additional options and scaling improvements are applied automatically to the text in your app. However, you should still perform UI testing with the maximum font size enabled (200%) to ensure that your app applies the font sizes correctly and can accommodate larger font sizes without impacting usability.
To enable 200% font size, follow these steps:
- Open the Settings app and navigate to Accessibility > Display size and text.
- For the Font size option, tap the plus (+) icon until the maximum font size setting is enabled, as shown in the image that accompanies this section.
Use scaled pixel (sp) units for text-sizes
Remember to always specify text sizes in sp units. When your app uses sp units, Android can apply the user's preferred text size and scale it appropriately.
Don't use sp units for padding or define view heights assuming implicit padding: with nonlinear font scaling sp dimensions might not be proportional, so 4sp + 20sp might not equal 24sp.
Convert scaled pixel (sp) units
Use TypedValue.applyDimension() to convert from sp units
to pixels, and use TypedValue.deriveDimension() to
convert pixels to sp. These methods apply the appropriate nonlinear scaling
curve automatically.
Avoid hardcoding equations using
Configuration.fontScale or
DisplayMetrics.scaledDensity. Because font scaling is
nonlinear, the scaledDensity field is no longer accurate. The fontScale
field should be used for informational purposes only because fonts are no longer
scaled with a single scalar value.
Use sp units for lineHeight
Always define android:lineHeight using sp units instead
of dp, so the line height scales along with your text. Otherwise, if your text
is sp but your lineHeight is in dp or px, it doesn't scale and looks cramped.
TextView automatically corrects the lineHeight so that your intended
proportions are preserved, but only if both textSize and lineHeight are
defined in sp units.
ক্যামেরা এবং মিডিয়া
ছবির জন্য আল্ট্রা এইচডিআর
Android 14 adds support for High Dynamic Range (HDR) images that retain more of the information from the sensor when taking a photo, which enables vibrant colors and greater contrast. Android uses the Ultra HDR format, which is fully backward compatible with JPEG images, allowing apps to seamlessly interoperate with HDR images, displaying them in Standard Dynamic Range (SDR) as needed.
Rendering these images in the UI in HDR is done automatically by the framework
when your app opts in to using HDR UI for its Activity Window, either through a
manifest entry or at runtime by calling
Window.setColorMode(). You can also capture compressed Ultra
HDR still images on supported devices. With more colors recovered
from the sensor, editing in post can be more flexible. The
Gainmap associated with Ultra HDR images can be used to render
them using OpenGL or Vulkan.
ক্যামেরা এক্সটেনশনে জুম, ফোকাস, পোস্টভিউ এবং আরও অনেক কিছু
Android 14 upgrades and improves camera extensions, allowing apps to handle longer processing times, which enables improved images using compute-intensive algorithms like low-light photography on supported devices. These features give users an even more robust experience when using camera extension capabilities. Examples of these improvements include:
- Dynamic still capture processing latency estimation provides much more
accurate still capture latency estimates based on the current scene and
environment conditions. Call
CameraExtensionSession.getRealtimeStillCaptureLatency()to get aStillCaptureLatencyobject that has two latency estimation methods. ThegetCaptureLatency()method returns the estimated latency betweenonCaptureStartedandonCaptureProcessStarted(), and thegetProcessingLatency()method returns the estimated latency betweenonCaptureProcessStarted()and the final processed frame being available. - Support for capture progress callbacks so that apps can display the current
progress of long-running, still-capture processing operations. You can check
if this feature is available with
CameraExtensionCharacteristics.isCaptureProcessProgressAvailable, and if it is, you implement theonCaptureProcessProgressed()callback, which has the progress (from 0 to 100) passed in as a parameter. Extension specific metadata, such as
CaptureRequest.EXTENSION_STRENGTHfor dialing in the amount of an extension effect, such as the amount of background blur withEXTENSION_BOKEH.Postview Feature for Still Capture in camera extensions, which provides a less-processed image more quickly than the final image. If an extension has increased processing latency, a postview image could be provided as a placeholder to improve UX and switched out later for the final image. You can check if this feature is available with
CameraExtensionCharacteristics.isPostviewAvailable. Then you can pass anOutputConfigurationtoExtensionSessionConfiguration.setPostviewOutputConfiguration.Support for
SurfaceViewallowing for a more optimized and power-efficient preview render path.Support for tap to focus and zoom during extension usage.
ইন-সেন্সর জুম
যখন CameraCharacteristics REQUEST_AVAILABLE_CAPABILITIES_STREAM_USE_CASE SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW থাকে, তখন আপনার অ্যাপ উন্নত সেন্সর ক্ষমতা ব্যবহার করতে পারে একটি ক্রপ করা RAW স্ট্রীম ব্যবহার করে যেটি ক্যাপচারের পুরো ক্ষেত্রটি ক্যাপচারের সাথে CaptureRequest ব্যবহার করে CameraMetadata.SCALER_AVAILABLE_STREAM_USE_CASES_CROPPED_RAW এ সেট করা হয়েছে। অনুরোধ ওভাররাইড নিয়ন্ত্রণ বাস্তবায়ন করে, আপডেট করা ক্যামেরা ব্যবহারকারীদের জুম নিয়ন্ত্রণ দেয় এমনকি অন্যান্য ক্যামেরা নিয়ন্ত্রণ প্রস্তুত হওয়ার আগেই।
লসলেস ইউএসবি অডিও
Android 14 USB তারযুক্ত হেডসেটের মাধ্যমে অডিওফাইল-স্তরের অভিজ্ঞতার জন্য ক্ষতিহীন অডিও ফর্ম্যাটের জন্য সমর্থন লাভ করে। আপনি একটি USB ডিভাইসের পছন্দের মিক্সার অ্যাট্রিবিউটের জন্য প্রশ্ন করতে পারেন, পছন্দের মিক্সার অ্যাট্রিবিউটের পরিবর্তনের জন্য একজন শ্রোতা নিবন্ধন করতে পারেন এবং AudioMixerAttributes ক্লাস ব্যবহার করে মিক্সার অ্যাট্রিবিউট কনফিগার করতে পারেন। এই শ্রেণীটি বিন্যাস উপস্থাপন করে, যেমন চ্যানেল মাস্ক, নমুনা হার এবং অডিও মিক্সারের আচরণ। ক্লাস অডিও সরাসরি পাঠানোর অনুমতি দেয়, মিশ্রণ, ভলিউম সমন্বয়, বা প্রক্রিয়াকরণ প্রভাব ছাড়াই।
ডেভেলপারের উৎপাদনশীলতা এবং সরঞ্জাম
শংসাপত্র ব্যবস্থাপক
অ্যান্ড্রয়েড 14 একটি প্ল্যাটফর্ম API হিসাবে ক্রেডেনশিয়াল ম্যানেজার যুক্ত করে, Google Play পরিষেবাগুলি ব্যবহার করে জেটপ্যাক লাইব্রেরির মাধ্যমে Android 4.4 (API স্তর 19) ডিভাইসগুলিতে অতিরিক্ত সমর্থন সহ। শংসাপত্র ব্যবস্থাপকের লক্ষ্য হল ব্যবহারকারী-কনফিগার করা শংসাপত্র প্রদানকারীদের সাথে শংসাপত্র পুনরুদ্ধার এবং সঞ্চয় করে এমন API সহ ব্যবহারকারীদের জন্য সাইন-ইন সহজ করা। ক্রেডেনশিয়াল ম্যানেজার একাধিক সাইন-ইন পদ্ধতি সমর্থন করে, যার মধ্যে ব্যবহারকারীর নাম এবং পাসওয়ার্ড, পাসকি এবং ফেডারেটেড সাইন-ইন সমাধান (যেমন Google-এর সাথে সাইন-ইন) একক API-এ অন্তর্ভুক্ত।
পাসকি অনেক সুবিধা প্রদান করে। উদাহরণস্বরূপ, পাসকিগুলি শিল্পের মানগুলির উপর তৈরি করা হয়, বিভিন্ন অপারেটিং সিস্টেম এবং ব্রাউজার ইকোসিস্টেম জুড়ে কাজ করতে পারে এবং ওয়েবসাইট এবং অ্যাপ উভয়ের সাথেই ব্যবহার করা যেতে পারে।
আরও তথ্যের জন্য, ক্রেডেনশিয়াল ম্যানেজার এবং পাসকি ডকুমেন্টেশন এবং ক্রেডেনশিয়াল ম্যানেজার এবং পাসকি সম্পর্কে ব্লগপোস্ট দেখুন।
স্বাস্থ্য সংযোগ
Health Connect is an on-device repository for user health and fitness data. It allows users to share data between their favorite apps, with a single place to control what data they want to share with these apps.
On devices running Android versions prior to Android 14, Health Connect is available to download as an app on the Google Play store. Starting with Android 14, Health Connect is part of the platform and receives updates through Google Play system updates without requiring a separate download. With this, Health Connect can be updated frequently, and your apps can rely on Health Connect being available on devices running Android 14 or higher. Users can access Health Connect from the Settings in their device, with privacy controls integrated into the system settings.
Health Connect includes several new features in Android 14, such as exercise routes, allowing users to share a route of their workout which can be visualized on a map. A route is defined as a list of locations saved within a window of time, and your app can insert routes into exercise sessions, tying them together. To ensure that users have complete control over this sensitive data, users must allow sharing individual routes with other apps.
For more information, see the Health Connection documentation and the blogpost on What's new in Android Health.
OpenJDK ১৭টি আপডেট
অ্যান্ড্রয়েড 14 অ্যাপ এবং প্ল্যাটফর্ম ডেভেলপারদের জন্য লাইব্রেরি আপডেট এবং জাভা 17 ভাষা সমর্থন উভয় সহ সর্বশেষ OpenJDK LTS রিলিজের বৈশিষ্ট্যগুলির সাথে সারিবদ্ধ করার জন্য Android এর মূল লাইব্রেরিগুলিকে রিফ্রেশ করার কাজ চালিয়ে যাচ্ছে।
নিম্নলিখিত বৈশিষ্ট্য এবং উন্নতি অন্তর্ভুক্ত করা হয়েছে:
- জাভা 17 সমর্থনে প্রায় 300টি
java.baseক্লাস আপডেট করা হয়েছে। - টেক্সট ব্লক , যা জাভা প্রোগ্রামিং ভাষায় মাল্টি-লাইন স্ট্রিং লিটারেল প্রবর্তন করে।
- instanceof-এর জন্য প্যাটার্ন ম্যাচিং , যা কোনো বস্তুকে কোনো অতিরিক্ত ভেরিয়েবল ছাড়াই একটি
instanceofএকটি নির্দিষ্ট ধরণ হিসেবে গণ্য করার অনুমতি দেয়। - সীলমোহর করা ক্লাস , যা আপনাকে কোন ক্লাস এবং ইন্টারফেসগুলিকে প্রসারিত বা প্রয়োগ করতে পারে তা সীমাবদ্ধ করতে দেয়।
গুগল প্লে সিস্টেম আপডেট (প্রজেক্ট মেইনলাইন) এর জন্য ধন্যবাদ, 600 মিলিয়নেরও বেশি ডিভাইস সর্বশেষতম অ্যান্ড্রয়েড রানটাইম (ART) আপডেট পেতে সক্ষম হয়েছে যাতে এই পরিবর্তনগুলি অন্তর্ভুক্ত রয়েছে। এটি আমাদের অঙ্গীকারের অংশ যাতে অ্যাপগুলিকে ডিভাইস জুড়ে আরও সামঞ্জস্যপূর্ণ, সুরক্ষিত পরিবেশ দেওয়া যায় এবং প্ল্যাটফর্ম রিলিজ ছাড়া ব্যবহারকারীদের কাছে নতুন বৈশিষ্ট্য এবং ক্ষমতা প্রদান করা যায়।
Java এবং OpenJDK হল ওরাকল এবং/অথবা এর সহযোগীদের ট্রেডমার্ক বা নিবন্ধিত ট্রেডমার্ক।
অ্যাপ স্টোরের জন্য উন্নতি
Android 14 introduces several PackageInstaller APIs that
allow app stores to improve their user experience.
Request install approval before downloading
Installing or updating an app might require user approval.
For example, when an installer making use of the
REQUEST_INSTALL_PACKAGES permission attempts to install a
new app. In prior Android versions, app stores can only request user approval
after APKs are written to the install session and the
session is committed.
Starting with Android 14, the requestUserPreapproval()
method lets installers request user approval before committing the install
session. This improvement lets an app store defer downloading any APKs until
after the installation has been approved by the user. Furthermore, once a user
has approved installation, the app store can download and install the app in the
background without interrupting the user.
Claim responsibility for future updates
The setRequestUpdateOwnership() method allows an installer
to indicate to the system that it intends to be responsible for future updates
to an app it is installing. This capability enables update ownership
enforcement, meaning that only the update owner is permitted
to install automatic updates to the app. Update ownership enforcement helps to
ensure that users receive updates only from the expected app store.
Any other installer, including those making use of the
INSTALL_PACKAGES permission, must receive explicit user
approval in order to install an update. If a user decides to proceed with an
update from another source, update ownership is lost.
Update apps at less-disruptive times
App stores typically want to avoid updating an app that is actively in use because this leads to the app's running processes being killed, which potentially interrupts what the user was doing.
Starting with Android 14, the InstallConstraints API
gives installers a way to ensure that their app updates happen at an opportune
moment. For example, an app store can call the
commitSessionAfterInstallConstraintsAreMet() method to
make sure that an update is only committed when the user is no longer
interacting with the app in question.
Seamlessly install optional splits
With split APKs, features of an app can be delivered in separate APK files,
rather than as a monolithic APK. Split APKs allow app stores to optimize the
delivery of different app components. For example, app stores might optimize
based on the properties of the target device. The
PackageInstaller API has supported splits since its
introduction in API level 22.
In Android 14, the setDontKillApp() method allows an
installer to indicate that the app's running processes shouldn't be killed when
new splits are installed. App stores can use this feature to seamlessly install
new features of an app while the user is using the app.
অ্যাপ মেটাডেটা বান্ডেল
অ্যান্ড্রয়েড 14 থেকে শুরু করে, অ্যান্ড্রয়েড প্যাকেজ ইনস্টলার আপনাকে অ্যাপ মেটাডেটা নির্দিষ্ট করতে দেয়, যেমন ডেটা নিরাপত্তা অনুশীলন, অ্যাপ স্টোর পৃষ্ঠাগুলিতে অন্তর্ভুক্ত করার জন্য যেমন Google Play।
ব্যবহারকারীরা কখন ডিভাইসের স্ক্রিনশট নেয় তা শনাক্ত করুন
To create a more standardized experience for detecting screenshots, Android 14 introduces a privacy-preserving screenshot detection API. This API lets apps register callbacks on a per-activity basis. These callbacks are invoked, and the user is notified, when the user takes a screenshot while that activity is visible.
ব্যবহারকারীর অভিজ্ঞতা
শেয়ারশিট কাস্টম অ্যাকশন এবং উন্নত র্যাঙ্কিং
অ্যান্ড্রয়েড 14 ব্যবহারকারীদের জন্য কাস্টম অ্যাপ অ্যাকশন এবং আরও তথ্যপূর্ণ পূর্বরূপ ফলাফল সমর্থন করতে সিস্টেম শেয়ারশীট আপডেট করে।
কাস্টম অ্যাকশন যোগ করুন
অ্যান্ড্রয়েড 14 এর সাথে, আপনার অ্যাপটি এটি যে সিস্টেম শেয়ারশীটে আহ্বান করে তাতে কাস্টম অ্যাকশন যোগ করতে পারে।

সরাসরি শেয়ার লক্ষ্যের র্যাঙ্কিং উন্নত করুন
অ্যান্ড্রয়েড 14 ব্যবহারকারীর জন্য আরও সহায়ক ফলাফল প্রদানের জন্য সরাসরি শেয়ারের লক্ষ্যগুলির র্যাঙ্কিং নির্ধারণ করতে অ্যাপ থেকে আরও বেশি সংকেত ব্যবহার করে। র্যাঙ্কিংয়ের জন্য সবচেয়ে দরকারী সংকেত প্রদান করতে, আপনার সরাসরি শেয়ার লক্ষ্যগুলির র্যাঙ্কিং উন্নত করার জন্য নির্দেশিকা অনুসরণ করুন। যোগাযোগ অ্যাপগুলি বহির্গামী এবং আগত বার্তাগুলির জন্য শর্টকাট ব্যবহারেরও রিপোর্ট করতে পারে।

প্রেডিক্টিভ ব্যাকের জন্য বিল্ট-ইন এবং কাস্টম অ্যানিমেশনের জন্য সমর্থন
Android 13 একটি বিকাশকারী বিকল্পের পিছনে ভবিষ্যদ্বাণীমূলক ব্যাক-টু-হোম অ্যানিমেশন চালু করেছে। ডেভেলপার বিকল্প চালু থাকা সমর্থিত অ্যাপে ব্যবহার করা হলে, পিছনে সোয়াইপ করা একটি অ্যানিমেশন দেখায় যা নির্দেশ করে যে পিছনের অঙ্গভঙ্গি অ্যাপ থেকে হোম স্ক্রিনে ফিরে আসে।
অ্যান্ড্রয়েড 14-এ একাধিক উন্নতি এবং ভবিষ্যদ্বাণীমূলক পিছনের জন্য নতুন নির্দেশিকা রয়েছে:
- আপনি সমগ্র অ্যাপের পরিবর্তে ক্রিয়াকলাপ প্রতি পূর্বাভাসমূলক ব্যাক সিস্টেম অ্যানিমেশন নির্বাচন করতে
android:enableOnBackInvokedCallback=trueসেট করতে পারেন। - আমরা অ্যান্ড্রয়েড 13 থেকে হোম-টু-হোম অ্যানিমেশনের সাথে নতুন সিস্টেম অ্যানিমেশন যোগ করেছি। নতুন সিস্টেম অ্যানিমেশনগুলি হল ক্রস-অ্যাক্টিভিটি এবং ক্রস-টাস্ক, যা আপনি প্রেডিকটিভ ব্যাক-এ স্থানান্তরিত করার পরে স্বয়ংক্রিয়ভাবে পেয়ে যাবেন।
- আমরা নীচের শীট , সাইড শীট এবং অনুসন্ধানের জন্য নতুন উপাদান উপাদান অ্যানিমেশন যুক্ত করেছি।
- আমরা কাস্টম ইন-অ্যাপ অ্যানিমেশন এবং ট্রানজিশন তৈরি করার জন্য ডিজাইন নির্দেশিকা তৈরি করেছি।
- কাস্টম ইন-অ্যাপ ট্রানজিশন অ্যানিমেশন সমর্থন করার জন্য আমরা নতুন API যোগ করেছি:
-
OnBackPressedCallbackinhandleOnBackStarted,handleOnBackProgressed,handleOnBackCancelled -
onBackStarted,onBackProgressed,OnBackAnimationCallbackinonBackCancelled - ট্রানজিশনের জন্য ওভাররাইড অ্যাক্টিভিটি
overridePendingTransitionপরিবর্তেoverrideActivityTransitionট্রানজিশন ব্যবহার করুন যা ব্যবহারকারীর পিছনে সোয়াইপ করার সাথে সাথে প্রতিক্রিয়া জানায়।
-
এই অ্যান্ড্রয়েড 14 প্রিভিউ রিলিজের সাথে, প্রেডিকটিভ ব্যাকের সমস্ত বৈশিষ্ট্য একটি বিকাশকারী বিকল্পের পিছনে থাকে। আপনার অ্যাপ্লিকেশানটিকে পূর্বাভাসমূলক পিছনে স্থানান্তর করতে বিকাশকারী নির্দেশিকা দেখুন, সেইসাথে কাস্টম ইন-অ্যাপ ট্রানজিশন তৈরি করার জন্য বিকাশকারী নির্দেশিকা দেখুন৷
প্রতি অ্যাপে বড় স্ক্রিনের ডিভাইস প্রস্তুতকারক ওভাররাইড করে
প্রতি-অ্যাপ ওভাররাইডগুলি ডিভাইস নির্মাতাদের বড় স্ক্রিনের ডিভাইসে অ্যাপের আচরণ পরিবর্তন করতে সক্ষম করে। উদাহরণ স্বরূপ, FORCE_RESIZE_APP ওভাররাইড সিস্টেমকে ডিসপ্লে ডাইমেনশনের সাথে ফিট করার জন্য অ্যাপের আকার পরিবর্তন করার নির্দেশ দেয় (আকারের সামঞ্জস্য মোড এড়িয়ে যাওয়া) এমনকি যদি অ্যাপ ম্যানিফেস্টে resizeableActivity="false" সেট করা থাকে।
ওভাররাইডগুলি বড় স্ক্রিনে ব্যবহারকারীর অভিজ্ঞতা উন্নত করার উদ্দেশ্যে করা হয়েছে৷
নতুন ম্যানিফেস্ট বৈশিষ্ট্যগুলি আপনাকে আপনার অ্যাপের জন্য কিছু ডিভাইস প্রস্তুতকারক ওভাররাইড অক্ষম করতে সক্ষম করে৷
প্রতি অ্যাপে বড় স্ক্রিন ব্যবহারকারীর ওভাররাইড
Per-app overrides change the behavior of apps on large screen devices. For example, the OVERRIDE_MIN_ASPECT_RATIO_LARGE device manufacturer override sets the app aspect ratio to 16:9 regardless of the app's configuration.
Android 14 QPR1 enables users to apply per‑app overrides by means of a new settings menu on large screen devices.
অ্যাপ স্ক্রিন শেয়ারিং
App screen sharing enables users to share an app window instead of the entire device screen during screen content recording.
With app screen sharing, the status bar, navigation bar, notifications, and other system UI elements are excluded from the shared display. Only the content of the selected app is shared.
App screen sharing improves productivity and privacy by enabling users to run multiple apps but limit content sharing to a single app.
Pixel 8 Pro-তে Gboard-এ LLM-চালিত স্মার্ট রিপ্লাই
On Pixel 8 Pro devices with the December Feature Drop, developers can try out higher-quality smart replies in Gboard powered by on-device Large Language Models (LLMs) running on Google Tensor.
This feature is available as a limited preview for US English in WhatsApp, Line, and KakaoTalk. It requires using a Pixel 8 Pro device with Gboard as your keyboard.
To try it out, first enable the feature in Settings > Developer Options > AiCore Settings > Enable Aicore Persistent.
Next, open a conversation in a supported app to see LLM-powered Smart Reply in Gboard's suggestion strip in response to incoming messages.
গ্রাফিক্স
পাথগুলি অনুসন্ধানযোগ্য এবং ইন্টারপোলেটেবল
অ্যান্ড্রয়েডের Path এপিআই হল ভেক্টর গ্রাফিক্স তৈরি এবং রেন্ডার করার জন্য একটি শক্তিশালী এবং নমনীয় প্রক্রিয়া, একটি পাথ স্ট্রোক বা পূরণ করার ক্ষমতা, লাইন সেগমেন্ট বা চতুর্ভুজ বা ঘনবক্ররেখা থেকে একটি পথ তৈরি করা, আরও জটিল আকার পেতে বুলিয়ান অপারেশন সম্পাদন করা, বা সমস্ত এই একযোগে. একটি সীমাবদ্ধতা হল একটি পথ বস্তুতে আসলে কী আছে তা খুঁজে বের করার ক্ষমতা; বস্তুর অভ্যন্তরীণগুলি সৃষ্টির পরে কলারদের কাছে অস্বচ্ছ।
একটি Path তৈরি করতে, আপনি পাথ সেগমেন্ট যোগ করার জন্য moveTo() , lineTo() , এবং cubicTo() এর মতো পদ্ধতিগুলিকে কল করুন৷ কিন্তু সেগমেন্টগুলি কী তা জিজ্ঞাসা করার কোনও উপায় নেই, তাই আপনাকে সৃষ্টির সময় সেই তথ্যটি ধরে রাখতে হবে।
অ্যান্ড্রয়েড 14 থেকে শুরু করে, আপনি সেগুলির ভিতরে কী আছে তা খুঁজে পেতে পাথগুলি অনুসন্ধান করতে পারেন৷ প্রথমে, আপনাকে Path.getPathIterator API ব্যবহার করে একটি PathIterator অবজেক্ট পেতে হবে:
কোটলিন
val path = Path().apply { moveTo(1.0f, 1.0f) lineTo(2.0f, 2.0f) close() } val pathIterator = path.pathIterator
জাভা
Path path = new Path(); path.moveTo(1.0F, 1.0F); path.lineTo(2.0F, 2.0F); path.close(); PathIterator pathIterator = path.getPathIterator();
এর পরে, আপনি প্রতিটি সেগমেন্টের জন্য প্রয়োজনীয় সমস্ত ডেটা পুনরুদ্ধার করে একের পর এক সেগমেন্টের মাধ্যমে পুনরাবৃত্তি করতে PathIterator কল করতে পারেন। এই উদাহরণটি PathIterator.Segment অবজেক্ট ব্যবহার করে, যা আপনার জন্য ডেটা প্যাকেজ করে:
কোটলিন
for (segment in pathIterator) { println("segment: ${segment.verb}, ${segment.points}") }
জাভা
while (pathIterator.hasNext()) { PathIterator.Segment segment = pathIterator.next(); Log.i(LOG_TAG, "segment: " + segment.getVerb() + ", " + segment.getPoints()); }
PathIterator এর একটি নন-অ্যালোকেটিং সংস্করণ রয়েছে next() যেখানে আপনি পয়েন্ট ডেটা ধরে রাখতে একটি বাফারে পাস করতে পারেন।
Path ডেটা অনুসন্ধানের গুরুত্বপূর্ণ ব্যবহারের ক্ষেত্রে একটি হল ইন্টারপোলেশন। উদাহরণস্বরূপ, আপনি দুটি ভিন্ন পথের মধ্যে অ্যানিমেট (বা morph ) করতে চাইতে পারেন। সেই ব্যবহারের ক্ষেত্রে আরও সরল করার জন্য, Android 14-এ Path interpolate() পদ্ধতিও অন্তর্ভুক্ত রয়েছে। দুটি পাথের একই অভ্যন্তরীণ কাঠামো রয়েছে বলে ধরে নিলে, interpolate() পদ্ধতিটি সেই ইন্টারপোলেটেড ফলাফলের সাথে একটি নতুন Path তৈরি করে। এই উদাহরণটি এমন একটি পথ প্রদান করে যার আকৃতি অর্ধেক পথ (.5 এর রৈখিক ইন্টারপোলেশন) path এবং otherPath মধ্যে:
কোটলিন
val interpolatedResult = Path() if (path.isInterpolatable(otherPath)) { path.interpolate(otherPath, .5f, interpolatedResult) }
জাভা
Path interpolatedResult = new Path(); if (path.isInterpolatable(otherPath)) { path.interpolate(otherPath, 0.5F, interpolatedResult); }
জেটপ্যাক গ্রাফিক্স-পাথ লাইব্রেরি অ্যান্ড্রয়েডের পূর্ববর্তী সংস্করণগুলির জন্যও অনুরূপ API সক্ষম করে।
ভার্টেক্স এবং ফ্র্যাগমেন্ট শেডার সহ কাস্টম মেশ
Android has long supported drawing triangle meshes with custom shading, but the input mesh format has been limited to a few predefined attribute combinations. Android 14 adds support for custom meshes, which can be defined as triangles or triangle strips, and can, optionally, be indexed. These meshes are specified with custom attributes, vertex strides, varying, and vertex and fragment shaders written in AGSL.
The vertex shader defines the varyings, such as position and color, while the
fragment shader can optionally define the color for the pixel, typically by
using the varyings created by the vertex shader. If color is provided by the
fragment shader, it is then blended with the current Paint
color using the blend mode selected when
drawing the mesh. Uniforms can be passed
into the fragment and vertex shaders for additional flexibility.
ক্যানভাসের জন্য হার্ডওয়্যার বাফার রেন্ডারার
HardwareBuffer হার্ডওয়্যার ত্বরণের সাথে আঁকতে অ্যান্ড্রয়েডের Canvas এপিআই ব্যবহারে সহায়তা করার জন্য, Android 14 HardwareBufferRenderer প্রবর্তন করেছে। এই APIটি বিশেষভাবে উপযোগী হয় যখন আপনার ব্যবহারের ক্ষেত্রে SurfaceControl মাধ্যমে সিস্টেম কম্পোজিটরের সাথে কম-লেটেন্সি অঙ্কনের জন্য যোগাযোগ জড়িত থাকে।