يُعد تصميم بنية التطبيق اعتبارًا مهمًا لضمان أن تكون تطبيقاتك قوية وقابلة للاختبار وقابلة للصيانة. يوفر Android مجموعة من المكتبات والمكونات لمساعدتك في تجميع التطبيق وفقًا لأفضل الممارسات.
الأدلّة
- تعرَّف على أساسيات إنشاء تطبيق فعّال من خلال دليل بنية التطبيقات.
- تحسين تجربة المستخدم عن طريق ضبط إعدادات التنقّل في التطبيقات
- قلِّل من النصوص النموذجية وسهِّل الاحتفاظ بالرمز البرمجي باستخدام أدلة تضمين الاعتماد.
آخر الأخبار والفيديوهات
Unit Testing Lifecycle and State in ViewModels
Updated 13 مارس 2025
You can test a ViewModel by simply creating an instance using its constructor in your test code. However, this approach has limitations — there is no straightforward way to: With ViewModelScenario, these are now easy to test, helping you catch errors
Google Maps improved download reliability by 10% using user initiated data transfer API
Updated 3 سبتمبر 2024
In Android 14 we introduced user-initiated data transfer jobs, or UIDT. You can use the new API setUserInitiated in JobScheduler to specify that the job is a user-initiated data transfer job. This API is helpful for use cases that require
Prepare your app to support predictive back gestures
Updated 29 يوليو 2022
Since we introduced gesture navigation in Android 10, users have signaled they want to understand where a back gesture will take them before they complete it. As the first step to addressing this need, we've been developing a predictive back gesture.
MAD Skills WorkManager : Wrap-Up
Updated 2 أبريل 2021
In case you missed it, we’ve just finished a MAD Skills series on WorkManager. We started by introducing WorkManager for those new to the library and then proceeded to talk more about advanced usages including how to test and debug your WorkManager
Improving urban GPS accuracy for your app
Updated 7 ديسمبر 2020
At Android, we want to make it as easy as possible for developers to create the most helpful apps for their users. That’s why we aim to provide the best location experience with our APIs like the Fused Location Provider API (FLP). However, we’ve
MAD Skills Navigation Wrap-Up
Updated 30 أكتوبر 2020
It’s a Wrap! We’ve just finished the first series in the MAD Skills series of videos and articles on Modern Android Development. This time, the topic was Navigation component, the API and tool that helps you create and edit navigation paths through
What’s New in Navigation 2020
Updated 23 يوليو 2020
The latest versions of the Jetpack Navigation library (2.2.0 and 2.3.0) added a lot of requested features and functionality, including dynamic navigation, navigation back stack entries, a library for navigation testing, additional features for deep
Getting on the same page with Paging 3
Updated 21 يوليو 2020
The Paging library enables you to load large sets of data gradually and gracefully, reducing network usage and system resources. You told us that the Paging 2.0 API was not enough - that you wanted easier error handling, more flexibility to implement
Unifying Background Task Scheduling on Android
Updated 19 نوفمبر 2019
Android users care a lot about the battery life on their phones. In particular, how your app schedules deferrable background tasks play an important role in battery life. To help you build more battery-friendly apps, we introduced WorkManager as the
Gesture Navigation: A Backstory
Updated 8 أغسطس 2019
One of the biggest changes in Android Q is the introduction of a new gesture navigation. Just to recap - with the new system navigation mode - users can navigate back (left/right edge swipe), to the home screen (swipe up from the bottom), and trigger
What’s New with Android Jetpack and Jetpack Compose
Updated 8 مايو 2019
Last year, we launched Android Jetpack, a collection of software components designed to accelerate Android development and make writing high-quality apps easier. Jetpack was built with you in mind -- to take the hardest, most common developer
Android Jetpack Navigation Stable Release
Updated 14 مارس 2019
Today we're happy to announce the stable release of the Android Jetpack Navigation component. The Jetpack Navigation component's suite of libraries, tooling and guidance provides a robust, complete navigation framework, freeing you from the
Android Jetpack WorkManager Stable Release
Updated 5 مارس 2019
Simplify how you manage background work with WorkManager Today, we're happy to announce the release of Android Jetpack WorkManager 1.0 Stable. We want to thank so many of you in our dev community who have given us feedback and logged bugs along the
Modern background execution in Android
Updated 16 أكتوبر 2018
This is the third in a series of blog posts in which outline strategies and guidance in Android with regard to power. Over the years, executing background tasks on Android has evolved. To write modern apps, it's important to learn how to run your
#31DaysOfKotlin — Week 4 Recap
Updated 26 أبريل 2018
An article summarizing the last week of tweets from #31DaysOfKotlin.
#31DaysOfKotlin — Week 3 Recap
Updated 17 أبريل 2018
An article summarizing the third week of tweets from #31DaysOfKotlin.
#31DaysOfKotlin — Week 2 Recap
Updated 12 أبريل 2018
An article summarizing the second week of tweets from #31DaysOfKotlin.
#31DaysOfKotlin — Week 1 Recap
Updated 3 أبريل 2018
An article summarizing the first week of tweets from #31DaysOfKotlin.
Build an App with Architecture Components
Updated 1 مارس 2018
Walks you through the different architecture levels that comprise an Android app.
ViewModels and LiveData: Patterns + AntiPatterns
Updated 12 سبتمبر 2017
Some do's and dont's when using LiveData and ViewModels.
Testing Room migrations
Updated 24 يوليو 2017
What you need to know to test migrating a database to Room.
Understanding migrations with Room
Updated 18 يوليو 2017
How database migration to Room works under the hood.
ViewModels: Persistence, onSaveInstanceState(), Restoring UI State and Loaders
Updated 17 يوليو 2017
This post is the second in a series exploring the ins and outs of ViewModel.
7 Steps To Room
Updated 7 يوليو 2017
A step-by-step guide that explains how to migrate your app to Room.
ViewModels : A Simple Example
Updated 28 يونيو 2017
This post is the first in a series exploring the ins and outs of ViewModel.