Latest & interesting updates #android dev

1,006 views

Published on

A talk on the latest and interesting #AndroidDev updates recently announced and available.

This talk was delivered at GDG DevFest Kathmandu (Nepal).

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,006
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Latest & interesting updates #android dev

  1. 1. GDG DevFest @ Kathmandu, Nepal
  2. 2. Latest & Interesting updates #AndroidDev @pareshmayani
  3. 3. Paresh Mayani Android Developer Manager, GDG Ahmedabad
  4. 4. Interesting updates - #AndroidDev • Android Studio • Gradle Build System • Volley Library • Google Maps Android API v2 • Staged rollouts • Alpha and Beta Testing • Optimization Tips • App Translation Service @pareshmayani
  5. 5. Android Studio @pareshmayani
  6. 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
  7. 7. Gradle Build System @pareshmayani
  8. 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. 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. 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. 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. 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. 13. Volley – “the simultaneous firing of a number of missiles” @pareshmayani
  14. 14. Android – Volley library “Volley is a library that makes networking for Android apps easier and most importantly, faster.” @pareshmayani
  15. 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. 16. How to get started? 1. Clone the Volley project 2. Import the code into your project @pareshmayani
  17. 17. Clone the Volley Project git clone https://android.googlesource.com/platform/frameworks/volley @pareshmayani
  18. 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. 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
  20. 20. Basic Example import com.android.volley.Request; import com.android.volley.RequestQueue; import com.android.volley.Response; import com.android.volley.VolleyError; import com.android.volley.toolbox.JsonObjectRequest; import com.android.volley.toolbox.Volley; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { …… …... RequestQueue queue = Volley.newRequestQueue(this); String url = “Web API URL”; // Prepare JSON Object request queue.add(ObjJsonRequest ); } @pareshmayani
  21. 21. Google Maps API v2 @pareshmayani
  22. 22. Google Maps Android API v2 • With v2 of Maps Android API, you can embed maps into an activity as a fragment @pareshmayani
  23. 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. 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. 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. 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. 27. Getting started with Map API v2 Step - 1 Install and Set up the Google Play Service SDK @pareshmayani
  28. 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. 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. 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. 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
  32. 32. Staged Rollouts @pareshmayani
  33. 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
  34. 34. Staged Rollouts Step - 1 Publish APK as staged rollout @pareshmayani
  35. 35. Staged Rollouts Step - 2 Publish app to certain percentage @pareshmayani
  36. 36. Alpha and Beta Testing @pareshmayani
  37. 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. 38. Alpha and Beta Testing Step - 1 Upload new APK to Beta/Alpha @pareshmayani
  39. 39. Alpha and Beta Testing Step - 2 Publish now to Beta/Alpha @pareshmayani
  40. 40. Alpha and Beta Testing Step - 3 Selecting groups of testers @pareshmayani
  41. 41. Alpha and Beta Testing Move to Alpha/Beta/Production @pareshmayani
  42. 42. Google Play ServicesOptimization Tips @pareshmayani
  43. 43. Optimization Tips @pareshmayani
  44. 44. Optimization Tips @pareshmayani
  45. 45. App Translation Service @pareshmayani
  46. 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
  47. 47. Links 1. https://github.com/PareshMayani/Android-Volley-Example 2. https://developers.google.com/maps/documentation/andro id/ 3. http://developer.android.com/distribute/googleplay/publish /localizing.html#gp-trans @pareshmayani
  48. 48. Paresh Mayani Manager, GDG Ahmedabad Android Developer pareshmayani@gmail.com @pareshmayani < Stay in Touch >

×