Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Latest & Interesting updates #AndroidDev

Paresh Mayani
September 28, 2013

Latest & Interesting updates #AndroidDev

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

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

Paresh Mayani

September 28, 2013
Tweet

More Decks by Paresh Mayani

Other Decks in Technology

Transcript

  1. 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
  2. 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
  3. 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
  4. Features of Gradle build system • Dependency Management (Flexible approach

    to dependency management that can reuse existing maven repositories or reference local JARs) @pareshmayani
  5. 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
  6. 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
  7. 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
  8. Android – Volley library “Volley is a library that makes

    networking for Android apps easier and most importantly, faster.” @pareshmayani
  9. 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
  10. How to get started? 1. Clone the Volley project 2.

    Import the code into your project @pareshmayani
  11. 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
  12. 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
  13. 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
  14. Google Maps Android API v2 • With v2 of Maps

    Android API, you can embed maps into an activity as a fragment @pareshmayani
  15. 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
  16. 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
  17. 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
  18. 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
  19. Getting started with Map API v2 Step - 1 Install

    and Set up the Google Play Service SDK @pareshmayani
  20. 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
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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