6. Android Studio
• Android focused IDE (designed
specifically for Android development)
• New Android development environment
based on IntelliJ IDEA
• Similar to Eclipse with the ADT Plug-in
• Contains All the Android SDK Tools to
design, test, debug, and profile your app
@pareshmayani
8. Gradle Build System
• Gradle is an advanced build
management system based on Groovy
• Its an Open source build system
• Combines the power of Ant and Maven
@pareshmayani
9. Features of Gradle build system
• Dependency Management (Flexible approach to
dependency management that can reuse existing maven
repositories or reference local JARs)
@pareshmayani
10. Features of Gradle build system
• Dependency Management (Flexible approach to
dependency management that can reuse existing maven
repositories or reference local JARs)
• A single build system (Gradle is the authoritative build
across the IDE and the command-line.)
@pareshmayani
11. Features of Gradle build system
• Dependency Management (Flexible approach to
dependency management that can reuse existing maven
repositories or reference local JARs)
• A single build system (Gradle is the authoritative build
across the IDE and the command-line.)
• Product Flavors (Free & Paid version), Build Variants (Play
store OR Amazon OR Any other store), Build Type (Debug,
QA, Release)
@pareshmayani
12. Features of Gradle build system
• Dependency Management (Flexible approach to
dependency management that can reuse existing maven
repositories or reference local JARs)
• A single build system (Gradle is the authoritative build
across the IDE and the command-line.)
• Product Flavors (Free & Paid version), Build Variants (Play
store OR Amazon OR Any other store), Build Type (Debug,
QA, Release)
• Binary Bundles for Libaries (.aar) (Gradle supports the new
.aar binary bundle format for the library projects)
@pareshmayani
13. Volley – “the simultaneous firing of a
number of missiles”
@pareshmayani
14. Android – Volley library
“Volley is a library that makes networking for
Android apps easier and most importantly, faster.”
@pareshmayani
15. Advantages of using Volley Library
• Volley automatically schedule all network requests.
Volley will be taking care of all the network requests your app
executes for fetching response or image from web.
• Volley provides powerful customization abilities.
• Volley provides Debugging and tracing tools.
• Volley provides powerful cancellation request API.
- You can cancel a single request or
- You can set blocks or scopes of requests to cancel.
@pareshmayani
16. How to get started?
1. Clone the Volley project
2. Import the code into your project
@pareshmayani
17. Clone the Volley Project
git clone
https://android.googlesource.com/platform/frameworks/volley
@pareshmayani
18. 2 Main classes of Volley Library
2 main classes
Request queue
It is the interest you use for
dispatching requests to the
network
It contains all the
necessary details for
making web API call
Request
@pareshmayani
19. Take a look at JsonObjectRequest
JsonObjectRequest ObjJsonRequest = new JsonObjectRequest(Request.Method.GET, url, null, new
Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
// Successful response
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// Failure response
}
});
@pareshmayani
22. Google Maps Android API v2
• With v2 of Maps Android API, you can embed maps into an
activity as a fragment
@pareshmayani
23. Google Maps Android API v2
• With v2 of Maps Android API, you can embed maps into an
activity as a fragment
• The API is now distributed as part of the Google Play
services SDK
@pareshmayani
24. Google Maps Android API v2
• With v2 of Maps Android API, you can embed maps into an
activity as a fragment
• The API is now distributed as part of the Google Play
services SDK
• Maps are now 3D
@pareshmayani
25. Google Maps Android API v2
• With v2 of Maps Android API, you can embed maps into an
activity as a fragment
• The API is now distributed as part of the Google Play
services SDK
• Maps are now 3D
• The Maps API now uses vector tiles. Their data
representation is smaller, so maps appear in your apps faster,
and use less bandwidth.
@pareshmayani
26. Google Maps Android API v2
• With v2 of Maps Android API, you can embed maps into an
activity as a fragment
• The API is now distributed as part of the Google Play
services SDK
• Maps are now 3D
• The Maps API now uses vector tiles. Their data
representation is smaller, so maps appear in your apps faster,
and use less bandwidth.
• Caching is improved
@pareshmayani
27. Getting started with Map API v2
Step - 1 Install and Set up the Google Play Service SDK
@pareshmayani
28. Getting started with Map API v2
Step - 2 Run the sample
Once you've installed the Google Play services package, the
Google Maps sample is located in
<android-sdk>/extras/google-play-services/samples/maps
@pareshmayani
29. Basic example
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</RelativeLayout>
public class BasicMapActivity extends FragmentActivity {
/**
* Note that this may be null if the Google Play services APK is not available.
*/
private GoogleMap mMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.basic_demo);
mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
.getMap();
}
@pareshmayani
30. Placing Marker
// latitude and longitude
double latitude = ;
double longitude = ;
// create marker
MarkerOptions marker = new MarkerOptions().position(new LatLng(latitude, longitude)).title(“Hello World!");
// adding marker
googleMap.addMarker(marker);
@pareshmayani
31. Placing Marker
private static final LatLng AHMEDABAD= new LatLng(23.0300, 72.5800);
// Uses a colored icon.
Marker mBrisbane = mMap.addMarker(new MarkerOptions()
.position(AHMEDABAD)
.title(“Ahmedabad")
.snippet("Population: 5.571 million ")
.icon(BitmapDescriptorFactory.defaultMarker(BitmapDescriptorFactory.HUE_AZURE)));
// Uses a custom icon.
Marker mSydney = mMap.addMarker(new MarkerOptions()
.position(AHMEDABAD)
.title(“Ahmedabad")
.snippet("Population: 5.571 million ")
.icon(BitmapDescriptorFactory.fromResource(R.drawable.arrow)));
// Creates a draggable marker. Long press to drag.
Marker mMelbourne = mMap.addMarker(new MarkerOptions()
.position(AHMEDABAD)
.title(“Ahmedabad")
.snippet("Population: 5.571 million ")
.draggable(true));
@pareshmayani
33. Staged Rollouts
• With a staged rollout, you can
publish your app to a certain
percentage of the market first to
make sure that your app works
properly before rolling it out to
everybody.
• Users receiving the staged
rollout can leave public reviews
in Google Play.
@pareshmayani
37. Alpha and Beta Testing
• Google Play Developer console
allows you to test two different
version of your app at the same
time in addition to your production
version.
• It’s FREE
• Testing by real users before app
goes live
@pareshmayani
38. Alpha and Beta Testing
Step - 1 Upload new APK to Beta/Alpha
@pareshmayani
39. Alpha and Beta Testing
Step - 2 Publish now to Beta/Alpha
@pareshmayani
40. Alpha and Beta Testing
Step - 3 Selecting groups of testers
@pareshmayani
41. Alpha and Beta Testing
Move to Alpha/Beta/Production
@pareshmayani
46. App Translation Service
• Google Play can help you quickly find and purchase
translations of your app.
• In the Developer Console, you can browse a list of third-
party vendors who are pre-qualified by Google to offer high-
quality translation at competitive prices.
Steps:
1. Upload the strings you want translated, select the
languages you want to translate into.
2. Select your translation vendor based on time and price.
@pareshmayani