Considerations for updating Android app using Android API to Google API - android

I have an Android geolocation application released into the market named apna ilaka.
It is using Android API level 2.1. In order to allow a user to add places I would like to display a Google map with which the user could find different locations and would be able to add place indicators and information.
Following are my questions :
Do I really need to change my Android API level to Google API level in config path?
Since my app is already in market if I upload this new apk on market will it create any issue in updating the software on user side?

You only need to update the API level of you app if you want to use any api that are higher than the currently set level.
Supporting multiple API levels can be tricky but it isn't a nightmare, check out this great post by google on this subject:
http://android-developers.blogspot.com/2010/07/how-to-have-your-cupcake-and-eat-it-too.html

I guess you are talking about "Google API" versus "Android API"? If you need Google Maps you will need to use "Google API" as it contains the Maps libraries. Otherwise you could not use Maps classes when developing/compiling.
No, as far as I know you should not have any problems.

Related

How to implement google maps with best possible backward compatibility in an android?

I'm building a simple android app that uses Google maps api to display map and navigation. As you may know Google maps need Play services Library to run on client android phone. i want my app to run in much older android OS's(14,15,..)
Problems:
1- Clients need to install or activate Play services app.
2- then Clients have to update play services app to the latest version to use my app with google maps.
3- how to make app to run in older androids? just by specifying min sdk ?
so in order to solve first and third problem i've no idea but for the second one :
building project with older Play service dependencies may help but i dont know how to do this or even it helps or not.
it'll appreciate if guys offer any solutions !
Thank you all.
What are the recommended practices for maintaining the widest backwards compatibility of an Android app while depending on Google Play Services?
Here are the pointers I was able to aggregate concerning backwards compatibility, including those that use Google Play Services.
The Google Maps Android API uses OpenGL ES version 2 to render the map. The least Android API version that has support for this is API 8 or Android 2.2 .
Compile against the oldest version of Google Play Services that contains the APIs that you need. As further discussed in this thread, refrain from using wildcards like 5.+ because that updates to the latest play services. Instead use a widely used version like com.google.android.gms:play-services:5.0.89.
Use the V4 support library to verify and request permissions.
com.android.support:support-v4:23.0.1
You might also check some additional insight from this SO thread.

Does Google Play library have backwards compatibility support? (And other libraries)

I was reading this tutorial http://www.androidhive.info/2015/02/android-location-api-using-google-play-services/ and I find it amazing that this one and many others never state what versions they support.
There must be a simple list which contains what libraries are for what api versions, not just Google Play library but for everything else, from reading file paths to camera api. An example would be just the camera api 2, which is for api version 21 and above. A nice list listing all of this would be very helpful!
It's extremely time consuming tracking down all of this information.
I would say that there is one - in packages documentation you can easily filter by API number.
Official Android APIs have their API number define on official Android documentation like #sebap123 said.
Google Play Services isn't part of Android itself. It's a complimentary add-on. Google Play Services runs on Android 2.3 or higher. All new GPS APIs included in GPS will run on all these devices that have GPS(Android 2.3 or higher). Unlike new Android APIs that only run on new version of Android.

Which one to choose as Project build target ? Google APIs or SDK platform

I have been searching but couldn't find the difference between both of these things. I have read other questions in which people have said that we should use Google Apis as build target when we want to integrate Google Maps Api or use other Google apis.
The problem is that i am using maps on projects that were build on simple Android 4.4 not Google API (platform 4.4) and the maps are working just fine on my Galaxy s3.
How are they possibly working?
And if they are working then what is the difference between Google APIs and SDK platform?
Or is the difference only related to emulators?
It is really pointless to use the Google API's now because most if not all things included in that have been deprecated and moved to google play services. Selecting Google API will not do anything except maybe increase the size of your program. The difference being is in addition to the 4.4 SDK you would also get all the Google API stuff with it
You don't need (but it won't hurt you) to use Google APIs if you use Google Maps Android API v2. Google APIs is for when you work with deprecated Google Maps Android API v1 or you program USB.
The google API includes Google Maps and other Google-specific libraries. The Android one only includes core android libraries.
As for which one to choose, I would go with the Android API until you find that you need the Google API; such as when you need Google Maps functionality.
http://code.google.com/android/add-ons/google-apis/index.html is a link to the Google API page.

Google Mobile SDK for Business

I'm currently using Google maps API and directions API for getting routes, however there is a limitation upto 2500 requests per day. so while searching for a way, got confused after i came across this link..
Google Maps Mobile SDK for Business: Android
Can anyone please explain the difference between this sdk and google maps API..?
its basically a software development kit that makes use of the google maps api and helps you in development of apps that use those apis... if request limitation is an issue try other opensource apis like argcis or tomtom etc
In order to use the individual SDK such as map, you would require a key. That key is persistent, meaning once you have one, you can keep using that same key in your app manifest, regardless of how many copies of the same app you have.
However, there is a daily limit imposed on how much keys can be requested per day from google to prevent abuse. With that said, I don't think you would have a problem of requesting one. If it is given out for today, just wait till tomorrow and the limit would be refreshed.
As for the Enterprise version, you get more support over the normal version. The main differences is that you get the Business SDK as a static library rather than one using the Google Play Services. That is all.

Android app using Google Maps library, installable everywhere

Is it possible to use Google Maps Android library in my app in a way, that the app can be installed even on phones without Google Maps? On phones without Google Maps, the maps feature would be disabled.
Is it possible to use Google Maps Android library in my app in a way, that the app can be installed even on
phones without Google Maps?
There is an undocumented android:required="false" flag you can put on the <uses-library> element. I am hopeful that they will document this in a future release. With that set to false, you would need to use reflection to see if Google Maps is loaded (e.g., try to find the MapView class) -- if not, disable whatever would lead the user to a map.
If anybody else has the same problem (I do):
On this Android Developer page it says -- as far as I can tell -- that you can reference the Maps API and thus have e.g. a map activity in your app by using Google Play services:
"The Google Maps Android APIs are not included in the Android
platform, but are available on any device with the Google Play Store
running Android 2.2 or higher, through Google Play
services.
To integrate Google Maps into your app, you need to install the Google
Play services libraries for your Android SDK. For more details, read
about Google Play
services."
Apparently it is an actual app (it is installed on my phone) that updates certain Google stuff.
So it seems it is possible, but only for devices running Android 2.2 (API level 8) and above.
I find the explanation on that site a bit unclear, however, and I have not been able to test this on my own.
In my case, I guess I have to live with the fact that not all devices will be able to install my app, since I target an API < 8.

Categories

Resources