Android Workshop for NTU. A getting started guide to android application development.
UPDATE (Oct 2013): An updated slide at http://samwize.com/2013/10/13/android-workshop-2013/
A 1 day NTU workshop for kickstarting Android development. Includes using the newest & better IDE - Android Studio - and a thorough process from developing you idea > mockup > coding > polishing > distributing.
This document provides an overview of beginning native Android app development. It discusses Android app structure including the manifest, activities, intents and lifecycles. It also covers common Android views and layouts, accessing device capabilities like the camera and location, working with data via content providers, and rendering with OpenGL. Example code is provided for various app features like input handling, scrollable lists, and camera access. The document concludes with the process for submitting an app to the Google Play Store.
Make Cross-platform Mobile Apps Quickly - SIGGRAPH 2014Gil Irizarry
This document provides a summary of a presentation about making cross-platform mobile apps quickly using open source tools. It discusses using PhoneGap to create apps using HTML, CSS, and JavaScript that are cross-platform. It provides examples of building simple apps demonstrating concepts like accessing device data, using maps, touch events, and animation. The examples are meant to illustrate how to create mobile apps that work across Android and iOS without using their native languages.
This document provides code for a simple Android browser app called Webkit. It uses the WebView component to display web pages and loads the Facebook page by default. The code includes the XML layout with a WebView, the Java activity class to initialize the WebView and load the URL, and the manifest file which requires the INTERNET permission to access the internet.
This document provides information and instructions for developers interested in building applications for the hi5 social networking platform using OpenSocial. It outlines key integration points, distribution channels, and features of the hi5 platform. It also includes a step-by-step tutorial demonstrating how to build a basic gifts application on hi5 using OpenSocial, covering tasks like fetching friends data, adding and displaying app data, creating activities, and sending notifications.
The document outlines a series of Android labs covering topics such as linear layout, relative layout, table layout, list view layout, menus, dialogs, widgets, shared preferences, SQLite, intents, content providers, and broadcast receivers. It also provides references to additional Android resources for further learning. The labs are designed to teach Android fundamentals and cover creating basic UI layouts using different layout types, adding interactivity with menus and dialogs, storing and retrieving data, and implementing core Android application concepts.
Android workshop to prepare for 48hacks (http://www.ntuventures.com/events/48hacks/index.html), organized by NTU Venture.
Covers basic Android application programming, and connectivity to Arduino board via Bluetooth.
Android Tutorials - Powering with Selection WidgetPrajyot Mainkar
This document discusses different selection widgets in Android - Spinner, GridView, and AutoCompleteTextView. It provides code snippets and explanations for how to implement each widget. For Spinner, it shows how to populate it from an array and handle item selection. For GridView, it demonstrates how to display items in a grid with custom formatting and handle clicks. For AutoCompleteTextView, the code populates suggestions from an array and updates as the user types.
This document provides instructions for setting up an environment for Android development. It discusses downloading and installing the Java Development Kit (JDK), Android SDK, and Android Studio. It also covers configuring a real Android device or emulator for testing apps. The document demonstrates creating a basic "Hello World" Android app in Android Studio and reviewing the underlying code and manifest file. It then briefly describes a more advanced app that scans for nearby WiFi access points when a button is pressed.
This document discusses App Widgets in Android. It describes App Widgets as miniature application views that can be embedded on the home screen and receive periodic updates. It outlines the App Widget framework, including the AppWidgetProviderInfo metadata, AppWidgetProvider class, view layout, and optional configuration activity. It provides steps to build an App Widget, including declaring the AppWidgetProvider in the manifest, creating the metadata XML, developing the widget layout, and writing the AppWidgetProvider class. It also discusses creating an optional configuration activity to allow users to customize widget settings.
How much is your home screen useful with just icons? Not so much...Deep dive how to differentiate the home screen in order to increases user engagement, decreases the chance that an app will be uninstalled and increases the likelihood of its being used...
Deck was presented in Droidcon NYC 19 #DCNYC19
In this session, I will give an overview of Android Wear and how to integrate it in your product strategy. We will look at the underlying design principles and discuss a number of use cases for apps that connect to wearable devices. After that, we will take a look at some code examples and learn how to use the Android Wear SDK.
my presentation at houston.rb on Grape, the API builder for rack based systems using a friendly ruby/sinatra like interface. It makes separating out your API from you web app logic really easy.
The document discusses event handling in Android applications. It covers XML-based event handling where events are defined in the XML layout. It also covers Java-based event handling where events are handled by implementing listener interfaces in the Java code. It provides examples of handling click and long click events. It also lists some other event listeners that can be used, such as OnFocusChangeListener, OnKeyListener, OnTouchListener, and OnCreateContextMenuListener.
Being Epic: Best Practices for Android DevelopmentReto Meier
This document provides best practices for Android development. It discusses five "deadly sins" to avoid: sloth (being slow and unresponsive), gluttony (using system resources irresponsibly), hostility (fighting users), arrogance (fighting the system), and discrimination. It also discusses five "glorious virtues" to embrace: beauty (design), generosity (sharing), ubiquity (being everywhere), utility (being useful), and epicness (being legendary). It covers topics like performance, wake locks, navigation, preferences, undocumented APIs, screen sizes, analytics, background updates, location services, and more. The overall message is to create high-quality, useful apps that respect users and system resources.
Tutorial 2: Mirror API
The Glass Class at HIT Lab NZ
Learn how to program and develop for Google Glass.
https://www.youtube.com/watch?v=nml8qE6SF9k&list=PLsIGb72j1WOlLFoJqkhyugDv-juTEAtas
http://arforglass.org
http://www.hitlabnz.org
Android M provides new features such as runtime permissions that allow users to grant permissions to apps individually, improved battery life with the new Doze mode, support for fingerprint authentication, and enhanced notifications. It also includes updates to existing features like voice interactions, app linking, direct sharing and stylus support. Developer tools have been updated in Android Studio and new APIs have been added for graphics, media, MIDI and high resolution audio.
Getting started with Google Android - OSCON 2008sullis
The document discusses getting started with Google Android, including an overview of the Android platform and its components. The Android software stack includes an operating system, middleware and key applications written in Java and running on the Dalvik virtual machine. The document outlines some of Android's application programming interfaces for areas like the user interface, telephony, and SMS.
This document provides instructions for creating a basic map application for Android using Google Maps. It outlines 8 key steps: 1) Downloading the Google API SDK, 2) Creating an emulator targeting the Google API, 3) Adding the Google Maps library and internet permissions to AndroidManifest.xml, 4) Replacing the main.xml layout with a MapView component, 5) Getting an API key by generating an MD5 fingerprint, 6) Entering the API key in main.xml, 7) Extending the MapActivity class instead of the Activity class, and 8) Running the app on the emulator.
This document provides instructions and code samples for building a basic Android web app using Android Studio. It includes setting up the SDK, creating layout files with a WebView and ProgressBar, adding permissions and activities to the manifest, and adding listeners for downloads and the back button. Code samples are provided for setting WebView properties, displaying loading progress, and overriding the back button to go back in the webview history. The document also provides shortcuts for automatically formatting code on different operating systems.
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
The document provides an overview of Android user interface components. It discusses that an Activity contains screens composed of components or screen containers called View Groups or Layouts. Layouts define the arrangement of components. There are six main types of Layouts: LinearLayout, RelativeLayout, TableLayout, FrameLayout, AbsoluteLayout, and GridLayout. It also describes Views, ViewGroups, and how components are specified in XML layout files or programmatically.
This document provides information about Elsevier's SciVerse developer platform. It discusses how SciVerse allows developers to build applications that can access Elsevier's scientific content through APIs. It describes the OpenSocial architecture that SciVerse uses, including gadgets, views, and integration points. It also outlines the framework and content APIs that developers can use to retrieve metadata and search content in their applications.
The Wide World Of Google Developer Technologies (STLIC 02-10)jasonacooper
In addition to its own suite of web applications, Google offers a wealth of world-class APIs and tools that can help startups and well-established businesses alike easily (and cheaply!) add significant value to their desktop, mobile, and web-based applications.
In this presentation, I will provide a broad overview of the 70 APIs and developer tools that Google offers, touching on everything from the assortment of Apps, AJAX, and geo APIs (e.g. Calendar, YouTube, Maps, and Search, just to name a few), open web initiatives, mobile and social products including Android and Buzz, development/hosting solutions, and more. Rather than diving deeply into one API in particular -- that comes a bit later -- this session is designed to open your eyes to the bounty of Google APIs available and help inspire you to find creative ways of using them to enhance your present or future business, or even, dare I say it, change the world.
Native Android Development with SpringRoy Clarkson
This document discusses native Android development using Spring technologies. It introduces Spring for Android and Spring Mobile, with Spring for Android providing support for building native Android apps using Spring and Spring Mobile focusing on mobile web apps. It then covers using the Spring RestTemplate for making REST calls in Android apps, demonstrating a basic example. Finally, it discusses additional Spring for Android features and resources for native Android development with Spring.
JSF 2 Notes with coding examples topics include introduction , managed bean, jsf tags, navigation, jsf life cycle and phase listners,jsf validation and converters, i18n
Creation of simple application using - step by steppriya Nithya
The document describes steps to create a simple Android application using Android Studio that takes user input via text fields and displays it in a text view. The application is created with an empty activity template and designed in XML layout with buttons, edit texts and text views. The Java code in the MainActivity class handles input from the buttons by getting the text from the edit texts and setting the text view on button click.
This document discusses native Android development practices and provides an overview of using Spring for mobile web applications and Android development. It covers Spring Mobile features like device detection and site preference management. It then introduces basic Android development concepts like activities, services, and manifest registration. It demonstrates a simple "Hello World" Android activity and discusses Android lifecycles. Finally, it discusses using Maven for Android projects.
Android Development Made Easy - With Sample ProjectJoemarie Amparo
Android is an open source operating system developed by Google and the Open Handset Alliance. This document provides an overview of Android and how to create a sample Android project in Eclipse. It discusses Android versions, the project components like activities and services, and how to add a layout, strings, and additional activities. Creating the sample project involves adding buttons, text views and intents to launch a new activity when a button is clicked.
This document provides instructions for setting up an environment for Android development. It discusses downloading and installing the Java Development Kit (JDK), Android SDK, and Android Studio. It also covers configuring a real Android device or emulator for testing apps. The document demonstrates creating a basic "Hello World" Android app in Android Studio and reviewing the underlying code and manifest file. It then briefly describes a more advanced app that scans for nearby WiFi access points when a button is pressed.
This document discusses App Widgets in Android. It describes App Widgets as miniature application views that can be embedded on the home screen and receive periodic updates. It outlines the App Widget framework, including the AppWidgetProviderInfo metadata, AppWidgetProvider class, view layout, and optional configuration activity. It provides steps to build an App Widget, including declaring the AppWidgetProvider in the manifest, creating the metadata XML, developing the widget layout, and writing the AppWidgetProvider class. It also discusses creating an optional configuration activity to allow users to customize widget settings.
How much is your home screen useful with just icons? Not so much...Deep dive how to differentiate the home screen in order to increases user engagement, decreases the chance that an app will be uninstalled and increases the likelihood of its being used...
Deck was presented in Droidcon NYC 19 #DCNYC19
In this session, I will give an overview of Android Wear and how to integrate it in your product strategy. We will look at the underlying design principles and discuss a number of use cases for apps that connect to wearable devices. After that, we will take a look at some code examples and learn how to use the Android Wear SDK.
my presentation at houston.rb on Grape, the API builder for rack based systems using a friendly ruby/sinatra like interface. It makes separating out your API from you web app logic really easy.
The document discusses event handling in Android applications. It covers XML-based event handling where events are defined in the XML layout. It also covers Java-based event handling where events are handled by implementing listener interfaces in the Java code. It provides examples of handling click and long click events. It also lists some other event listeners that can be used, such as OnFocusChangeListener, OnKeyListener, OnTouchListener, and OnCreateContextMenuListener.
Being Epic: Best Practices for Android DevelopmentReto Meier
This document provides best practices for Android development. It discusses five "deadly sins" to avoid: sloth (being slow and unresponsive), gluttony (using system resources irresponsibly), hostility (fighting users), arrogance (fighting the system), and discrimination. It also discusses five "glorious virtues" to embrace: beauty (design), generosity (sharing), ubiquity (being everywhere), utility (being useful), and epicness (being legendary). It covers topics like performance, wake locks, navigation, preferences, undocumented APIs, screen sizes, analytics, background updates, location services, and more. The overall message is to create high-quality, useful apps that respect users and system resources.
Tutorial 2: Mirror API
The Glass Class at HIT Lab NZ
Learn how to program and develop for Google Glass.
https://www.youtube.com/watch?v=nml8qE6SF9k&list=PLsIGb72j1WOlLFoJqkhyugDv-juTEAtas
http://arforglass.org
http://www.hitlabnz.org
Android M provides new features such as runtime permissions that allow users to grant permissions to apps individually, improved battery life with the new Doze mode, support for fingerprint authentication, and enhanced notifications. It also includes updates to existing features like voice interactions, app linking, direct sharing and stylus support. Developer tools have been updated in Android Studio and new APIs have been added for graphics, media, MIDI and high resolution audio.
Getting started with Google Android - OSCON 2008sullis
The document discusses getting started with Google Android, including an overview of the Android platform and its components. The Android software stack includes an operating system, middleware and key applications written in Java and running on the Dalvik virtual machine. The document outlines some of Android's application programming interfaces for areas like the user interface, telephony, and SMS.
This document provides instructions for creating a basic map application for Android using Google Maps. It outlines 8 key steps: 1) Downloading the Google API SDK, 2) Creating an emulator targeting the Google API, 3) Adding the Google Maps library and internet permissions to AndroidManifest.xml, 4) Replacing the main.xml layout with a MapView component, 5) Getting an API key by generating an MD5 fingerprint, 6) Entering the API key in main.xml, 7) Extending the MapActivity class instead of the Activity class, and 8) Running the app on the emulator.
This document provides instructions and code samples for building a basic Android web app using Android Studio. It includes setting up the SDK, creating layout files with a WebView and ProgressBar, adding permissions and activities to the manifest, and adding listeners for downloads and the back button. Code samples are provided for setting WebView properties, displaying loading progress, and overriding the back button to go back in the webview history. The document also provides shortcuts for automatically formatting code on different operating systems.
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
The document provides an overview of Android user interface components. It discusses that an Activity contains screens composed of components or screen containers called View Groups or Layouts. Layouts define the arrangement of components. There are six main types of Layouts: LinearLayout, RelativeLayout, TableLayout, FrameLayout, AbsoluteLayout, and GridLayout. It also describes Views, ViewGroups, and how components are specified in XML layout files or programmatically.
This document provides information about Elsevier's SciVerse developer platform. It discusses how SciVerse allows developers to build applications that can access Elsevier's scientific content through APIs. It describes the OpenSocial architecture that SciVerse uses, including gadgets, views, and integration points. It also outlines the framework and content APIs that developers can use to retrieve metadata and search content in their applications.
The Wide World Of Google Developer Technologies (STLIC 02-10)jasonacooper
In addition to its own suite of web applications, Google offers a wealth of world-class APIs and tools that can help startups and well-established businesses alike easily (and cheaply!) add significant value to their desktop, mobile, and web-based applications.
In this presentation, I will provide a broad overview of the 70 APIs and developer tools that Google offers, touching on everything from the assortment of Apps, AJAX, and geo APIs (e.g. Calendar, YouTube, Maps, and Search, just to name a few), open web initiatives, mobile and social products including Android and Buzz, development/hosting solutions, and more. Rather than diving deeply into one API in particular -- that comes a bit later -- this session is designed to open your eyes to the bounty of Google APIs available and help inspire you to find creative ways of using them to enhance your present or future business, or even, dare I say it, change the world.
Native Android Development with SpringRoy Clarkson
This document discusses native Android development using Spring technologies. It introduces Spring for Android and Spring Mobile, with Spring for Android providing support for building native Android apps using Spring and Spring Mobile focusing on mobile web apps. It then covers using the Spring RestTemplate for making REST calls in Android apps, demonstrating a basic example. Finally, it discusses additional Spring for Android features and resources for native Android development with Spring.
JSF 2 Notes with coding examples topics include introduction , managed bean, jsf tags, navigation, jsf life cycle and phase listners,jsf validation and converters, i18n
Creation of simple application using - step by steppriya Nithya
The document describes steps to create a simple Android application using Android Studio that takes user input via text fields and displays it in a text view. The application is created with an empty activity template and designed in XML layout with buttons, edit texts and text views. The Java code in the MainActivity class handles input from the buttons by getting the text from the edit texts and setting the text view on button click.
This document discusses native Android development practices and provides an overview of using Spring for mobile web applications and Android development. It covers Spring Mobile features like device detection and site preference management. It then introduces basic Android development concepts like activities, services, and manifest registration. It demonstrates a simple "Hello World" Android activity and discusses Android lifecycles. Finally, it discusses using Maven for Android projects.
Android Development Made Easy - With Sample ProjectJoemarie Amparo
Android is an open source operating system developed by Google and the Open Handset Alliance. This document provides an overview of Android and how to create a sample Android project in Eclipse. It discusses Android versions, the project components like activities and services, and how to add a layout, strings, and additional activities. Creating the sample project involves adding buttons, text views and intents to launch a new activity when a button is clicked.
The document provides instructions for creating and running a basic "Hello World" Android application in Android Studio. It discusses creating a new project with an activity, adding a layout file with XML, adding a button and handling button click events either within the activity or with a separate listener class. It also covers running the app in an Android emulator, including selecting a device, launching the emulator if needed, and interacting with the app within the emulator.
The document provides an overview of basic Android application development concepts including getting set up with the Android SDK, creating a "Hello World" app, and exploring core application components like Activities, Services, Intents, and the AndroidManifest file. It describes setting up the development environment, building a simple app, and diving deeper into how Activities, Services, Intents, and the manifest are used to build the user interface and functionality of an Android application.
Android is a software platform for mobile devices based on the Linux operating system. It was developed by Google and the Open Handset Alliance. The document then provides a history of Android versions from 1.0 in 2007 to 4.1/4.2 Jelly Bean in 2012. It also describes key Android features like its application framework, Dalvik virtual machine, integrated browser, and hardware integration for graphics, audio, video, Bluetooth, GPS and more. Finally, it outlines the basic building blocks of an Android application like activities, intents, services, content providers and broadcast receivers, and provides an example "Hello World" application code.
The document provides an overview of location-based services and the telephony API in Android. It discusses how to use the mapping package to display maps, obtain an API key from Google, and integrate a MapView into an application. It also demonstrates how to send SMS messages using the telephony API and SmsManager class, including code samples for the layout and activity.
Android is an open source platform developed by Google and the Open Handset Alliance for mobile devices. It consists of an operating system, middleware, and key applications. The document provides an overview of Android versions from 1.1 to 4.1 Jelly Bean and their market shares. It also discusses installing the Android Development Tools plugin for Eclipse, exploring a sample project's components, and developing applications considering different Android versions. The sample project demonstrates creating layouts, handling button clicks, launching a new activity, and registering activities in the manifest file.
Android Development for Beginners with Sample Project - Day 1Joemarie Amparo
Android Development Training for Beginners covers an overview of Android, installing the Android Development Tools (ADT) plugin for Eclipse, exploring project components, creating a sample Android project, and running the project. The document outlines the first day module which introduces Android, explains that it is an open source mobile platform developed by Google and the Open Handset Alliance, and defines the software stack. It also provides a brief history of Android and versions released. The document discusses project structure, layouts, strings, the manifest file, and includes code examples for creating an activity and handling button clicks.
06. Android Basic Widget and ContainerOum Saokosal
This document discusses widgets and containers in Android layouts. It provides examples of common widgets like TextView, ImageView, Button, EditText, CheckBox and DigitalClock. It also demonstrates different container layouts, including LinearLayout, RelativeLayout and TableLayout. Code snippets are given to illustrate how to declare these widgets and containers in an XML layout file named main.xml.
Lecture #1 Creating your first android projectVitali Pekelis
1. The document discusses setting up a basic Android project structure including an activity, layout, and manifest.
2. It explains how to create an activity class that extends Activity and sets the layout view. The activity is declared in the manifest.
3. Basic instructions are provided for running the app on a real device or emulator from Android Studio.
The document provides an overview of Google Android, including that it is an open source software stack for mobile devices consisting of an operating system, middleware, and key applications. It describes Android application development using the Java programming language, the Dalvik virtual machine, and Android SDK tools like Eclipse. It also summarizes some important Android application programming interfaces and concepts like activities, intents, and the Android manifest file.
The document provides an overview of Google Android, including that it is an open source software stack for mobile devices consisting of an operating system, middleware, and key applications. It describes Android application development using the Java programming language, the Dalvik virtual machine, and Android SDK tools like Eclipse. It also summarizes some important Android application programming interfaces and concepts like activities, intents, and the Android manifest file.
The document provides instructions on installing the Android SDK and setting up a development environment in Netbeans or Eclipse. It describes the basic building blocks of an Android application including activities, intents, services, and content providers. It also covers creating user interfaces with views and view hierarchies, handling click events, and building a simple form layout with widgets like text fields, buttons, and radio buttons.
The document discusses various Android widgets such as TextView, ImageView, EditText, CheckBox, and RadioButton. It provides code examples for how to implement each widget in an Android application. For TextView, it demonstrates how to display simple text. For ImageView, it shows how to display an image. For EditText, it explains how to create an editable text field. For CheckBox, it provides an example of a checkbox that can be checked or unchecked. And for RadioButton, it discusses using radio buttons within a RadioGroup so that only one can be selected at a time.
The document discusses the steps for learning Android application development, including downloading the necessary tools like Java SDK, Eclipse IDE, and Android SDK. It covers key Android concepts like application components, user interfaces, and the AndroidManifest file. It also explains how to create a basic Android app by constructing the UI, adding logic in Java, and publishing the app on the Android Market after testing.
Presentation of Android at the Twin Cities Java User's Group.
Source code at: http://is.gd/TZFP
Video at: http://is.gd/U4Zr
Introduction to PhoneGap
Background
Setting up the environment for Android
Handling Events
Working With The Device, The Network, And Notifications
Getting Information from the Device
Determining the Connection Type
Using Notifications
Using Alerts
Using Confirmation Dialogs
Using Beeps
Using Vibrations
Accelerometer
Using the Acceleration Object
Using Accelerometer Methods
Media
The Media Object
Using Media Methods
Camera
Using The Camera Object
Using The Getpicture Method
Using Camera Options
Geolocation
Position, PositionError, Coord
Geolocation Methods
Geolocation Options
Deployment using Phonegap (Android)
Hands-on exercises
Storage
Available options
Db object
localStorage
Files
Filessystem
File read & write
Handling errors
Contacts
Creating contacts
Finding contacts
Handling errors
Capture
Video
Audio
Handling errors
Hands-on exercises
Introduction to PhoneGap
Background
Setting up the environment for Android
Handling Events
Working With The Device, The Network, And Notifications
Getting Information from the Device
Determining the Connection Type
Using Notifications
Using Alerts
Using Confirmation Dialogs
Using Beeps
Using Vibrations
Accelerometer
Using the Acceleration Object
Using Accelerometer Methods
Media
The Media Object
Using Media Methods
Camera
Using The Camera Object
Using The Getpicture Method
Using Camera Options
Geolocation
Position, PositionError, Coord
Geolocation Methods
Geolocation Options
Deployment using Phonegap (Android)
Hands-on exercises
Storage
Available options
Db object
localStorage
Files
Filessystem
File read & write
Handling errors
Contacts
Creating contacts
Finding contacts
Handling errors
Capture
Video
Audio
Handling errors
Hands-on exercises
We have an explosion of wearables - AirPods Pro - and smart speakers are now everywhere. What would an audio-first experience be like?
A business idea generated while in Antler, Singapore, 2020.
Offline experience (eg. live bands in pubs, DJs in music festivals, concerts) lacks a DIGITAL experience. Gen-z gonna use their mobile phones anyway, so why not accept this behaviour, and enhance the whole experience further?
A business idea generated while in Antler, Singapore, 2020.
A business idea generated while in Antler, Singapore, 2020. Flyer is just a starting problem. Can we disrupt advertising and make it consumer-first? Give consumers data privacy, and paid consumers for their attention.
This document discusses how to build products 10x faster by using third party APIs rather than building everything from scratch. It recommends using APIs from companies like Amazon, Facebook, Google Maps, and Paypal to incorporate key functionality without having to develop it yourself. The document then introduces Hoiio as an API provider that can be integrated in just a few lines of code to add voice and SMS communication capabilities to products. Examples are given of how to use Hoiio to perform a voice broadcast with only 3 lines of code.
This is a presentation for THack 2011, a 24-hour travel hackathon held in Singapore.
This presentation shows how to build an app that notify passengers in the event of flight delays. By using Hoiio API, a voice broadcast system can be created in a day!
Hoiio API is a set of powerful communication APIs built on carriers' infrastructure and made accessible to developers. It allows developers to focus on building their apps while Hoiio connects to carriers. Hoiio uses familiar web technologies like REST, JSON, and HTTP and has zero capital costs, making it scalable from day one. It charges on a simple pay-per-use model for outbound SMS and voice with costs ranging from 1.8-4.8 cents per call or SMS depending on the destination country.
Build voice app the easy way by NOT reinventing the wheel.
This presentation introduces the use of Hoiio, an API service that helps in development of voice app quickly and easily.
This document lists various fonts that can be used in slideshare presentations. It provides a list of over 20 common fonts including serif, sans serif, decorative, and handwritten font styles that may appear differently or be substituted when viewed on slideshare depending on the viewer's font availability. The document does not provide any additional context or explanation around fonts on slideshare.
I designed and drew this when I was 14 yr old (which is more than 10 years ago)!
This is NOT design of system/applications, and not really technology related.. But the process is so similar.
I realized this as I scan and archive my antiqued notes :)
NYP Talk - Sharing Mobile Development ExperienceJunda Ong
The document summarizes a sharing session on mobile app development. It introduces the speaker and their background developing apps. It then addresses three questions: 1) the apps the speaker has developed, which include business, utility and hobby apps, 2) what types of apps one should consider developing based on factors like platform and goals, and 3) how much money can be earned developing apps, noting it depends on factors like platform and monetization strategy.
This presentation slides is for SG GTUG 4th meetup on 17 April 2010.
In this presentation, I shared my personal experience in using AppEngine (Java) for my mobile application developments. I used SG 4D, one of my most popular Singapore app, as an example.
Topics covered including datamining, cron jobs, JDO, Restlet and Gson.
Spark is a powerhouse for large datasets, but when it comes to smaller data workloads, its overhead can sometimes slow things down. What if you could achieve high performance and efficiency without the need for Spark?
At S&P Global Commodity Insights, having a complete view of global energy and commodities markets enables customers to make data-driven decisions with confidence and create long-term, sustainable value. 🌍
Explore delta-rs + CDC and how these open-source innovations power lightweight, high-performance data applications beyond Spark! 🚀
Complete Guide to Advanced Logistics Management Software in Riyadh.pdfSoftware Company
Explore the benefits and features of advanced logistics management software for businesses in Riyadh. This guide delves into the latest technologies, from real-time tracking and route optimization to warehouse management and inventory control, helping businesses streamline their logistics operations and reduce costs. Learn how implementing the right software solution can enhance efficiency, improve customer satisfaction, and provide a competitive edge in the growing logistics sector of Riyadh.
Designing Low-Latency Systems with Rust and ScyllaDB: An Architectural Deep DiveScyllaDB
Want to learn practical tips for designing systems that can scale efficiently without compromising speed?
Join us for a workshop where we’ll address these challenges head-on and explore how to architect low-latency systems using Rust. During this free interactive workshop oriented for developers, engineers, and architects, we’ll cover how Rust’s unique language features and the Tokio async runtime enable high-performance application development.
As you explore key principles of designing low-latency systems with Rust, you will learn how to:
- Create and compile a real-world app with Rust
- Connect the application to ScyllaDB (NoSQL data store)
- Negotiate tradeoffs related to data modeling and querying
- Manage and monitor the database for consistently low latencies
Generative Artificial Intelligence (GenAI) in BusinessDr. Tathagat Varma
My talk for the Indian School of Business (ISB) Emerging Leaders Program Cohort 9. In this talk, I discussed key issues around adoption of GenAI in business - benefits, opportunities and limitations. I also discussed how my research on Theory of Cognitive Chasms helps address some of these issues
Semantic Cultivators : The Critical Future Role to Enable AIartmondano
By 2026, AI agents will consume 10x more enterprise data than humans, but with none of the contextual understanding that prevents catastrophic misinterpretations.
Andrew Marnell: Transforming Business Strategy Through Data-Driven InsightsAndrew Marnell
With expertise in data architecture, performance tracking, and revenue forecasting, Andrew Marnell plays a vital role in aligning business strategies with data insights. Andrew Marnell’s ability to lead cross-functional teams ensures businesses achieve sustainable growth and operational excellence.
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxJustin Reock
Building 10x Organizations with Modern Productivity Metrics
10x developers may be a myth, but 10x organizations are very real, as proven by the influential study performed in the 1980s, ‘The Coding War Games.’
Right now, here in early 2025, we seem to be experiencing YAPP (Yet Another Productivity Philosophy), and that philosophy is converging on developer experience. It seems that with every new method we invent for the delivery of products, whether physical or virtual, we reinvent productivity philosophies to go alongside them.
But which of these approaches actually work? DORA? SPACE? DevEx? What should we invest in and create urgency behind today, so that we don’t find ourselves having the same discussion again in a decade?
HCL Nomad Web – Best Practices and Managing Multiuser Environmentspanagenda
Webinar Recording: https://www.panagenda.com/webinars/hcl-nomad-web-best-practices-and-managing-multiuser-environments/
HCL Nomad Web is heralded as the next generation of the HCL Notes client, offering numerous advantages such as eliminating the need for packaging, distribution, and installation. Nomad Web client upgrades will be installed “automatically” in the background. This significantly reduces the administrative footprint compared to traditional HCL Notes clients. However, troubleshooting issues in Nomad Web present unique challenges compared to the Notes client.
Join Christoph and Marc as they demonstrate how to simplify the troubleshooting process in HCL Nomad Web, ensuring a smoother and more efficient user experience.
In this webinar, we will explore effective strategies for diagnosing and resolving common problems in HCL Nomad Web, including
- Accessing the console
- Locating and interpreting log files
- Accessing the data folder within the browser’s cache (using OPFS)
- Understand the difference between single- and multi-user scenarios
- Utilizing Client Clocking
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...SOFTTECHHUB
I started my online journey with several hosting services before stumbling upon Ai EngineHost. At first, the idea of paying one fee and getting lifetime access seemed too good to pass up. The platform is built on reliable US-based servers, ensuring your projects run at high speeds and remain safe. Let me take you step by step through its benefits and features as I explain why this hosting solution is a perfect fit for digital entrepreneurs.
Artificial Intelligence is providing benefits in many areas of work within the heritage sector, from image analysis, to ideas generation, and new research tools. However, it is more critical than ever for people, with analogue intelligence, to ensure the integrity and ethical use of AI. Including real people can improve the use of AI by identifying potential biases, cross-checking results, refining workflows, and providing contextual relevance to AI-driven results.
News about the impact of AI often paints a rosy picture. In practice, there are many potential pitfalls. This presentation discusses these issues and looks at the role of analogue intelligence and analogue interfaces in providing the best results to our audiences. How do we deal with factually incorrect results? How do we get content generated that better reflects the diversity of our communities? What roles are there for physical, in-person experiences in the digital world?
Technology Trends in 2025: AI and Big Data AnalyticsInData Labs
At InData Labs, we have been keeping an ear to the ground, looking out for AI-enabled digital transformation trends coming our way in 2025. Our report will provide a look into the technology landscape of the future, including:
-Artificial Intelligence Market Overview
-Strategies for AI Adoption in 2025
-Anticipated drivers of AI adoption and transformative technologies
-Benefits of AI and Big data for your business
-Tips on how to prepare your business for innovation
-AI and data privacy: Strategies for securing data privacy in AI models, etc.
Download your free copy nowand implement the key findings to improve your business.
TrsLabs - Fintech Product & Business ConsultingTrs Labs
Hybrid Growth Mandate Model with TrsLabs
Strategic Investments, Inorganic Growth, Business Model Pivoting are critical activities that business don't do/change everyday. In cases like this, it may benefit your business to choose a temporary external consultant.
An unbiased plan driven by clearcut deliverables, market dynamics and without the influence of your internal office equations empower business leaders to make right choices.
Getting things done within a budget within a timeframe is key to Growing Business - No matter whether you are a start-up or a big company
Talk to us & Unlock the competitive advantage
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
22. A couple of steps
• Install SDK
• Setup Emulator
• Run Emulator
• Create Project
• Run Project
23. Install SDKs
1. Install Eclipse - the IDE
http://www.eclipse.org/downloads/packages/eclipse-classic-371/indigosr1
2. Install Android SDK
http://developer.android.com/sdk/index.html
3. Install Android ADT Plugin for Eclipse
http://developer.android.com/sdk/eclipse-adt.html#installing
Guide from http://developer.android.com/sdk/installing.html
24. Setup Emulator
• Add an AVD (Android Virtual Device)
• Go to Windows > AVD Manager > Virtual
devices > New
• Select Google APIs - API Level 10
as target (which is v2.3.3)
28. Create Project
• File > New > Android Project
• Fill in:
• Project name
• Build target
• Application name
• Package name
• Activity
• Min SDK Version
32. Run on Actual Device
• To run on actual Android device, connect
device to computer via USB
• From device, go to Settings > Applications
> Development > enabled USB debugging
• Run project
43. Activity
• Launch an Activity by calling
startActivity(intent)
Launch a known Activity
Intent intent = new Intent(this, SignInActivity.class);
startActivity(intent);
44. Activity
• Launch an Activity by calling
startActivity(intent)
Launch a known Activity
Intent intent = new Intent(this, SignInActivity.class);
startActivity(intent);
Launch a system Activity
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_EMAIL, recipientArray);
startActivity(intent);
45. Activity
• Activity must be declared in AndroidManifest.xml
<manifest ... >
<application ... >
<activity android:name=".HelloWorldActivity" />
...
</application ... >
...
</manifest >
46. Service
• Service runs in the background, even when user is not
interacting with your app
• Service or Thread ?
• To start, call startService()
• Similar to Activity, has its lifecycle and various event
callbacks
47. ContentProvider
• A way to share data across applications,
including apps such as phonebook,
calendar, etc.
• In other words, you can access the
phonebook using a ContentProvider
• Have query, insert, delete methods (SQLite)
ContentResolver cr = getContentResolver();
cr.query(“content://android.provider.Contacts.Phones.CONTACT_URI”,
projection,
selection, selectionArg,
sortOrder)
48. BroadcastReceiver
• Responds to system-wide broadcast
announcements such as incoming phone
call, SMS sent, picture captured, etc
49. User Interfaces
Slides on http://www.slideshare.net/samwize
51. View Hierarchy
1. View - Android UI component, view or widget
2. ViewGroup - Layout or container view
52. View
• UI components can be found in
android.widget package
• Basic UI:
• TextView
• Button
• TextField
• Progress bar
• List
• etc..
57. The way of XML
/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
58. The way of XML
/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
looks in /res/values/string.xml, and
find the value for the key “hello”
59. The way of XML
/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
Equivalently..
android:text="Hello world too!"
60. The way of XML
/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
61. The way of XML
/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
/>
</LinearLayout>
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
setContentView() inflate main.xml and set the views
62. The way of Code
package com.just2us.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textview = new TextView(this);
textview.setText("Hello, Android");
setContentView(textview);
}
}
63. The way of Code
package com.just2us.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textview = new TextView(this);
textview.setText("Hello, Android");
setContentView(textview);
}
}
Creating a TextView and set the text
64. The way of Code
package com.just2us.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textview = new TextView(this);
textview.setText("Hello, Android");
setContentView(textview);
}
}
Similarly to the way of XML, setContentView()
65. The way of Code
package com.just2us.helloandroid;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView textview = new TextView(this);
textview.setText("Hello, Android");
setContentView(textview);
}
}
71. Preferences
• The easiest way to store information
• NOT only store preferences/settings, but
also arbitrary key-value pairs
• SharedPreference class
• getBoolean, setBoolean, etc..
72. Preferences
public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
@Override
protected void onCreate(Bundle state){
super.onCreate(state);
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
boolean silent = settings.getBoolean("silentMode", false);
setSilent(silent);
}
@Override
protected void onStop(){
super.onStop();
// We need an Editor object to make preference changes.
// All objects are from android.context.Context
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("silentMode", mSilentMode);
// Commit the edits!
editor.commit();
}
}
74. Database
public class DictionaryOpenHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 2;
private static final String DICTIONARY_TABLE_NAME = "dictionary";
private static final String DICTIONARY_TABLE_CREATE =
"CREATE TABLE " + DICTIONARY_TABLE_NAME + " (" +
KEY_WORD + " TEXT, " +
KEY_DEFINITION + " TEXT);";
DictionaryOpenHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(DICTIONARY_TABLE_CREATE);
}
}
75. Database
• Call getWritableDatabase() or
getReadableDatabase() to get an
SQLiteDatabase object
• With SQLiteDatabase, call query() to
execute SQL queries
76. Network
• Connect to web services over HTTP
• Permission needed in Manifest
<uses-permission android:name="android.permission.INTERNET" />
• A few different ways to connect
• HttpClient is most robust
77. Network - GET
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://www.myserver.com/script1.php");
// Execute HTTP GET request and get response
HttpResponse response = client.execute(request);
InputStream is = response.getEntity().getContent();
BufferedReader in = new BufferedReader(new InputStreamReader(is));
// Do what you need with content StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}
in.close();
String content = sb.toString();
// Do what you need with content
...
78. Network - POST
HttpClient client = new DefaultHttpClient();
HttpPost request = new HttpPost("http://www.myserver.com/login_script.php");
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("username", "samwize"));
nameValuePairs.add(new BasicNameValuePair("password", "123456"));
request.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP POST Request
HttpResponse response = httpclient.execute(request);
81. Multimedia - Camera
• 2 ways to capture photo
• Using capture intent
• Using Camera class directly
82. Multimedia - Camera
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
private Uri fileUri;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// create Intent to take a picture and return control to the calling application
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
fileUri = getOutputMediaFileUri(MEDIA_TYPE_IMAGE); // create a file to save the image
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name
// start the image capture Intent
startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}
Capture photo
83. Multimedia - Camera
private static final int CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE = 200;
private Uri fileUri;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//create new Intent
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO); // create a file to save the video
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); // set the video image quality to high
// start the Video Capture Intent
startActivityForResult(intent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);
}
84. Multimedia - Camera
private static final int CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE = 200;
private Uri fileUri;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//create new Intent
Intent intent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
fileUri = getOutputMediaFileUri(MEDIA_TYPE_VIDEO); // create a file to save the video
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); // set the image file name
intent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 1); // set the video image quality to high
// start the Video Capture Intent
startActivityForResult(intent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);
}
Capture video
85. Multimedia - Camera
private static final int CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE = 100;
private static final int CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE = 200;
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
// Image captured and saved to fileUri specified in the Intent
Toast.makeText(this, "Image saved to:n" +
data.getData(), Toast.LENGTH_LONG).show();
} else if (resultCode == RESULT_CANCELED) {
// User cancelled the image capture
} else {
// Image capture failed, advise user
}
}
if (requestCode == CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE) {
if (resultCode == RESULT_OK) {
// Video captured and saved to fileUri specified in the Intent
Toast.makeText(this, "Video saved to:n" +
data.getData(), Toast.LENGTH_LONG).show();
} else if (resultCode == RESULT_CANCELED) {
// User cancelled the video capture
} else {
// Video capture failed, advise user
}
}
}
Handling after photo/video is captured by camera app
86. Multimedia - MediaPlayer
• Play audio and video from:
• /res/raw/
• File system (internal or external)
• Stream over Internet
• MediaPlayer class
89. Multimedia - MediaPlayer
String url = "http://........"; // your streaming URL here
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(url);
mediaPlayer.prepare(); // might take long! (for buffering, etc)
mediaPlayer.start();
Playing audio stream from Internet
90. Multimedia - MediaPlayer
• Playing video is similar to audio
• Pass a SurfaceHolder (view class) which the
MediaPlayer can render the video on
94. Notepad Tutorial
• Exercise 1- ListActivity and database
http://developer.android.com/resources/tutorials/notepad/notepad-ex1.html
• Exercise 2 - Invoke another activity
• Exercise 3 - application life cycle
95. Sample Code
• Sample Codes
http://developer.android.com/resources/samples/get.html
• API Demo, Bluetooth Chat, News Reader,
Accelerometer Play, Contact Manager, etc
96. User Interfaces
• Supporting different screen sizes
http://developer.android.com/guide/practices/screens_support.html
• Common UI Patterns
http://www.androidpatterns.com/
#2: 4-hour Android workshop\nGet started\nZero Android, but some programming knowledge\n\nFor NTU School of EEE, Design & Innovation Project (DIP)\n12 teams (of 10 members)\nhttp://www.eee.ntu.edu.sg/events/Design%20and%20Innovation%20Project/Pages/Introduction.aspx\n
#3: Get to know me, my experience\nFor you to ask relevant questions\nEven as a consultant to your projects\nDOWNLOAD the slides\n
#4: write lots mobile apps\nStarted with WAP > Java ME > BB > iPhone > Android > WP7\nSkipped Symbian.. \nMy hobby apps, now..\n
#5: write lots mobile apps\nStarted with WAP > Java ME > BB > iPhone > Android > WP7\nSkipped Symbian.. \nMy hobby apps, now..\n
#6: write lots mobile apps\nStarted with WAP > Java ME > BB > iPhone > Android > WP7\nSkipped Symbian.. \nMy hobby apps, now..\n
#16: Android as an OS\nHands On Coding, and break if done\nGuidance to life after this 4hr\n
#17: Fun Company\nGreen robot\nFav desserts\nhttp://developer.android.com/guide/basics/what-is-android.html\nhttp://kschang.hubpages.com/slide/Cupcake-Donut-Eclair-Froyo-Gingerbread-Honeycomb-Android-OS-Version-Codenames-and-Why/4609964\n
#18: Android is everywhere - Phones, tablets, Google TV. Future: Cars, tanks.\nPhone - most prevalent. A device with lots of I/O. Also small.\n\n
#19: Android != Linux\nUsed Linux security, mem mgmt, threading, etc\nEach app, 1 VM instance\nOptimized for mobile\nAndroid Package. A zip. Like Jar.\nApplication Framework = APIs - Storage, Network, Multimedia, GPS, Phone services (see next)\n
#20: An open development platform.\n4 Abstraction layers\nAndroid offers developers the ability to build extremely rich and innovative applications - take advantage of the device hardware, etc\nDevelopers have full access to the same framework APIs used by the core applications. \nThe application architecture is designed to simplify the reuse of components. allows components to be replaced by the user.\nhttp://developer.android.com/guide/basics/what-is-android.html\n
#37: All files under res are parsed and accessible in code by eg. R.layout.main and R.drawable.icon\n
#38: All files under res are parsed and accessible in code by eg. R.layout.main and R.drawable.icon\n
#39: All files under res are parsed and accessible in code by eg. R.layout.main and R.drawable.icon\n
#40: All files under res are parsed and accessible in code by eg. R.layout.main and R.drawable.icon\n
#41: All files under res are parsed and accessible in code by eg. R.layout.main and R.drawable.icon\n
#42: All files under res are parsed and accessible in code by eg. R.layout.main and R.drawable.icon\n
#43: All files under res are parsed and accessible in code by eg. R.layout.main and R.drawable.icon\n
#44: Foundation for an app is contained in this xml - the activities, services, intents, and so on. \nWhich activity appear on device&#x2019;s launcher\nApp name, icon, etc\n
#45: Activity - A single screen (UI)\nService - background activity eg. play music globally\nContentProvider - Even share data across apps. SQLite. eg. contacts. ContentResolver\nBroadcastReceiver - Responds to system wide broadcast announcements. Usually from the system eg. Send Message, Picture captured\n\nhttp://developer.android.com/guide/topics/fundamentals.html\n
#46: It is a screen/window to draw your UI.\nAn app makes up of 1 or more activities\nScreens stack up. When BACK is pressed, the top screen is removed, and the one below is shown. \nFIFO\nhttp://developer.android.com/guide/topics/fundamentals/activities.html\n
#47: Activity lifecycle\nPause - a call comes in, a notification is shown over the screen\nStop - screen is no longer visible\n
#52: Thread, does NOT run when app is in background\nhttp://developer.android.com/guide/topics/fundamentals/services.html\n\n
#80: API Demo has several small &#x2018;applications&#x2019; to illustrate different APIs, including UI widgets. The holy demo app to install.\n