I am developing an app that work from min sdk version 19 onwards. i'm currently using AppCompatActivity, support v4 fragments and support v7 lib..
Is this actually needed for this app?
Can I avoid all support libs..?
Does that increases app performance?
No, you can't avoid all support lib.
It will not affect on your application performance. You can definitely avoid adding third party lib in your project till it is necessary to add.
Please read this link. It will give you more detail about Android support libs.
http://martiancraft.com/blog/2015/06/android-support-library/
Related
I want to use AndroidX library, but in the official Google developer website, they said it works with Android 9 and SDK 28, and I’m using Android 6 with SDK 23, can I use AndroidX in my project? Or should I continue to use support library ? I found no information on the Internet.
Thanks.
Yes, you can use AndroidX and you should use it. It provides complete back compatibility just as support library does.Actually it is nothing but a major improvement to support library. Android have introduced it in Jetpack and from now on, the new features to support library would be introduced in AndroidX. So you should use it.
Keep in mind, you have to set it up in gradle.properties file as mentioned in the android documentation. https://developer.android.com/jetpack/androidx
Our app uses now a min Android API 19, so we don't really need the support lib anymore, only for the ViewPager would we need an alternative. But the question I was making myself is if it is better to use e.g. DialogFragment from the support lib rather than the one from the framework itself? I was thinking in a possible advantage of doing so where for example the code in the support lib has bug fixes, so if I use it I would have the fixes also on older Android versions, if not then I may get some errors/bugs etc. on older versions, have you some thoughts about this?
IMO it's wise to continue to use the support library versions anyway regardless of your minSdk version - the support library is regularly updated and likely has various bug fixes compared to the shipped platform versions.
As you say as well, it means that you can rely on one implementation.
The only upside that I can see to dropping the support libraries and using the platform implementation is a smaller APK/lower method count, which may or may not be worth it for you.
Yes. That's one advantage of using Support library API over the SDK one - you might get bug fixes in the support library which fixes on all supported Android versions.
And we can choose the version of the support library. If there are some compatibility issues in the latest version, we can use the old version of support library as a temporary solution, even targeting the latest SDK version.
Is it possible to find out what functionality will be included in forthcoming Android support libraries?
I ask as I need to add a printing feature to my app - but my minSdkVersion is 15 and the printing api in Android was only introduced in API 19. So I would like to know if printing may be added to the support library later (hopefully in the near future) or whether I should start trying to find some decent third party printing libraries.
If it isn't possible to know beforehand what features will be in future support libraries, is it normal for Android features to be added later to the support library, or are they generally added to the support library at the same time they are added to the main Android library?
I have a problem while building my android project due to some missing android-support-library (i.e: android-support-v7.jar) so to fix it I had to add an Android Support Library from eclipse wizard. However I was surprised that my $android_sdk_home/extras/andoird/support/v7/appcompact/libs contains android-support-v4.jar and android-support-v7-appcompat.jar. Is that normal?
If I understood you correctly, you're wondering if having both v4 and v7 support libraries is normal. It is perfectly normal as they have different purposes. Basically they provide you with widgets and APIs to be used respectively in API levels 4 and 7 and beyond. They also provide different interfaces.
You can read about it here in more detail: https://developer.android.com/topic/libraries/support-library/features.html
Question:
When should be used android.support.* packages, and when android.*?
Would love next facts considered while answering:
Not required to support old android versions
ViewPager and other features available in support-only are desired
If it can always be done in support, then why bother with native library?
Can support/native library be disabled in IDE, so that I stop accidentally importing wrong packages?
Support library is used to make your app capable to run on android lower versions also.
You should definitely read the documentation.
android.support.* is used to support older devices that does not have new Android API.
For example, Fragments were introduced from HONEYCOMB, that's why you should use support package, if you are planning to support Android 2.*.