This document summarizes the key updates and features in Android M (Marshmallow), Google Play Services 7.8, and Android tools and libraries. Some highlights include runtime permissions in Android M, auto app backup, power saving optimizations, new APIs in Google Play Services like Nearby Messages and Face API, and support libraries for navigation, snackbars, tabs and more. The document provides code samples and best practices for using the new features.
The Glass Class - Tutorial 3 - Android and GDKGun Lee
Tutorial 3: Android and GDK (Glass Development Kit)
The Glass Class at HIT Lab NZ
Learn how to program and develop for Google Glass.
https://www.youtube.com/watch?v=BRpedu1PRf8&list=PLsIGb72j1WOlLFoJqkhyugDv-juTEAtas
http://arforglass.org
http://www.hitlabnz.org
While it is technically possible to create and attach widgets to your activity purely through Java code, the more common approach is to use an XML-based layout file. Dynamic instantiation of widgets is reserved for more complicated scenarios, where the widgets are not known at compile time (e.g., populating a column of radio buttons based on data retrieved from the Internet).
With that in mind, this chapter discuss the XML way to lay out Android activity views that way
This presentation discusses how to create Glassware using the Mirror API, the GDK, and HTML5, along with a discussion of Live Cards and Immersions.
Various demos are presented, and you will see a quadcopter launched, along with the code.
The Glass Class - Tutorial 3 - Android and GDKGun Lee
Tutorial 3: Android and GDK (Glass Development Kit)
The Glass Class at HIT Lab NZ
Learn how to program and develop for Google Glass.
https://www.youtube.com/watch?v=BRpedu1PRf8&list=PLsIGb72j1WOlLFoJqkhyugDv-juTEAtas
http://arforglass.org
http://www.hitlabnz.org
While it is technically possible to create and attach widgets to your activity purely through Java code, the more common approach is to use an XML-based layout file. Dynamic instantiation of widgets is reserved for more complicated scenarios, where the widgets are not known at compile time (e.g., populating a column of radio buttons based on data retrieved from the Internet).
With that in mind, this chapter discuss the XML way to lay out Android activity views that way
This presentation discusses how to create Glassware using the Mirror API, the GDK, and HTML5, along with a discussion of Live Cards and Immersions.
Various demos are presented, and you will see a quadcopter launched, along with the code.
Getting started with android dev and test perspectiveGunjan Kumar
The presentation covers basic intro to Android, how to get started with development, including instructions on setup, common UI usages like menus, dialogs; details on services like Sensors, Location and Google Maps
It also covers ideas on how to test including details on shell and installation instructions without using Eclipse
Presentation about new Tips and Tricks in Android Studio 2.2. They will make your Android development like a joy. For more info and examples see http://uptech.team
I have seen many of the students and mobile users are attracted to smartphone and their mobile applications. This is the start to code an Android application at basic level
Getting started with android dev and test perspectiveGunjan Kumar
The presentation covers basic intro to Android, how to get started with development, including instructions on setup, common UI usages like menus, dialogs; details on services like Sensors, Location and Google Maps
It also covers ideas on how to test including details on shell and installation instructions without using Eclipse
Presentation about new Tips and Tricks in Android Studio 2.2. They will make your Android development like a joy. For more info and examples see http://uptech.team
I have seen many of the students and mobile users are attracted to smartphone and their mobile applications. This is the start to code an Android application at basic level
Google Cloud Platform monitoring with ZabbixMax Kuzkin
This presentation describes how to configure Zabbix (https://zabbix.com/) to configure Google Cloud Platform events through its Monitoring API, using gcpmetrics (https://github.com/odin-public/gcpmetrics/) command line tool.
This is a short introduction to Android Things development. Presentation starts with Android Things OS description, differences between Android & Android Things. Later on we describe benefits & downsides of using Android Things. We give a sample AT usage - from a mobile we're able to set the temperature inside a Home equipped with a Raspberry Pie 3 running AT & Bluetooth Smart thermostats.
The core of the presentation covers the development process - ADB connection, ROM flashing etc.
In the end, we describe peripherals supported by Android Things.
Summarizing we try to dig deeper into driver development for Android Things.
Jeff Scudder, Eric Bidelman
The number of APIs made available for Google products has exploded from a handful to a slew! Get
the big picture on what is possible with the APIs for everything from YouTube, to Spreadsheets, to
Search, to Translate. We'll go over a few tools to help you get started and the things these APIs share
in common. After this session picking up new Google APIs will be a snap.
Android development workshop held as part of Java class on Faculty of Electrical Engineering and Computing, University of Zagreb, Croatia.
22.06.2012. Zagreb
Android tutorial for beginners-traininginbangalore.comTIB Academy
TIB Academy is one of the top rated Android training institutes in Bangalore. We can certainly offer you high quality training with placement guidance and project support.
https://www.traininginbangalore.com/best-android-training-institutes-in-bangalore/
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...COMAQA.BY
Мы вместе проговорить следующие вопросы
1. Запуск тестов в облаке: server-side VS client side execution
2. Парк устройств и поддерживаемые фреймворки в TestDroid, TestObject
3. Доступные действия и ограничения в работе с устройствами в облаке
4. Интеграция проекта на базе Appium-а используя client-side execution & API облачного сервиса
5. Интеграция с hockeyApp.
6. Как мы тестировали и что из этого получилось – личная история
The new build mechanism replacing Ant for Android development is based on Gradle, the popular build tool from the Groovy ecosystem. Ken Kousen introduces you to Gradle for Android developers and shows how easy it is to integrate Gradle into Android projects. We’ll show the latest version of the Android Studio IDE to develop applications. Join Ken to discuss using the Android plugin for Gradle; adding dependencies and alternate repositories; creating custom tasks; implementing both unit and integration tests; using alternative build types, product flavors, and variants; and more. Leave with an appreciation and understanding of Gradle and how to use it in your development environment.
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...Amil Baba Dawood bangali
Contact with Dawood Bhai Just call on +92322-6382012 and we'll help you. We'll solve all your problems within 12 to 24 hours and with 101% guarantee and with astrology systematic. If you want to take any personal or professional advice then also you can call us on +92322-6382012 , ONLINE LOVE PROBLEM & Other all types of Daily Life Problem's.Then CALL or WHATSAPP us on +92322-6382012 and Get all these problems solutions here by Amil Baba DAWOOD BANGALI
#vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore#blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #blackmagicforlove #blackmagicformarriage #aamilbaba #kalajadu #kalailam #taweez #wazifaexpert #jadumantar #vashikaranspecialist #astrologer #palmistry #amliyaat #taweez #manpasandshadi #horoscope #spiritual #lovelife #lovespell #marriagespell#aamilbabainpakistan #amilbabainkarachi #powerfullblackmagicspell #kalajadumantarspecialist #realamilbaba #AmilbabainPakistan #astrologerincanada #astrologerindubai #lovespellsmaster #kalajaduspecialist #lovespellsthatwork #aamilbabainlahore #Amilbabainuk #amilbabainspain #amilbabaindubai #Amilbabainnorway #amilbabainkrachi #amilbabainlahore #amilbabaingujranwalan #amilbabainislamabad
Water billing management system project report.pdfKamal Acharya
Our project entitled “Water Billing Management System” aims is to generate Water bill with all the charges and penalty. Manual system that is employed is extremely laborious and quite inadequate. It only makes the process more difficult and hard.
The aim of our project is to develop a system that is meant to partially computerize the work performed in the Water Board like generating monthly Water bill, record of consuming unit of water, store record of the customer and previous unpaid record.
We used HTML/PHP as front end and MYSQL as back end for developing our project. HTML is primarily a visual design environment. We can create a android application by designing the form and that make up the user interface. Adding android application code to the form and the objects such as buttons and text boxes on them and adding any required support code in additional modular.
MySQL is free open source database that facilitates the effective management of the databases by connecting them to the software. It is a stable ,reliable and the powerful solution with the advanced features and advantages which are as follows: Data Security.MySQL is free open source database that facilitates the effective management of the databases by connecting them to the software.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
Final project report on grocery store management system..pdfKamal Acharya
In today’s fast-changing business environment, it’s extremely important to be able to respond to client needs in the most effective and timely manner. If your customers wish to see your business online and have instant access to your products or services.
Online Grocery Store is an e-commerce website, which retails various grocery products. This project allows viewing various products available enables registered users to purchase desired products instantly using Paytm, UPI payment processor (Instant Pay) and also can place order by using Cash on Delivery (Pay Later) option. This project provides an easy access to Administrators and Managers to view orders placed using Pay Later and Instant Pay options.
In order to develop an e-commerce website, a number of Technologies must be studied and understood. These include multi-tiered architecture, server and client-side scripting techniques, implementation technologies, programming language (such as PHP, HTML, CSS, JavaScript) and MySQL relational databases. This is a project with the objective to develop a basic website where a consumer is provided with a shopping cart website and also to know about the technologies used to develop such a website.
This document will discuss each of the underlying technologies to create and implement an e- commerce website.
Cosmetic shop management system project report.pdfKamal Acharya
Buying new cosmetic products is difficult. It can even be scary for those who have sensitive skin and are prone to skin trouble. The information needed to alleviate this problem is on the back of each product, but it's thought to interpret those ingredient lists unless you have a background in chemistry.
Instead of buying and hoping for the best, we can use data science to help us predict which products may be good fits for us. It includes various function programs to do the above mentioned tasks.
Data file handling has been effectively used in the program.
The automated cosmetic shop management system should deal with the automation of general workflow and administration process of the shop. The main processes of the system focus on customer's request where the system is able to search the most appropriate products and deliver it to the customers. It should help the employees to quickly identify the list of cosmetic product that have reached the minimum quantity and also keep a track of expired date for each cosmetic product. It should help the employees to find the rack number in which the product is placed.It is also Faster and more efficient way.
7. Available now for Nexus 5/6/9, Player & emulator
developer.android.com/preview
Get your apps ready!
Provide feedback and report bugs
Issue tracker: goo.gl/zcjEj7
Google+ community: goo.gl/BIq1eJ
Android M Developer Preview
8. On August 17 we released:
- Developer Preview 3 ROMs
- Final Android 6.0 (Marshmallow) SDK
Start publishing to Play today!
M Preview Timeline You are here
10. Runtime permissions!
Auto Backup
Power-Saving Optimizations
Other behavior changes:
- Adoptable Storage Devices
- AndroidHttpClient -> HttpUrlConnection
- OpenSSL -> BoringSSL
- And more: goo.gl/cf4lwy
Android M Behavior Changes
11. Why should you care?
- Significantly different behavior (after targeting M)
- No permission dialog on install --> less friction
- App updates --> automatic
- Fine grained, revocable permissions --> user feels in
control, improved user experience
Runtime Permissions
12. targetSdkVersion < M targetSdkVersion = M+
Pre-M device
Install time permission dialog
All permissions granted
M device
Install time permission dialog
All permissions granted
User can revoke permissions
No dialog during install
No permissions granted initially
App can request permissions
User can revoke permissions
Runtime Permissions
13. Runtime Permissions
Location
Camera
Microphone
Phone
All location permissions
Photo and video permissions
Audio recording
Phone state, dialing, etc.
SMS
Contacts
Calendar
Sensors
Storage
Controlling or reading SMS/MMS/etc.
Managing contacts
Managing calendars
Body sensors
Read, write external storage
14. Best Practices
Only ask for what you need, when you need it
Don’t overwhelm the user
Consider using system Intents if possible
Explain why you need permissions
Runtime Permissions
15.
16.
17. Context.checkSelfPermission(String permission)
Activity.requestPermissions(
String[] permissions, int requestCode)
Activity.onRequestPermissionsResult(
int requestCode, String[] permissions,
int[] grantResults)
New permissions methods
ContextCompat.checkSelfPermission(String permission)
ActivityCompat.requestPermissions(
String[] permissions, int requestCode)
ActivityCompat.onRequestPermissionsResult(
int requestCode, String[] permissions,
int[] grantResults)
*Also in Support Library (v23)
18. static final int LOCATION_PERMISSION_REQUEST_RESULT = 2;
...
if (checkSelfPermission(Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED) {
requestPermissions(
new String[]{Manifest.permission.ACCESS_FINE_LOCATION},
LOCATION_PERMISSION_REQUEST_RESULT);
}
Requesting a permission
19. @Override
public void onRequestPermissionsResult(
int requestCode, String[] permissions, int[] grantResults) {
switch (requestCode) {
case LOCATION_PERMISSION_REQUEST_RESULT: {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Granted!
} else {
// Denied!
}
}
}
}
Checking if permission was granted
20. If shouldShowRequestPermissionRationale()
returns true then show your own in-app UI
explaining why you need the permission.
When does it return true? If the user has denied the
permission in the past (but NOT checked “Don’t ask
again”).
Showing your own explaination
21. Free and automatic app data backup (and restore)
Up to 25MB per user per app
Occurs every 24 hours
Enabled for *all* apps running on M Preview (but for
M final only targetSdkVersion=M)
Auto Backup for Apps
22. Use platform APIs correctly, don’t hardcode paths:
getFilesDir(), getExternalFilesDir(), etc. will be backed up
getCacheDir(), getExternalCacheDir(), etc. will not be backed up
Exclude device-specific identifiers from backup
(eg. GCM registration ID, etc.)
Auto Backup for Apps
25. Doze
increase standby time of devices
that aren’t being used
App Standby
reduce overhead of apps that are
installed but not used recently
Power-Saving Optimizations
flickr/trophygeek
26. Network access disabled (except high priority GCM)
Wake locks are ignored except for alarms set with setAlarmClock()
and setAndAllowWhileIdle()
Syncs and JobScheduler tasks are not allowed to run
Test with:
Doze
$ adb shell dumpsys battery unplug
$ adb shell dumpsys deviceidle step
$ adb shell dumpsys deviceidle -h
27. Apps considered idle unless:
- explicitly launched by user
- has a foreground process
- visible notification
- user asks for the app to be exempt
Idle apps are restricted:
- network access disabled
- syncs and background jobs suspended
App Standby
28. Android M New Platform Features
Direct Share
Fingerprint API & Confirm Credentials
Voice Interactions & Assist API
App Linking
Text Selection
And much more:
- Bluetooth Stylus, 4K Display, MIDI, Camera,
Android for Work...
31. Other Small Additions
Notifications
New android.graphics.drawable.Icon,
- Icon.createWithBitmap(Bitmap) for dynamic icons
Notification.Builder.setSmall/LargeIcon(Icon)
getActiveNotifications()
32. And lots more...
Fingerprint API & Confirm Credentials
Voice Interactions & Assist API
App Linking
Text Selection
Bluetooth Stylus
4K Display
MIDI
Camera
Android for Work…
34. Nearby Messages
Find nearby devices or beacons and
share messages
Cross platform support
Android & iOS
Unauthenticated
(Does not require a Google account)
Uses a variety of tech under the hood
Bluetooth, Bluetooth Low Energy, Wi-Fi and an
ultrasonic modem
36. Smart Lock for Passwords
Credentials API
● auth.credentials.save
● auth.credentials.request
com.google.android.gms.auth.api.c
redentials.CredentialsApi
37. Creates a unique ID per app per install
Generate security tokens for services (suited for user by GCM)
Verify app authenticity & check if app install is active via web API
InstanceID
// Get InstanceID
String iid = InstanceID.getInstance().getID();
45. Floating labels for hint and error text
Built-in animations
Wrap EditText in a TextInputLayout
TextInputLayout
46. Providing lightweight quick feedback to your users
Snackbar
.make(parentLayout, “My Text”, Snackbar.LENGTH_LONG)
.setAction(“My Action”, myOnClickListener)
.show(); //Don’t forget to show!
Snackbar
47. Top level navigation or grouping content
tabGravity = center, fill
tabMode = scrollable, fixed
TabLayout
48. ● Component to create view inside
Navigation Drawer
● Used with DrawerLayout
● Load items from menu resources
NavigationView
49. Built-in component for FAB, follows
design spec
Default color = ?attr/colorAccent
fabSize = full, mini
Floating Action Button (FAB)
50. Provide additional level of control between child
views
Coordinate different Views
- FloatingActionButton
- Snackbar
- Toolbar, Tabs
Each View sets own behavior
- CoordinatorLayout.Behavior
CoordinatorLayout
51. compile 'com.android.support:percent:23.0.0'
Managing percent based dimensions
<android.support.percent.PercentFrameLayout ...>
<ImageView app:layout_widthPercent="50%"
app:layout_heightPercent="50%"
app:layout_marginTopPercent="25%"
app:layout_marginLeftPercent="25%"/>
</android.support.percent.PercentFrameLayout>
Percent Support Library
52. Placing a FAB - Before
private void addFloatingActionButton() {
final int fabSize =
getResources().getDimensionPixelSize(R.dimen.fab_size);
int bottomOfQuestionView =
findViewById(R.id.question_view).getBottom();
final LayoutParams fabLayoutParams =
new LayoutParams(fabSize, fabSize, Gravity.END | Gravity.TOP);
final int fabPadding =
getResources().getDimensionPixelSize(R.dimen.padding_fab);
final int halfAFab = fabSize / 2;
fabLayoutParams.setMargins(0, // left
bottomOfQuestionView - halfAFab, //top
0, // right
fabPadding); // bottom
addView(mSubmitAnswer, fabLayoutParams);
}