Support slides for the test automation workshop realized at the iMasters Android DevConference 2015 at São Paulo. The workshop focus was around Unit Tests with JUnit, UI Tests with Espresso and UIAutomator and Testing your app in the cloud with Testdroid.
Appium Mobile Testing: Nakov at BurgasConf - July 2021Svetlin Nakov
Automated testing of Android apps using Appium, AndroidDriver, Selenium and C#.
Speaker: Svetlin Nakov
BurgasConf, July 2021
Contents:
Appium: Overview, Architecture, Installation
The Android Emulator
Appium for Android App Automation
Inspecting Android apps UI from Appium
Using AndroidDriver<AndroidElement>
Using Appium for Android from NUnit
Testing on Physical Android Device
Appium Meetup #2 - Mobile Web Automation Introductionsnevesbarros
These were the slides for the second appium meetup held at the Gamesys in London, presented by Dan Cueller and Sergio Neves Barros
The demo project mentioned in the slides can be found here:
https://drive.google.com/file/d/0ByIdcWPvw1I3Ny1QWkJzZWpvbzA/view?usp=sharing
Getting Started with XCTest and XCUITest for iOS App TestingBitbar
Watch a live presentation at http://offer.bitbar.com/getting-started-with-xctest-and-xcuitest-for-ios-app-testing
XCTest has been part of Xcode for few years already, but it is finally catching up and more developers are getting on the bandwagon. XCTest and XCUITest provide feature-rich capabilities for iOS developers and test automation folks to implement different levels of tests using Xcode features and supported programming languages, Objective-C and Swift.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
Support slides for the test automation workshop realized at the iMasters Android DevConference 2015 at São Paulo. The workshop focus was around Unit Tests with JUnit, UI Tests with Espresso and UIAutomator and Testing your app in the cloud with Testdroid.
Appium Mobile Testing: Nakov at BurgasConf - July 2021Svetlin Nakov
Automated testing of Android apps using Appium, AndroidDriver, Selenium and C#.
Speaker: Svetlin Nakov
BurgasConf, July 2021
Contents:
Appium: Overview, Architecture, Installation
The Android Emulator
Appium for Android App Automation
Inspecting Android apps UI from Appium
Using AndroidDriver<AndroidElement>
Using Appium for Android from NUnit
Testing on Physical Android Device
Appium Meetup #2 - Mobile Web Automation Introductionsnevesbarros
These were the slides for the second appium meetup held at the Gamesys in London, presented by Dan Cueller and Sergio Neves Barros
The demo project mentioned in the slides can be found here:
https://drive.google.com/file/d/0ByIdcWPvw1I3Ny1QWkJzZWpvbzA/view?usp=sharing
Getting Started with XCTest and XCUITest for iOS App TestingBitbar
Watch a live presentation at http://offer.bitbar.com/getting-started-with-xctest-and-xcuitest-for-ios-app-testing
XCTest has been part of Xcode for few years already, but it is finally catching up and more developers are getting on the bandwagon. XCTest and XCUITest provide feature-rich capabilities for iOS developers and test automation folks to implement different levels of tests using Xcode features and supported programming languages, Objective-C and Swift.
Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/
TOPS Technologies offer Professional Android Training in Ahmedabad.
Ahmedabad Office (C G Road)
903 Samedh Complex,
Next to Associated Petrol Pump,
CG Road,
Ahmedabad 380009.
http://www.tops-int.com/live-project-training-android.html
Most experienced IT Training Institute in Ahmedabad known for providing Android course as per
Industry Standards and Requirement.
Presentation about new concepts and features that came with Android Studio.
Advantages over eclipse.
Explanation about Gradle.
Productivity with Android Studio.
Shotcuts migration from Eclipse.
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
Being Epic: Best Practices for Android DevelopmentReto Meier
Turn good ideas into great apps by following some essential Android development best practices. Starting with an overview of the 5 deadly sins and 5 golden rules, you will learn how to build apps that users love and that are good citizens of the mobile environment. You will also learn specific best practices for background apps and location based services.
Using HttpWatch Plug-in with Selenium Automation in JavaSandeep Tol
This article will give the developers and testers to use Java programming for capturing IE browser HTTP logs using HTTP Watch Plug-in (V10) , in Selenium scripts
HTTP Watch comes with inbuilt API support to integrate with selenium scripts written in C# or PHP scripts . Refer http://apihelp.httpwatch.com/#Automation%20Overview.html
But unfortunately they don’t have API written for JAVA. There are no samples or articles available to use Httpwtach with Java interface.
Using this article you would learn how HttpWatch plug-in which component can be easily interfaced with Java code and then executed via selenium script.
The solution is to use Java COM bridge and invoke HTTP Watch plugin API from Java based selenium scripts.
Selenium Automation in Java Using HttpWatch Plug-in Sandeep Tol
This article will give the developers and testers who use Java selenium script for Browser Simulations and automation for IE browser to capture HTTP logs using HTTPWatch Plug-in
HTTP Watch comes with inbuilt API support to integrate with selenium scripts written in C# or PHP scripts . But unfortunately they don’t have Support for JAVA.
The solution given here is to use Java COM bridge and invoke HTTP Watch plugin API from Java based selenium scripts.
Using this article you would learn how HttpWatch plug-in which component can be easily interfaced with Java code and then executed via selenium script.
Here we explain the installation & basic coding for Titanium Appcelerator which is a cross platform development tool supporting Android, iOS & Blackberry.
Getting started with Appcelerator TitaniumTechday7
Techday7, Cross platform application development using Appcelerator Titanium event's Getting started with Appcelerator Titanium By Naga Harish M, Lead Developer of Anubavam Technologies
Apache Cordova is a platform for building mobile apps using common Web technologies (HTML, CSS and JavaScript). Apache Cordova offers a set of APIs that allow the mobile app developers to utilize mobile native functions such as (Audio, Camera, Contacts …etc) using JavaScript. This session discusses and demonstrates the advanced aspects of Apache Cordova. Advanced aspects include extending Apache Cordova framework by creating custom plugins in order to access more device hardware features. Advanced aspects also include empowering Apache Cordova apps with Push notifications and Cloud services. Finally, this session demonstrates the power of automated JavaScript unit testing for producing quality Apache Cordova apps.
TOPS Technologies offer Professional Android Training in Ahmedabad.
Ahmedabad Office (C G Road)
903 Samedh Complex,
Next to Associated Petrol Pump,
CG Road,
Ahmedabad 380009.
http://www.tops-int.com/live-project-training-android.html
Most experienced IT Training Institute in Ahmedabad known for providing Android course as per
Industry Standards and Requirement.
Presentation about new concepts and features that came with Android Studio.
Advantages over eclipse.
Explanation about Gradle.
Productivity with Android Studio.
Shotcuts migration from Eclipse.
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
Being Epic: Best Practices for Android DevelopmentReto Meier
Turn good ideas into great apps by following some essential Android development best practices. Starting with an overview of the 5 deadly sins and 5 golden rules, you will learn how to build apps that users love and that are good citizens of the mobile environment. You will also learn specific best practices for background apps and location based services.
Using HttpWatch Plug-in with Selenium Automation in JavaSandeep Tol
This article will give the developers and testers to use Java programming for capturing IE browser HTTP logs using HTTP Watch Plug-in (V10) , in Selenium scripts
HTTP Watch comes with inbuilt API support to integrate with selenium scripts written in C# or PHP scripts . Refer http://apihelp.httpwatch.com/#Automation%20Overview.html
But unfortunately they don’t have API written for JAVA. There are no samples or articles available to use Httpwtach with Java interface.
Using this article you would learn how HttpWatch plug-in which component can be easily interfaced with Java code and then executed via selenium script.
The solution is to use Java COM bridge and invoke HTTP Watch plugin API from Java based selenium scripts.
Selenium Automation in Java Using HttpWatch Plug-in Sandeep Tol
This article will give the developers and testers who use Java selenium script for Browser Simulations and automation for IE browser to capture HTTP logs using HTTPWatch Plug-in
HTTP Watch comes with inbuilt API support to integrate with selenium scripts written in C# or PHP scripts . But unfortunately they don’t have Support for JAVA.
The solution given here is to use Java COM bridge and invoke HTTP Watch plugin API from Java based selenium scripts.
Using this article you would learn how HttpWatch plug-in which component can be easily interfaced with Java code and then executed via selenium script.
Here we explain the installation & basic coding for Titanium Appcelerator which is a cross platform development tool supporting Android, iOS & Blackberry.
Getting started with Appcelerator TitaniumTechday7
Techday7, Cross platform application development using Appcelerator Titanium event's Getting started with Appcelerator Titanium By Naga Harish M, Lead Developer of Anubavam Technologies
Apache Cordova is a platform for building mobile apps using common Web technologies (HTML, CSS and JavaScript). Apache Cordova offers a set of APIs that allow the mobile app developers to utilize mobile native functions such as (Audio, Camera, Contacts …etc) using JavaScript. This session discusses and demonstrates the advanced aspects of Apache Cordova. Advanced aspects include extending Apache Cordova framework by creating custom plugins in order to access more device hardware features. Advanced aspects also include empowering Apache Cordova apps with Push notifications and Cloud services. Finally, this session demonstrates the power of automated JavaScript unit testing for producing quality Apache Cordova apps.
PolyOS - Giải pháp cho chuyên gia mạng máy tínhLeo Nguyen
Giải pháp PolyOS là giải pháp hoàn hảo cho các chuyên gia về mạng máy tính, với một máy chủ (Server) kết nối từ 500 đến 1000 máy PC client, tiết kiệm thời gian và chi phí triển khai, bảo dưỡng chương trình phần mềm và thiết bị nhanh chóng.
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/
Components Of Android 5. Sample Application 6. Future Prospect 7. Android Job in Market What is Android? Android is a linux-based operating system designed primarily for touch-screen mobile devices such as smartphones and tablets computers. Initially developed by Android Inc.,
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
SAP Sapphire 2024 - ASUG301 building better apps with SAP Fiori.pdfPeter Spielvogel
Building better applications for business users with SAP Fiori.
• What is SAP Fiori and why it matters to you
• How a better user experience drives measurable business benefits
• How to get started with SAP Fiori today
• How SAP Fiori elements accelerates application development
• How SAP Build Code includes SAP Fiori tools and other generative artificial intelligence capabilities
• How SAP Fiori paves the way for using AI in SAP apps
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
A tale of scale & speed: How the US Navy is enabling software delivery from l...sonjaschweigert1
Rapid and secure feature delivery is a goal across every application team and every branch of the DoD. The Navy’s DevSecOps platform, Party Barge, has achieved:
- Reduction in onboarding time from 5 weeks to 1 day
- Improved developer experience and productivity through actionable findings and reduction of false positives
- Maintenance of superior security standards and inherent policy enforcement with Authorization to Operate (ATO)
Development teams can ship efficiently and ensure applications are cyber ready for Navy Authorizing Officials (AOs). In this webinar, Sigma Defense and Anchore will give attendees a look behind the scenes and demo secure pipeline automation and security artifacts that speed up application ATO and time to production.
We will cover:
- How to remove silos in DevSecOps
- How to build efficient development pipeline roles and component templates
- How to deliver security artifacts that matter for ATO’s (SBOMs, vulnerability reports, and policy evidence)
- How to streamline operations with automated policy checks on container images
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
13. Task 1 - Download JDK (cont)
- Select Java Platform (JDK), choose your operation platform (eg
Window X86) and download it
14. Task 2 - Install JDK
- Run the downloaded installer, which installs both the JDK (Java
Development Kit) and JRE (Java Runtime). By default the JDK and
JRE will be installed into directories C:Program FilesJava
15. Task 3 - Config PATH environment variables
- Windows Operating System searches the current directory and the
directories listed in the PATH environment variable for executable
programs invoked from the CMD shell. It helps programmer can
compile Java code in CMD shell.
- Click the "Start" button > "Control Panel" > "System" > (Vista/7 only)
"Advanced system settings"
17. Task 4 - Verify the JDK Installation
- Launch a CMD shell > type java –version to check that JDK is
properly installed and display its version, and javac to check Path work
properly too.
47. Linear Layout
- A layout is a view group that aligns all children in a single
direction, vertically or horizontally.
- All children of a LinearLayout are stacked one after the other,
so a vertical list will only have one child per row, no matter how
wide they are, and a horizontal list will only be one row high (the
height of the tallest child, plus padding). A LinearLayout respects
margins between children and the gravity (right, center, or left
alignment) of each child.
48. Layout weight
- To create a linear layout in which each child uses the same
amount of space on the screen, set the android:layout_height of
each view to "0dp" (for a vertical layout) or the android:
layout_width of each view to "0dp" (for a horizontal layout). Then
set the android:layout_weight of each view to "1".
49. Task 1: Create XML Layout
- Right click on the res/layout folder.
50. Task 2: Defining an XML Layout
- Enter code: https://gist.github.com/leonguyen/5308746
51. Task 3: Execute your program
- Choose "Run As" > "Android Application"
72. Relative Layout
- A layout is a view group that displays child views in relative
positions.
73. Positioning Views
- Some of the many layout properties available to views in a RelativeLayout
include:
android:layout_alignParentTop
If "true", makes the top edge of this view match the top edge of the parent.
android:layout_centerVertical
If "true", centers this child vertically within its parent.
android:layout_below
Positions the top edge of this view below the view specified with a resource ID.
android:layout_toRightOf
Positions the left edge of this view to the right of the view specified with a
resource ID.
These are just a few examples. All layout attributes are documented at
RelativeLayout.LayoutParams.
74. Task 1: Create XML Layout
- Right click on the res/layout folder.
75. Task 2: Defining an XML Layout
- Enter code: https://gist.github.com/leonguyen/5309283
76. Task 3: Execute your program
- Choose "Run As" > "Android Application"
84. Table Layout
- A layout that arranges its children into rows and columns. A TableLayout
consists of a number of TableRow objects, each defining a row (actually, you
can have other children, which will be explained below). TableLayout
containers do not display border lines for their rows, columns, or cells. Each
row has zero or more cells; each cell can hold one View object. The table has
as many columns as the row with the most cells. A table can leave cells empty.
Cells can span columns, as they can in HTML.
85. Task 1: Create XML Layout
- Right click on the res/layout folder.
86. Task 2: Defining an XML Layout
- Enter code: https://gist.github.com/leonguyen/5325531
87. Task 3: Execute your program
- Choose "Run As" > "Android Application"
96. Outline
- List View
- List View with Custom Layout
- List View with Context Menu
- List View with Custom Adapter
- List View with Custom ArrayList
- List View with Activity
- List View with Activity and Custom Main Layout
- List View with Thread
98. List View
- A view group that displays a list of scrollable items. The list
items are automatically inserted to the list using an Adapter that
pulls content from a source such as an array or database query
and converts each item result into a view that's placed into the
list.
99. ArrayAdapter
- Use this adapter when your data source is an array. By default,
ArrayAdapter creates a view for each array item by calling
toString() on each item and placing the contents in a TextView.
100. Task 1: Create ListView Activity
- Enter code: https://gist.github.com/leonguyen/5335106
101. Task 2: Execute your program
- Choose "Run As" > "Android Application"
122. Task 1: Defining an XML Layout
- Enter code: https://gist.github.com/leonguyen/5632592
123. Task 2: Create Custom Adapter class
- Enter code: https://gist.github.com/leonguyen/5632608
124. Task 3: Create List View Activity
- Enter code: https://gist.github.com/leonguyen/5632651
125. Task 4: Execute your program
- Choose "Run As" > "Android Application"
126. Loader
- Using a CursorLoader is the standard way to query a Cursor as
an asynchronous task in order to avoid blocking your app's main
thread with the query.
- When the CursorLoader receives the Cursor result, the
LoaderCallbacks receives a callback to onLoadFinished(), which
is where you update your Adapter with the new Cursor and the
list view then displays the results.
127. SimpleCursorAdapter
- Use this adapter when your data comes from a Cursor. When
using SimpleCursorAdapter, you must specify a layout to use for
each row in the Cursor and which columns in the Cursor should
be inserted into which views of the layout.
150. Widget
- App Widgets are miniature application views that can be
embedded in other applications (such as the Home screen) and
receive periodic updates.
- To create an App Widget, you need the following:
+ AppWidgetProviderInfo object
Describes the metadata for an App Widget, such as the App
Widget's layout, update frequency, and the AppWidgetProvider
class.
+ AppWidgetProvider class implementation
Defines the basic methods that allow you to programmatically
interface with the App Widget, based on broadcast events.
+ View layout
Defines the initial layout for the App Widget, defined in XML.
161. Shared Preferences
- The SharedPreferences class provides a general framework
that allows you to save and retrieve persistent key-value pairs of
primitive data types. You can use SharedPreferences to save
any primitive data: booleans, floats, ints, longs, and strings. This
data will persist across user sessions (even if your application is
killed).
+ getSharedPreferences() - Use this if you need multiple
preferences files identified by name, which you specify with the
first parameter.
+ getPreferences() - Use this if you need only one preferences
file for your Activity. Because this will be the only preferences file
for your Activity, you don't supply a name.
214. Storage
- Internal storage are private to your application and other
applications cannot access them (nor can the user). When the
user uninstalls your application, these files are removed.
- External storage such as SD card can also store application
data, there's no security enforced upon files you save to the
external storage. All applications can read and write files placed
on the external storage and the user can remove them.
227. Intent
- Intents are system messages, running around the inside of the
device, notifying applications of various events, from hardware state
changes (e.g.,an SD card was inserted), to incoming data (e.g., an
SMS message arrived),to application events (e.g., your activity was
launched from the device’s main menu).
- Not only can you respond to intents, but you can create your own, to
launch other activities, or to let you know when specific situations arise
(e.g., raise such-and-so intent when the user click this button).
- Intents are asynchronous messages which allow Android
components to request functionality from other components of the
Android system. For example an Activity can send an Intents to the
Android system which starts another Activity.
- Three of the core components of an application — activities, services,
and broadcast receivers — are activated through messages, called
intents.
228. Explicit and Implicit
- Explicit intents designate the target component by its name
(the component name field, mentioned earlier, has a value set).
Since component names would generally not be known to
developers of other applications, explicit intents are typically
used for application-internal messages.
- Implicit intents do not name a target (the field for the
component name is blank). Implicit intents are often used to
activate components in other applications.
241. Content Provider
- ContentProvider manage access to a structured set of data. The main
methods are Query, Insert, Update and Delete.
- ContentResolver is a static proxy that communicates with a
ContentProvider to access its data, either from within the same
application or from another application.
242. Built-In Provider
- Android offers access to a wide range of system and user data using
ContentProviders.
- Browser – bookmarks and browser history (requires permission
READ_HISTORY_BOOKMARKS and/or
WRITE_HISTORY_BOOKMARKS).
- CallLog – recent calls made or received with the device.
- Contacts – detailed information from the user’s contact list, including
people, phones, photos & groups.
- MediaStore – contents of the user’s device: audio (albums, artists,
genres, playlists), images (including thumbnails) & video.
- Settings – system-wide device settings and preferences.
- UserDictionary – contents of the user-defined dictionary used for
predictive text input.
- Voicemail – history of voicemail messages.
260. Outline
- Broadcast Receiver
- Broadcast Receiver with Custom Intent
- Broadcast Receiver with Incoming SMS
- Broadcast Receiver with Incoming Phone Call
261. Broadcast Receiver
- Broadcast Receiver simply respond to broadcast messages from
other applications or from the system itself. These messages are
sometime called events or intents.
262. System Events
Event Constant
Description
android.intent.action.BATTERY_CHANGED
Sticky broadcast containing the charging state, level,
and other information about the battery.
android.intent.action.BATTERY_LOW
Indicates low battery condition on the device.
android.intent.action.BATTERY_OKAY
Indicates the battery is now okay after being low.
android.intent.action.BOOT_COMPLETED
This is broadcast once, after the system has finished
booting.
android.intent.action.BUG_REPORT
Show activity for reporting a bug.
android.intent.action.CALL
Perform a call to someone specified by the data.
android.intent.action.CALL_BUTTON
The user pressed the "call" button to go to the dialer or
other appropriate UI for placing a call.
android.intent.action.DATE_CHANGED
The date has changed.
android.intent.action.REBOOT
Have the device reboot.
282. References
- Getting started with PhoneGap in Eclipse for Android (adobe.
ly/H0NyLg)
- PhoneGap From Scratch (bit.ly/H0NDOW)
- Build a Feed Reader (bit.ly/1bDCxsZ)