NewImage

Android M application permission installation is on runtime.

Voice interaction, voice Interactor.

FingerPrint. FIngerprintManager.authenticate().

Android backup by default in AndroidManifest.xml

Google Play Services 7.5 (GCM Network Manager)

Maps on Android Wear,

Power to improve battery iife with Doze function( untouched devices become inactive).

Assistant Support (Just in time user interaction).

Data Binding connect data model in UI avoid tedious boilerplates.

UI features - Android design support library with material design. New coordinatorLayout, snacker, tab layout,NavigationView,FAB.

Webview new postMessage, WebviewClient

Notification- Icon in noticactions. Icon.createWithBitmap(iconBitmap).

Text Selection with easier selection (floating palette with action items) in <intent-filter>

App Links understanding the relationships between app and web domain. in statements,son with sha256_cert_fingerprint with android:host.

Share with Direct Share

Bluetooth Stylus support

Graphics with RenderScript compute.

Camera with new toruch mode with independent camera devices. Alpha optimization.

MIDI support for audio with both direction to midi devices.

Higher resolutions audio with single precision float.

Android studio improvement such as integrated testing support, data binding, Android NDK,

NewImage

Systrace to diagnose performance problem and improvement with alert type.

NewImage

ART improve compiler optimisation with runties states.

External Storage with Adopt permanaent storage avoide hard coded-path.

Medium.com/google-developers

 

NewImage

 

 

 

 
Google I/O is two days of inspirational talks, hands-on learning, and a chance to hear more about Google's latest developer products. Jonathan Alferness, who heads product development for mobile app advertising, will be leading a session about how AdMob brings the power, scale and innovation to app developers who want to monetize effectively. We will also be unveiling some new features that will help make things simpler for developers.

Make sure to check in next week at the Google I/O site to get great tips and hear the latest from the AdMob team.

Self-paced Code Labs







May 29, 9 AM





9:30 AM - 1:00 PMAfter Hours



 


NewImage


Finally, we decided to convert our project from ADT to Android Studio. At first, we kinda hate the Android Studio because of unfamiliarity of gradle functionality. After reading a few tutorial and video, we finally decided the Android Studio is a good choice. So we start by importing old eclipse project to Android Studio.


During, start up just select the import project (Eclipse ADT) to the start the import wizard. The import process does not alter orginal eclipse project but it is a good idea to make the back up of original eclipse project.


NewImage


The import wizard will automatically identify .jar and replace it with gradle dependency. Most of the time, the default setting work, but if you use previous version of your .jar library. You might need to replace the dependency manually.


You will get the following message.


ECLIPSE ANDROID PROJECT IMPORT SUMMARY


======================================


 


Manifest Merging:


-----------------


Your project uses libraries that provide manifests, and your Eclipse


project did not explicitly turn on manifest merging. In Android Gradle


projects, manifests are always merged (meaning that contents from your


libraries' manifests will be merged into the app manifest. If you had


manually copied contents from library manifests into your app manifest


you may need to remove these for the app to build correctly.


 


Ignored Files:


--------------


The following files were *not* copied into the new Gradle project; you


should evaluate whether these are still needed in your project and if


so manually move them:


 


* .DS_Store


* .gitignore


* Thumbs.db


* ic_launcher-web.png


* proguard-project.txt


 


Replaced Libraries with Dependencies:


-------------------------------------


The importer recognized the following library projects as third party


libraries and replaced them with Gradle dependencies instead. This has


the advantage that more explicit version information is known, and the


libraries can be updated automatically. However, it is possible that


the source files in your project were of an older version than the


dependency we picked, which could render the project not compileable.


You can disable the library replacement in the import wizard and try


again:


 


google-play-services_lib => [com.google.android.gms:play-services:+]


 


Moved Files:


------------


Android Gradle projects use a different directory structure than ADT


Eclipse projects. Here's how the projects were restructured:


 


* AndroidManifest.xml => app/src/main/AndroidManifest.xml


* assets/ => app/src/main/assets/


* lint.xml => app/lint.xml


* res/ => app/src/main/res/


* src/ => app/src/main/java/


 


Next Steps:


-----------


You can now build the project. The Gradle project needs network


connectivity to download dependencies.


 


Bugs:


-----


If for some reason your project does not build, and you determine that


it is due to a bug or limitation of the Eclipse to Gradle importer,


please file a bug at http://b.android.com with category


Component-Tools.


 


(This import summary is for your information only, and can be deleted


after import once you are satisfied with the results.)


 


Error:failed to find target android-17 : /Applications/adt-bundle-mac-x86_64-20140321/sdk

<a href="install.android.platform">Install missing platform(s) and sync project</a>


 

NewImage

 

You might need to install missing platform.

 

Extra Android Studio Tips 


⌥↑ (extend selection) in the editor selects the word at the caret and then selects expanding areas of the source code. For example, it may select a method name, then the expression that calls this method, then the whole statement, then the containing block, etc. You can also select the word at the caret and the expanding areas of the source code by double-clicking the target areas in the editor.  


 


You can comment or uncomment lines and blocks of code using ⌘/ and ⌥⌘/.
⌘/ comments or uncomments the current line or selected block with single line comments (//...).
⌥⌘/ encloses the selected block in a block comment (/*...*/).
To uncomment a commented block press ⌥⌘/ anywhere inside it.     


 


To open your browser with documentation for the element at the editor's caret, press ⇧F1 (View | External Documentation).You must have the path to your browser set in the File | Settings | Web Browsers options and paths to documentation files added to your project (File | Project Structure...) to use this feature.     


  


 


ECLIPSE ANDROID PROJECT IMPORT SUMMARY======================================
Manifest Merging:-----------------Your project uses libraries that provide manifests, and your Eclipseproject did not explicitly turn on manifest merging. In Android Gradleprojects, manifests are always merged (meaning that contents from yourlibraries' manifests will be merged into the app manifest. If you hadmanually copied contents from library manifests into your app manifestyou may need to remove these for the app to build correctly.
Ignored Files:--------------The following files were *not* copied into the new Gradle project; youshould evaluate whether these are still needed in your project and ifso manually move them:
* .DS_Store* .gitignore* Thumbs.db* ic_launcher-web.png* proguard-project.txt
Replaced Libraries with Dependencies:-------------------------------------The importer recognized the following library projects as third partylibraries and replaced them with Gradle dependencies instead. This hasthe advantage that more explicit version information is known, and thelibraries can be updated automatically. However, it is possible thatthe source files in your project were of an older version than thedependency we picked, which could render the project not compileable.You can disable the library replacement in the import wizard and tryagain:
google-play-services_lib => [com.google.android.gms:play-services:+]
Moved Files:------------Android Gradle projects use a different directory structure than ADTEclipse projects. Here's how the projects were restructured:
* AndroidManifest.xml => app/src/main/AndroidManifest.xml* assets/ => app/src/main/assets/* lint.xml => app/lint.xml* res/ => app/src/main/res/* src/ => app/src/main/java/
Next Steps:-----------You can now build the project. The Gradle project needs networkconnectivity to download dependencies.
Bugs:-----If for some reason your project does not build, and you determine thatit is due to a bug or limitation of the Eclipse to Gradle importer,please file a bug at http://b.android.com with categoryComponent-Tools.
(This import summary is for your information only, and can be deletedafter import once you are satisfied with the results.)


 

NewImage


If you want to study the core detail of Android, you can browse and explore the source code here. 


https://android.googlesource.com/


You can clone one of these repositories, you need to install git, and run:


git clone https://android.googlesource.com/name


You can get the complete Android platform on your computer and modify and build it to suit your needs and contribute to the Android communities.


If you are device developer, you can port the android to your device.