The document discusses the AndroidManifest.xml file which defines the structure and metadata of an Android application. It includes nodes for application components and their interactions. It also specifies requirements, permissions, and configuration options. The manifest allows defining the application version, install location, minimum SDK, and supported screen sizes. It declares necessary permissions and hardware features. The document also covers handling runtime configuration changes and the Android application lifecycle.
Introduction to Android and Android StudioSuyash Srijan
This is a presentation that I gave at Google Developer Group Oxford to introduce people to Android development and Android Studio IDE, which is used to build Android apps. This presentation gives a brief overview of the platform and fundamentals of the app and what developer tools are available.
PS: Some slides do not have any text accompanying it. That is either because it wasn't relevant or because the text would've been too long to put on the corresponding slide.
This is a basic crash course for android development covers:
Android Studio,Hello World Application,Application Components,Application Resources,User Interface,Good UI,Play Store
Introduction to Android and Android StudioSuyash Srijan
This is a presentation that I gave at Google Developer Group Oxford to introduce people to Android development and Android Studio IDE, which is used to build Android apps. This presentation gives a brief overview of the platform and fundamentals of the app and what developer tools are available.
PS: Some slides do not have any text accompanying it. That is either because it wasn't relevant or because the text would've been too long to put on the corresponding slide.
This is a basic crash course for android development covers:
Android Studio,Hello World Application,Application Components,Application Resources,User Interface,Good UI,Play Store
An Activity is an application component that provides a screen with which users can interact in order to do something, such as dial the phone, take a photo, send an email, or view a map.
Each activity is given a window in which to draw its user interface. The window typically fills the screen, but may be smaller than the screen and float on top of other windows.
An application usually consists of multiple activities that are loosely bound to each other. Typically, one activity in an application is specified as the "main" activity, which is presented to the user when launching the application for the first time. Each activity can then start another activity in order to perform different actions.
Each time a new activity starts, the previous activity is stopped, but the system preserves the activity in a stack .
When a new activity starts, it is pushed onto the back stack and takes user focus.
Here I'm presenting the ppt of Android App Development. Learn android app development is an efficient way. The ppt is totally free for you.
VISIT: https://www.androidflap.com/
This set of slides introduces the reader to the concepts of Android Activities and Views. After presenting these two concepts in general terms, it continues with a detailed description of the activity lifecycle. It follows a discussion on how to structure the user interface in terms of View and ViewGroup objects. Finally, the presentation shows how to frame Android application development within the dictates of the Model-View-Controller (MVC) pattern.
The prime objective of “Online MCQ Quiz application” is to take quiz for any individuals through internet. Multiple choice questions (MCQ) will arrive for user with certain time limit for each quiz. “Online MCQ Quiz application” is an android app for making the competitive job exams easier. This app targets users who preparing for different kinds of government and non-government jobs like BCS (Bangladesh Civil Service), bank jobs etc. Users can read online and saved it for future offline reading. All the study materials are divided into chapters, topics, and subtopics and topic related. User can take exams on various subject and get points for his performance which will determine their rank among all the users. User can also take quiz for preparation before taking exams. Users can also request for a particular topic or a discussion.
An Activity is an application component that provides a screen with which users can interact in order to do something, such as dial the phone, take a photo, send an email, or view a map.
Each activity is given a window in which to draw its user interface. The window typically fills the screen, but may be smaller than the screen and float on top of other windows.
An application usually consists of multiple activities that are loosely bound to each other. Typically, one activity in an application is specified as the "main" activity, which is presented to the user when launching the application for the first time. Each activity can then start another activity in order to perform different actions.
Each time a new activity starts, the previous activity is stopped, but the system preserves the activity in a stack .
When a new activity starts, it is pushed onto the back stack and takes user focus.
Here I'm presenting the ppt of Android App Development. Learn android app development is an efficient way. The ppt is totally free for you.
VISIT: https://www.androidflap.com/
This set of slides introduces the reader to the concepts of Android Activities and Views. After presenting these two concepts in general terms, it continues with a detailed description of the activity lifecycle. It follows a discussion on how to structure the user interface in terms of View and ViewGroup objects. Finally, the presentation shows how to frame Android application development within the dictates of the Model-View-Controller (MVC) pattern.
The prime objective of “Online MCQ Quiz application” is to take quiz for any individuals through internet. Multiple choice questions (MCQ) will arrive for user with certain time limit for each quiz. “Online MCQ Quiz application” is an android app for making the competitive job exams easier. This app targets users who preparing for different kinds of government and non-government jobs like BCS (Bangladesh Civil Service), bank jobs etc. Users can read online and saved it for future offline reading. All the study materials are divided into chapters, topics, and subtopics and topic related. User can take exams on various subject and get points for his performance which will determine their rank among all the users. User can also take quiz for preparation before taking exams. Users can also request for a particular topic or a discussion.
Lecture 5: Storage: Saving Data Database, Files & PreferencesAhsanul Karim
This slide is made for Shikkhok.com Android course. To get the video lectures visit: http://www.shikkhok.com/%E0%A6%95%E0%A7%8B%E0%A6%B0%E0%A7%8D%E0%A6%B8-%E0%A6%A4%E0%A6%BE%E0%A6%B2%E0%A6%BF%E0%A6%95%E0%A6%BE/android-app-development/
The slides from the Java Meetup which was held in 12th of March 2015 at WSO2 Inc. Sri Lanka. Introduction to Android Development. By : Kasun Delgolla, Chathura Dilan And Inosh Perera, Engineers @ WSO2.
The Ultimate Android Security Checklist (Mdevcon 2014)Ron Munitz
My session in Mdevcon, March 2014, Amsterdam, The Netherlands.
In this session I will present the essential security measures for Application Developers, show how to reverse engineer purely protected apps, and discuss what common security guidelines will and will not work against untrusted, rooted devices.
The session will include the confessions of an evil, yet good attacker, and will unleash some serious security flaws you have probably never considered in your app development.
For Training/Consulting requests: info@thepscg.com
viWave Study Group - Introduction to Google Android Development - Chapter 23 ...Ted Chien
My study group slide in 2009 for Google Android Development, describing the following topics:
Designing the Obvious,
Resources and Internationalization,
Orientation,
Adapter,
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
Ron Munitz - The Ultimate Android Security Checklist - Codemotion Rome 2015Codemotion
Ron Munitz - Codemotion Rome 2015
In this session I will present the essential security measures for Application Developers, show how to reverse engineer purely protected apps, and discuss what common security guidelines will and will not work against untrusted, rooted devices. The session will include the confessions of an evil, yet good attacker, and will unleash some serious security flaws you have probably never considered in your app development.
এই সেশনে নিম্নলিখিত বিষয়গুলো সম্পর্কে খুব সংক্ষিপ্তভাবে আলোচনা করা হয়েছেঃ
১) বিভিন্ন মোবাইল এপ্লিকেশন প্লাটফর্ম (যেমনঃ আইফোন, এন্ড্রয়েড, ব্ল্যাকবেরী, উইন্ডোজ ফোন ইত্যাদি)
২) এন্ড্রয়েড প্লাটফর্ম-এ এপ্লিকেশন তৈরির সুবিধা
৩) গুগল প্লে স্টোর
৪) Application development trends ইত্যাদি।
যারা খুব দ্রুত কাজ শুরু করতে চান তারা নিশ্চিন্তে এই সেশনটি স্কিপ করতে পারেন। তবে এই সেশনের স্লাইডটির শেষে কিছু রিসোর্সের লিঙ্ক দেয়া আছে সেটি দেখতে পারেন।
Mobile Banking in Bangladesh: An Incomplete StudyAhsanul Karim
This is an incomplete study on Mobile Banking in Bangladesh. Feel free to use this for educational purpose. A more detailed version will be available soon.
2. AndroidManifest.xml
● Each Android project includes a manifest file,
AndroidManifest.xml, stored in the root of its project
hierarchy.
● The manifest defines the structure and metadata of your
application, its components, and its requirements.
3. AndroidManifest.xml
● Includes nodes for each of the Activities, Services, Content
Providers, and Broadcast Receivers that make up your application
and, using Intent Filters and Permissions, determines how they
interact with each other and with other applications.
● Specifies application metadata (such as its icon, version number, or
theme), and additional top-level nodes can specify any required
permissions and define hardware, screen, or platform requirements
● The manifest is made up of a root manifest tag with a package
attribute set to the project’s package. It should also include an xmlns:
android attribute that supplies several system attributes used within
the file.
4. AndroidManifest.xml
● versionCode: Define the current application version as an integer
that increases with each version iteration
● versionName: Specify a public version that will be displayed to users
● installLocation: Specify whether to allow (or prefer) for your
application be installed on external storage (usually an SD card)
[preferExternal|auto]
5. AndroidManifest.xml
● uses-sdk: Enables to define a minimum and maximum SDK version
that must be available on a device for your application to function
properly, and target SDK for which it has been designed.
[minSDKVersion, maxSDKVersion, and targetSDKVersion].
○ The minimum SDK version specifies the lowest version of the SDK.
If not specified a minimum version, it defaults to 1, and your
application crashes when it attempts to access unavailable APIs.
○ The target SDK version attribute enables you to specify the
platform against which you did your development and testing.
Good practice is to update the target SDK of your application to
the latest platform release after you confirm it behaves as
expected, even if you aren’t making use of any new APIs.
○ maxSDKVersion: Unnecessary
6. AndroidManifest.xml
● uses-configuration: Specifies each combination of input mechanisms are
supported by your application. Normally no need to include this node, though
it can be useful for games that require particular input controls.
○ reqFiveWayNav — Specify true for this attribute if you require an input
device capable of navigating up, down, left, and right and of clicking the
current selection. This includes both trackballs and directional pads (D-
pads).
○ reqHardKeyboard — If your application requires a hardware keyboard,
specify true.
○ reqKeyboardType — Lets you specify the keyboard type as one of nokeys,
qwerty, twelvekey, or undefined.
○ reqNavigation — Specify the attribute value as one of nonav, dpad,
trackball, wheel, or undefined as a required navigation device.
○ reqTouchScreen — Select one of notouch, stylus, finger, or undefined to
spec- ify the required touchscreen input.
7. AndroidManifest.xml
● uses-feature — Use multiple uses-feature nodes to specify which hardware
features your application requires. This prevents your application from being
installed on a device that does not include a required piece of hardware, such
as NFC hardware, as follows:
<uses-feature android:name=”android.hardware.nfc” />
You can require support for any hardware that is optional on a compatible device.
Currently, optional hardware features include the following:
○ Bluetooth
○ Camera
○ Location
○ Microphone
○ NFC
○ Sensors
○ Telephony
○ Touchscreen
○ USB
○ Wi-Fi
http://developer.android.com/guide/topics/manifest/uses-feature-element.
html#features-reference.
8. AndroidManifest.xml
● supports-screens — Enables you to specify the screen sizes your application
has been designed and tested to. On devices with supported screens, your
application is laid out normally using the scaling properties associated with
the layout files you supply.
○ smallScreens —typically, QVGA screens
○ normalScreens — HVGA, including WVGA and WQVGA.
○ largeScreens — Screens larger than normal.
○ xlargeScreens — Typically tablet devices.
● Honeycomb MR2 (API level 13) introduced additional attributes:
○ requiresSmallestWidthDp
○ compatibleWidthLimitDp
○ largestWidthLimitDp
9. AndroidManifest.xml
● uses-permission — (Security model), declare the user permissions your
application requires. Each permission you specify will be presented to the
user before the application is installed. Permissions are required for many APIs
and method calls, generally those with an associated cost or security
implication (such as dialing, receiving SMS, or using the location-based
services).
<uses-permission android:name=”android.permission.ACCESS_FINE_LOCATION”/>
● permission — Your application components can also create permissions to
restrict access to shared application components.
○ Your application components can then create permissions by adding an
android:permission attribute. Then you can include a uses-permission tag
in your manifest to use these protected components, both in the
application that includes the protected component and any other
application that wants to use it.
10. AndroidManifest.xml
● application — A manifest can contain only one application node.
○ During development if you include a debuggable attribute set to true to
enable debugging, then be sure to disable it for your release builds.
○ The application node also acts as a container for the Activity, Service,
Content Provider, and Broadcast Receiver nodes that specify the
application components. You specify the name of your custom application
class using the android:name attribute.
● activity
● service
● provider
● receiver
● uses-library
11. Runtime Configuration Changes
● Android handles runtime changes to the language, location, and hardware by
terminating and restarting the active Activity.
● In some special cases this default behavior may be inconvenient.
● To have an Activity listen for runtime configuration changes, add an android:
configChanges attribute to its manifest node, specifying the configuration
changes you want to handle.
○ mcc+mnc
○ locale
○ keyboardHidden
○ keyboard
○ fontScale
○ uiMode
○ orientation
○ screenLayout
○ screenSize
○ smallestScreenSize
12. Runtime Configuration Changes
● You can select multiple events you want to handle yourself
Test an activity with+without
configChanges while changing orientation
13. Runtime Configuration Changes
● Adding an android:configChanges attribute suppresses the restart for the
specified configuration changes, instead triggering the
onConfigurationChanged handler in the associated Activity. Override this
method to handle the configuration changes yourself, using the passed-in
Configuration object