Android Studio provides different keymaps (the mapping between shortcut keys and an action).
You can see which keymap you are using in Settings->Keymap.
Don't Marry a Software Engineer
> > HUSBAND - HAI DEAR,I AM LOGGED IN.
> > WIFE - HAVE YOU BROUGHT THE SAREE.
> > HUSBAND - BAD COMMAND OR FILE NAME.
> > WIFE - BUT I TOLD YOU ABOUT IT IN MORNING
> > HUSBAND - ERRONEOUS SYNTAX, ABORT,RETRY,CANCEL.
> > WIFE - HAE BHAGWAN !FORGET IT WHERE'S YOUR SALARY.
> > HUSBAND - FILE IN USE,READ ONLY,TRY AFTER SOME TIME.
> > WIFE - ATLEAST GIVE ME YOUR CREDIT CARD,I CAN DO SOME SHOPPING.
> > HUSBAND - SHARING VIOLATION,ACCESS DENIED.
> > WIFE - I MADE A MISTAKE IN MARRING YOU.
> > HUSBAND - DATA TYPE MISMATCH.
> > WIFE - YOU ARE USELESS.
> > HUSBAND - BY DEFAULT.
> > WIFE - WHO WAS THERE WITH YOU IN THE CAR THIS MORNING.
> > HUSBAND - SYSTEM UNSTABLE,PRESS Ctrl+Alt+Del, TO
> > REBOOT.
> > WIFE - WOULD YOU LIKE TO HAVE SOME SNACKS ?
> > HUSBAND - HARD DISK FULL.
> > WIFE - WHAT IS THE RELATION BETWEEN YOU & YOUR RECEPTIONIST.
> > HUSBAND - THE ONLY USER WITH WRITE PERMISSION.
> > WIFE - WHAT IS MY VALUE IN YOUR LIFE.
> > HUSBAND - UNKNOWN VIRUS DETECTED.
> > WIFE - DO YOU LOVE ME OR YOUR COMPUTER.
> > HUSBAND - TOO MANY PARAMETERS.
>
> > WIFE - I WILL GO TO MY DADS HOUSE.
> > HUSBAND - PROGRAM PERFORMED ILLEGAL OPERATION,IT WILL CLOSE.
> > WIFE - I WILL LEAVE YOU FOR EVER.
> > HUSBAND - CLOSE ALL PROGRAMS & LOG OUT FOR ANOTHER USER.
> > WIFE - IT IS WORTHLESS TALKING TO YOU
> > HUSBAND - SHUT DOWN THE COMPUTER.
> > WIFE - I AM GOING
> > HUSBAND - ITS NOW SAFE TO TURN OFF YOUR COMPUTER.
Android Studio provides different keymaps (the mapping between shortcut keys and an action).
You can see which keymap you are using in Settings->Keymap.
It wouldn’t be practical to list the shortcuts for every keymap so the following will be used:
Windows: Default
Linux: Default
OSX: Mac OSX 10.5+
Enter vs Tab for Code Completion
There is an interesting difference whether you use code completion with tab or with enter.
Using enter will complete the statement as you would expect.
Using tab will complete the statement and delete everything forward until the next dot, parenthese, semicolon or space.
Shortcut (during code completion): enter or tab
Navigate to parent
If you are in a method that is overriding a parent class (e.g.
Activity#onCreate()), this will navigate to the parent implementation.
If you are on the class name, it will navigate to the parent class.
Shortcut :
Mac: Cmd+U
Windows/Linux: Ctrl+U
Return to the Editor
A bunch of shortcuts will take you away from the editor (type hierarchy, find usages, etc.)
If you want to return to the editor, your options are:
Escape: This will simply return the cursor to the editor.
Shift+Escape: This will close the current panel and then return your cursor to the editor.
Shortcut :
Return and keep panel open: Escape
Close panel and Return: Shift+Escape
Jump to Last Tool Window
Sometimes, you return to the editor from a panel but find yourself having to go back to this panel.
e.g. browsing find usages.
With this, you can go back to a panel without your mouse.
Shortcut: F12 (might interfere with the OS’s default keybindings)
Hide All Panels
Puts the editor in some sort of full screen mode.
Invoking the shortcut a second time returns all panels to their previous state.
Shortcut :
Mac: Cmd+Shift+F12
windows/linux: Ctrl+Shift+F12
Open a Panel by Its Number
You might have noticed that some of the panels have a number to the left of their name.
This is a shortcut to open them!
Just in case you don’t see the panel names, click the box thing in the lower left corner of the IDE.
Shortcut :
Mac: Cmd+Number
windows/linux: Alt+Number
Parameter Info
This is the same list of parameter names as the one that appears when
you are writing a method call. It is useful when you want to see an
existing method’s params.
The Parameter under your cursor will be in yellow.
If nothing is in yellow, that means that the method call is not valid,
probably something that is not casted right (e.g. a float in an int
param).
When you are writing a method call and you dismiss it by accident,
like I usually do, you can also type a comma (,) to trigger the
parameter info.
Shortcut :
Mac: Cmd+P
windows/linux: Ctrl+P
The Switcher
So this thing is pretty much the alt+tab / cmd+tab of the IDE. It allows you to navigate to a tab or a panel.
Once it is opened, as long as you hold the ctrl key, you can navigate
quickly by using the number or letter shortcut. You can also close a
tab or a panel by pressing backspace when it is selected.
Shortcut: Ctrl+Tab
Context Info
So this will show you where you are when your scope definition is out
of the scrolling area. Usually, this will be the name of the class or
inner class but it might also be the current method name.
Its better use, IMO, is to get a quick look at what the current class extends or implements.
It also works in xml files.
Shortcut: Ctrl+Shift+Q
Google Fit is an open ecosystem that allows developers to upload fitness
data to a central repository where users can access their data from different
devices and apps in one location:
Fitness apps can store data from any wearable or sensor.
Fitness apps can access data created by any app.
User's fitness data is persisted when they upgrade their fitness devices.
Responsible use of Google Fit
As a developer of fitness and wellness apps, you often collect and manage
important user
information. Keep these key principles in mind:
Always clearly explain to the user what data you will collect and why.
Honor user requests to delete their data.
If you read fitness data from Google Fit, you must also write the fitness data
you collect to Google Fit.
Do not use Google Fit APIs for non-fitness purposes, such as storing medical
or biometric data, selling data, or using data for advertising.
By using the API, you agree to the Google Fit Terms and Conditions.
Components
Google Fit consists of the following components:
Figure 1: Platform overview.
The fitness store
A central repository that stores data from a variety of devices and apps. The
fitness store is a cloud service that is transparent to clients.
The sensor framework
A set of high-level representations that make it easy to work with the fitness
store. You use these representations with the Google Fit APIs.
Permissions and user controls
A set of authorization scopes to request user permission to work with fitness
data. Google Fit requires user consent to access fitness data.
Google Fit APIs
Android and REST APIs to access the fitness store. You can create apps that
support Google Fit on multiple platforms and devices, such as Android, iOS, and
Web apps.
The fitness store
The fitness store is a cloud service that persists fitness data using Google's
infrastructure. Apps on different platforms and devices can store data and
access data created by other apps. Google Fit provides a set of APIs that make
it easy to insert data and query the fitness store.
The sensor framework
The sensor framework defines high-level representations for sensors, fitness
data types, data points, and sessions. These representations make it easy to
work with the fitness store on any platform.
Data Sources
Data sources represent sensors and consist of a name, the type of data
collected, and other sensor details. A data source may represent a hardware
sensor or a software sensor. You can define software sensors in your apps.
Data Types
Data types represent different kinds of fitness data, like step count or heart
rate. Data types establish a schema through which different apps can understand
each other's data. A data type consists of a name and an ordered list of fields,
where each field represents a dimension. For example, a data type for location
contains three fields (latitude, longitude, and accuracy), whereas a data type
for weight contains only one field.
Data Points
Data points consist of a timestamped array of values for a data type, read
from a data source. You use data points to record and insert fitness data in the
fitness store, and to read raw data from a data source. Points that contain a
start time represent a time range instead of an instantaneous reading.
Datasets
Datasets represent a set of data points of the same type from a particular
data source covering some time interval. You use datasets to insert data into
the fitness store. Queries to read data from the fitness store also return
datasets.
Sessions
Sessions represent a time interval during which users perform a fitness
activity, such as a run, a bike ride, and so on. Sessions help organize data and
perform detailed or aggregate queries on the fitness store for a fitness
activity.
Permissions and user controls
Google Fit requires user consent before apps can read or store fitness data.
Google Fit defines OAuth scopes that map to three permission groups with
separate read and write privileges: activity, location, and body. Each
permission group grants apps access to a set of data types. Apps specify one or
more of these scopes to work with fitness data, and Google Fit requests the
corresponding permissions from the user.
Google Fit APIs
Google Fit provides the following APIs:
Android APIs for Android apps.
REST API for apps on any platform
Android APIs
The Google Fit APIs for Android are part of
Google Play services
and are supported in Android 2.3 (API level 9) and higher. Google Fit on Android
consists of these APIs:
The Sensors API provides access to raw sensor data
streams from sensors available on the Android device and from sensors available
in companion devices, such as wearables.
The Recording API provides automated storage of fitness
data using subscriptions. Google Fit stores fitness data of the specified types
in the background and persists app subscriptions.
Figure 1: Google Fit on Android.
The History API provides access to the fitness history
and lets apps perform bulk operations, like inserting, deleting, and reading
fitness data. Apps can also import batch data into Google Fit.
The Sessions API provides functionality to
store fitness data with session metadata. Sessions represent a time interval
during which users perform a fitness activity.
The Bluetooth Low Energy API provides access to
Bluetooth Low Energy sensors in Google Fit. This API enables your app to look
for available BLE devices and to store data from them in the fitness store.
Google Fit includes support for sensors on the mobile device and Bluetooth Low
Energy sensors paired with the device. Google Fit lets developers implement
support for other sensors and expose them as software sensors in Android apps.
Sensors supported by Google Fit are available to Android apps as data source
objects.
Reference : https://developers.google.com/fit/overview.
Demo available at Github -https://github.com/googlesamples/android-fit