The document discusses setting up an Android development environment, including installing Eclipse, the Android SDK, and ADT plugin. It then covers creating a "Hello World" Android application, understanding an app's file structure and the activity lifecycle. It also discusses Android Virtual Devices, debugging tools, core Android components like views and fragments, and using version control with Mercurial and Bitbucket. The document concludes with tasks for an in-lab assignment on setting up environments, creating sample apps, and using version control in groups.
Developing Applications for Android - Lecture#4Usman Chaudhry
?
This document summarizes a lecture on developing Android applications. It discusses various Android layouts like linear, relative, table and grid layouts. It also discusses layout parameters and different basic input controls like text fields, text views, buttons, checkboxes and spinners. It provides code examples for different layouts and controls. It describes how to access resources from XML and Java code. It outlines an assignment to create a registration form using different layouts.
The document discusses creating a framework and includes the following sections: introduction, creating a framework, mixins/proxies, identifiers, component example, and what's next. It describes wanting to create a framework to provide rapid application development with features like MVC, ORM, routing, and hooks. Code examples are provided for mixins, proxies, and identifiers. The creator aims to release a stable version 1 and explore ECMAScript 6 features, and potentially rewrite for Express in the future.
Developing Applications for Android - Lecture#1Usman Chaudhry
?
This document outlines the topics that will be covered in an Android development course, including an introduction, prerequisites, expectations, and grading. It provides an overview of Android including its history and evolution. Key aspects of the Android architecture are explained, including the Linux kernel, libraries, application framework, and applications. Example applications and growth comparisons to other platforms are also mentioned.
Devoxx : being productive with JHipsterJulien Dubois
?
ºÝºÝߣs from the "being productive with JHipster" talk at Devoxx Belgium 2016 by Julien Dubois (JHipster lead) & Deepu K Sasidharan (JHipster co-lead).
Live video is at: https://www.youtube.com/watch?v=dzdjP3CPOCs
Code commited (live!) during the presentation is at:
https://github.com/jhipster/devoxx-2016
Ever Present Persistence - Established Footholds Seen in the WildCTruncer
?
This talk is about different attacker persistence techniques that we have seen in the wild, or published by other companies. We wanted to create a massive document containing all of these techniques with a mile wide, inch deep approach. Our goal is to give a description of how each technique works and a way to detect them to allow anyone to start looking for these specific techniques.
Atomic Developer Bundle packages some of the most widely used container orchestration tools into a single Vagrant box to provide developers with a configuration as close to production as possible!
This document discusses using Azure DevOps and Snowflake to enable continuous integration and continuous deployment (CI/CD) of database changes. It covers setting up source control in a repository, implementing pull requests for code reviews, building deployment artifacts in a build pipeline, and deploying artifacts to development, test, and production environments through a release pipeline. The document also highlights key Snowflake features like zero-copy cloning that enable testing deployments before production.
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
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...niallo
?
This document summarizes StriderCD, an open source continuous delivery platform that is customizable, easy to use, and easy to host. Key points include:
- StriderCD is an open source continuous integration/delivery platform similar to TravisCI or Jenkins.
- It is customizable through an extensible NPM plugin system and customizable front-end, worker processes, and integrations.
- It is easy to set up new projects, integrates with GitHub, and auto-detects configurations when possible.
- It can be easily run locally or deployed to platforms like Heroku. Commercial support is also available from FrozenRidge.
We'll go through the possible ways to bring technology agnostic microservice architecture to the frontend, review pros/cons of each of them. We also will check the "ultimate solution" that handles microservices with SSR in SPA manner.
This talk will be interesting for ones who have multiple teams working on the same frontend application.
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.
JSFest 2019: Technology agnostic microservices at SPA frontendVlad Fedosov
?
We'll go through the possible ways to bring technology agnostic microservice architecture to the frontend, review pros/cons of each of them. We also will check the "ultimate solution" that handles microservices with SSR in SPA manner.
This talk will be interesting for ones who have multiple teams working on the same frontend application.
The Ultimate Android Security Checklist (Codemotion Tel-Aviv, 2014)Ron Munitz
?
My Android Security session in Code Motion , December 2014, Tel-Aviv, Israel.
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
Voxxed days Vilnius 2015 - Android Reverse Engineering LabRon Munitz
?
This document outlines Ron Munitz's presentation on Android reverse engineering. Some key points:
- Ron will demonstrate the Android build process and then the "unbuild" or reverse engineering process. This will include using tools like apktool, dex2jar, and jd-gui.
- The presentation will be 50 minutes and cover decompiling an app's resources, converting dex files to jars and class files, and using a Java decompiler to view source code.
- If time allows, Ron may also demonstrate network analysis using packet interceptors.
- The slides for the presentation are available online but the focus should be on the terminal demonstration and explanation.
- Reverse engineering Android apps can
Leveraging Android's Linux Heritage at AnDevCon IVOpersys inc.
?
BusyBox is a package that provides many common UNIX commands as a single executable. It contains implementations of utilities like cat, cp, grep, ls, mkdir, rm, and others. Using BusyBox allows embedded Linux systems to have full functionality while minimizing disk space usage since it packages multiple utilities into a single binary.
CodeMotion tel aviv 2015 - android reverse engineering labRon Munitz
?
This document provides an overview of the process for reverse engineering an Android application. It discusses various tools that can be used at each step, including apktool to decode application resources, dex2jar to convert .dex files to .jar files containing .class files, and JD-Project/jd-gui to decompile the .class files. It also discusses differences in applications built for older Android versions versus newer versions using ART, and how oat2dex tools can be used to extract DEX code from OAT files. The document demonstrates these concepts by walking through reversing a simple "Snake" application as an example. It concludes by noting there are multiple options for decompilation beyond just Eclipse.
Progressive Web App Testing With Cypress.ioKnoldus Inc.
?
Cypress.io is a frontend automation testing tool built for modern web applications developed on some of the emerging technologies like Reactjs, Ionic, Vue, and Angular.
Cypress is a test automation tool that can perform fast, easy and reliable testing for anything that runs in a browser.
Learn how Decisiv provides secure access to developers and deals with compliance hurdles. Senior Engineer Hunter Madison will talk about how Decisiv needed to quickly solve the pain of scaling the engineering team, migrating to AWS, maintaining ISO 27002 compliance, and a few of his key learnings from his two-year journey using Teleport.
This talk is about why I believe having the ability to write tools and/or scripts can help elevate a Pen Testers game to the next level.
The talk is case study driven by the different scenarios I've encountered on assessments and the scripts or tools that have been developed as a result.
The PSCG's Ron Munitz's talk on MobSecCon, September 3rd, 2015.
A PDF is available in: http://thepscg.com/events/MobSecCon
Israel's first Android (and mobile) Internals conference coming up this November!
http://www.thepscg.com/events/MobModCon
Leveraging Android's Linux Heritage at AnDevCon3Opersys inc.
?
This document discusses leveraging the Linux heritage in Android. It begins with an overview of Android concepts like components, intents, and manifest files. It then compares the overall architecture of a traditional Linux system to Android. Several roadblocks to integration are identified, such as differences in filesystem structure and IPC mechanisms. Potential approaches for coexistence are outlined, such as using a single filesystem or virtualization. Finally, ongoing work and unresolved challenges are acknowledged, such as implementing intents on Linux or running X applications within Android.
Headless Android allows running the full Android system software stack without a graphical user interface. It is achieved by disabling SurfaceFlinger and the WindowManager system services. This removes the display and window management functionality while retaining all other Android frameworks and APIs. The result is a headless version of Android that can be used for building embedded and specialized devices without screen output.
The document provides an overview of the Drools & jBPM workshop that will take place in Barcelona in December. It includes an agenda for the workshop that covers introductions to Drools & jBPM, new technology stacks, tooling, installation & configuration, and a Q&A session. It also provides short descriptions of jBPM as a flexible business process engine and Drools as a business rule engine. The document discusses advantages of using a process engine and rule engine. It describes how Drools and jBPM combine to form the KIE platform for formalizing, executing, and monitoring business knowledge. It outlines new features of KIE including KIE projects and whole new tooling.
Android Platform Debugging and DevelopmentOpersys inc.
?
This document provides an overview of debugging and development tools for the Android platform. It begins with an introduction to Android architecture basics and the development environment. It then discusses tools for observing and monitoring systems, interfacing with frameworks, and working with AOSP sources. The document also covers symbolic debugging, dynamic data collection using tools like logging, strace, and ftrace, and benchmarking Android performance.
Ron Munitz is an expert in embedded systems and distributed fault tolerant systems. He discusses the history and evolution of embedded systems from mechanical computers in the 1940s to today's "Internet of Things". Embedded operating systems have progressed from dedicated hardware/software to using general purpose operating systems like Android. Headless or display-less devices can customize Android to save resources by removing UI components. The talk will cover embedded software development, Android's initialization process, and configuring Android for headless devices.
GDG on Campus Monash hosted Info Session to provide details of the Solution Challenge to promote participation and hosted networking activities to help participants find their dream team
More Related Content
Similar to Developing Applications for Android - Lecture#3 (20)
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
Continuous Deployment of Front-end JavaScript with StriderCD, Github and Sauc...niallo
?
This document summarizes StriderCD, an open source continuous delivery platform that is customizable, easy to use, and easy to host. Key points include:
- StriderCD is an open source continuous integration/delivery platform similar to TravisCI or Jenkins.
- It is customizable through an extensible NPM plugin system and customizable front-end, worker processes, and integrations.
- It is easy to set up new projects, integrates with GitHub, and auto-detects configurations when possible.
- It can be easily run locally or deployed to platforms like Heroku. Commercial support is also available from FrozenRidge.
We'll go through the possible ways to bring technology agnostic microservice architecture to the frontend, review pros/cons of each of them. We also will check the "ultimate solution" that handles microservices with SSR in SPA manner.
This talk will be interesting for ones who have multiple teams working on the same frontend application.
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.
JSFest 2019: Technology agnostic microservices at SPA frontendVlad Fedosov
?
We'll go through the possible ways to bring technology agnostic microservice architecture to the frontend, review pros/cons of each of them. We also will check the "ultimate solution" that handles microservices with SSR in SPA manner.
This talk will be interesting for ones who have multiple teams working on the same frontend application.
The Ultimate Android Security Checklist (Codemotion Tel-Aviv, 2014)Ron Munitz
?
My Android Security session in Code Motion , December 2014, Tel-Aviv, Israel.
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
Voxxed days Vilnius 2015 - Android Reverse Engineering LabRon Munitz
?
This document outlines Ron Munitz's presentation on Android reverse engineering. Some key points:
- Ron will demonstrate the Android build process and then the "unbuild" or reverse engineering process. This will include using tools like apktool, dex2jar, and jd-gui.
- The presentation will be 50 minutes and cover decompiling an app's resources, converting dex files to jars and class files, and using a Java decompiler to view source code.
- If time allows, Ron may also demonstrate network analysis using packet interceptors.
- The slides for the presentation are available online but the focus should be on the terminal demonstration and explanation.
- Reverse engineering Android apps can
Leveraging Android's Linux Heritage at AnDevCon IVOpersys inc.
?
BusyBox is a package that provides many common UNIX commands as a single executable. It contains implementations of utilities like cat, cp, grep, ls, mkdir, rm, and others. Using BusyBox allows embedded Linux systems to have full functionality while minimizing disk space usage since it packages multiple utilities into a single binary.
CodeMotion tel aviv 2015 - android reverse engineering labRon Munitz
?
This document provides an overview of the process for reverse engineering an Android application. It discusses various tools that can be used at each step, including apktool to decode application resources, dex2jar to convert .dex files to .jar files containing .class files, and JD-Project/jd-gui to decompile the .class files. It also discusses differences in applications built for older Android versions versus newer versions using ART, and how oat2dex tools can be used to extract DEX code from OAT files. The document demonstrates these concepts by walking through reversing a simple "Snake" application as an example. It concludes by noting there are multiple options for decompilation beyond just Eclipse.
Progressive Web App Testing With Cypress.ioKnoldus Inc.
?
Cypress.io is a frontend automation testing tool built for modern web applications developed on some of the emerging technologies like Reactjs, Ionic, Vue, and Angular.
Cypress is a test automation tool that can perform fast, easy and reliable testing for anything that runs in a browser.
Learn how Decisiv provides secure access to developers and deals with compliance hurdles. Senior Engineer Hunter Madison will talk about how Decisiv needed to quickly solve the pain of scaling the engineering team, migrating to AWS, maintaining ISO 27002 compliance, and a few of his key learnings from his two-year journey using Teleport.
This talk is about why I believe having the ability to write tools and/or scripts can help elevate a Pen Testers game to the next level.
The talk is case study driven by the different scenarios I've encountered on assessments and the scripts or tools that have been developed as a result.
The PSCG's Ron Munitz's talk on MobSecCon, September 3rd, 2015.
A PDF is available in: http://thepscg.com/events/MobSecCon
Israel's first Android (and mobile) Internals conference coming up this November!
http://www.thepscg.com/events/MobModCon
Leveraging Android's Linux Heritage at AnDevCon3Opersys inc.
?
This document discusses leveraging the Linux heritage in Android. It begins with an overview of Android concepts like components, intents, and manifest files. It then compares the overall architecture of a traditional Linux system to Android. Several roadblocks to integration are identified, such as differences in filesystem structure and IPC mechanisms. Potential approaches for coexistence are outlined, such as using a single filesystem or virtualization. Finally, ongoing work and unresolved challenges are acknowledged, such as implementing intents on Linux or running X applications within Android.
Headless Android allows running the full Android system software stack without a graphical user interface. It is achieved by disabling SurfaceFlinger and the WindowManager system services. This removes the display and window management functionality while retaining all other Android frameworks and APIs. The result is a headless version of Android that can be used for building embedded and specialized devices without screen output.
The document provides an overview of the Drools & jBPM workshop that will take place in Barcelona in December. It includes an agenda for the workshop that covers introductions to Drools & jBPM, new technology stacks, tooling, installation & configuration, and a Q&A session. It also provides short descriptions of jBPM as a flexible business process engine and Drools as a business rule engine. The document discusses advantages of using a process engine and rule engine. It describes how Drools and jBPM combine to form the KIE platform for formalizing, executing, and monitoring business knowledge. It outlines new features of KIE including KIE projects and whole new tooling.
Android Platform Debugging and DevelopmentOpersys inc.
?
This document provides an overview of debugging and development tools for the Android platform. It begins with an introduction to Android architecture basics and the development environment. It then discusses tools for observing and monitoring systems, interfacing with frameworks, and working with AOSP sources. The document also covers symbolic debugging, dynamic data collection using tools like logging, strace, and ftrace, and benchmarking Android performance.
Ron Munitz is an expert in embedded systems and distributed fault tolerant systems. He discusses the history and evolution of embedded systems from mechanical computers in the 1940s to today's "Internet of Things". Embedded operating systems have progressed from dedicated hardware/software to using general purpose operating systems like Android. Headless or display-less devices can customize Android to save resources by removing UI components. The talk will cover embedded software development, Android's initialization process, and configuring Android for headless devices.
GDG on Campus Monash hosted Info Session to provide details of the Solution Challenge to promote participation and hosted networking activities to help participants find their dream team
Sugarlab AI: How Much Does an XXX AI Porn Generator Cost in 2025Sugarlab AI
?
The cost of an XXX AI porn generator in 2025 varies depending on factors like AI sophistication, subscription plans, and additional expenses. Whether you're looking for a free AI porn video generator or a premium adult AI image generator, pricing ranges from basic tools to enterprise-level solutions. This article breaks down the costs, features, and what to expect from AI-driven adult content platforms.
Automated Engineering of Domain-Specific Metamorphic Testing EnvironmentsPablo G¨®mez Abajo
?
Context. Testing is essential to improve the correctness of software systems. Metamorphic testing (MT) is an approach especially suited when the system under test lacks oracles, or they are expensive to compute. However, building an MT environment for a particular domain (e.g., cloud simulation, model transformation, machine learning) requires substantial effort.
Objective. Our goal is to facilitate the construction of MT environments for specific domains.
Method. We propose a model-driven engineering approach to automate the construction of MT environments. Starting from a meta-model capturing the domain concepts, and a description of the domain execution environment, our approach produces an MT environment featuring comprehensive support for the MT process. This includes the definition of domain-specific metamorphic relations, their evaluation, detailed reporting of the testing results, and the automated search-based generation of follow-up test cases.
Results. Our method is supported by an extensible platform for Eclipse, called Gotten. We demonstrate its effectiveness by creating an MT environment for simulation-based testing of data centres and comparing with existing tools; its suitability to conduct MT processes by replicating previous experiments; and its generality by building another MT environment for video streaming APIs.
Conclusion. Gotten is the first platform targeted at reducing the development effort of domain-specific MT environments. The environments created with Gotten facilitate the specification of metamorphic relations, their evaluation, and the generation of new test cases.
GDG Cloud Southlake #41: Shay Levi: Beyond the Hype:How Enterprises Are Using AIJames Anderson
?
Beyond the Hype: How Enterprises Are Actually Using AI
Webinar Abstract:
AI promises to revolutionize enterprises - but what¡¯s actually working in the real world? In this session, we cut through the noise and share practical, real-world AI implementations that deliver results. Learn how leading enterprises are solving their most complex AI challenges in hours, not months, while keeping full control over security, compliance, and integrations. We¡¯ll break down key lessons, highlight recent use cases, and show how Unframe¡¯s Turnkey Enterprise AI Platform is making AI adoption fast, scalable, and risk-free.
Join the session to get actionable insights on enterprise AI - without the fluff.
Bio:
Shay Levi is the Co-Founder and CEO of Unframe, a company redefining enterprise AI with scalable, secure solutions. Previously, he co-founded Noname Security and led the company to its $500M acquisition by Akamai in just four years. A proven innovator in cybersecurity and technology, he specializes in building transformative solutions.
Packaging your App for AppExchange ¨C Managed Vs Unmanaged.pptxmohayyudin7826
?
Learn how to package your app for Salesforce AppExchange with a deep dive into managed vs. unmanaged packages. Understand the best strategies for ISV success and choosing the right approach for your app development goals.
All-Data, Any-AI Integration: FME & Amazon Bedrock in the Real-WorldSafe Software
?
Join us for an exclusive webinar featuring special guest speakers from Amazon, Amberside Energy, and Avineon-Tensing as we explore the power of Amazon Bedrock and FME in AI-driven geospatial workflows.
Discover how Avineon-Tensing is using AWS Bedrock to support Amberside Energy in automating image classification and streamlining site reporting. By integrating Bedrock¡¯s generative AI capabilities with FME, image processing and categorization become faster and more efficient, ensuring accurate and organized filing of site imagery. Learn how this approach reduces manual effort, standardizes reporting, and leverages AWS¡¯s secure AI tooling to optimize their workflows.
If you¡¯re looking to enhance geospatial workflows with AI, automate image processing, or simply explore the potential of FME and Bedrock, this webinar is for you!
CIOs Speak Out - A Research Series by Jasper ColinJasper Colin
?
Discover key IT leadership insights from top CIOs on AI, cybersecurity, and cost optimization. Jasper Colin¡¯s research reveals what¡¯s shaping the future of enterprise technology. Stay ahead of the curve.
Columbia Weather Systems offers professional weather stations in basically three configurations for industry and government agencies worldwide: Fixed-Base or Fixed-Mount Weather Stations, Portable Weather Stations, and Vehicle-Mounted Weather Stations.
Models include all-in-one sensor configurations as well as modular environmental monitoring systems. Real-time displays include hardware console, WeatherMaster? Software, and a Weather MicroServer? with industrial protocols, web and app monitoring options.
Innovative Weather Monitoring: Trusted by industry and government agencies worldwide. Professional, easy-to-use monitoring options. Customized sensor configurations. One-year warranty with personal technical support. Proven reliability, innovation, and brand recognition for over 45 years.
Least Privilege AWS IAM Role PermissionsChris Wahl
?
RECORDING: https://youtu.be/hKepiNhtWSo
Hello innovators! Welcome to the latest episode of My Essentials Course series. In this video, we'll delve into the concept of least privilege for IAM roles, ensuring roles have the minimum permissions needed for success. Learn strategies to create read-only, developer, and admin roles. Discover tools like IAM Access Analyzer, Pike, and Policy Sentry for generating efficient IAM policies. Follow along as we automate role and policy creation using Pike with Terraform, and test our permissions using GitHub Actions. Enhance your security practices by integrating these powerful tools. Enjoy the video and leave your feedback in the comments!
Build Your Uber Clone App with Advanced FeaturesV3cube
?
Build your own ride-hailing business with our powerful Uber clone app, fully equipped with advanced features to give you a competitive edge. Start your own taxi business today!
More Information : https://www.v3cube.com/uber-clone/
Most people might think of a water faucet or even the tap on a keg of beer. But in the world of networking, "TAP" stands for "Traffic Access Point" or "Test Access Point." It's not a beverage or a sink fixture, but rather a crucial tool for network monitoring and testing. Khushi Communications is a top vendor in India, providing world-class Network TAP solutions. With their expertise, they help businesses monitor, analyze, and secure their networks efficiently.
Struggling to get real value from HubSpot Sales Hub? Learn 5 mighty methods to close more deals without more leads or headcount (even on Starter subscriptions)!
These slides accompanied a webinar run by Hampshire's HubSpot User Group (HUG) on 2nd April, 2025.
HubSpot subscribers can watch the recording here: https://events.hubspot.com/events/details/hubspot-hampshire-presents-5-ways-to-close-more-deals-from-your-existing-sales-pipeline/
ABOUT THE EVENT:
Unlock hidden revenue in your CRM with our practical HubSpot tactics
Are you struggling to get real value from your HubSpot Sales Hub?
If your HubSpot feels like more of an admin burden than a revenue enabler, you¡¯re not alone. Many sales leaders find that their team isn't updating records consistently, pipeline visibility is poor, and reporting doesn¡¯t deliver the insights they need to drive strategy.
The good news? You don¡¯t need to upgrade your HubSpot subscription to sort these issues.
Join us for this webinar to learn 5 mighty tactics that will help you streamline your sales process, improve pipeline visibility, and extract more revenue from your existing pipeline, without spending more on marketing or hiring extra sales reps.
What You¡¯ll Learn
? Customising Records ¨C Increase sales momentum with more useful CRM data for your salespeople
? Pipeline Rules ¨C Improve deal stage consistency and data accuracy for improved prioritisation and forecasting
? Team Permissions & Defaults ¨C Control access and streamline processes. Spend more time selling, less on admin
? Pipeline View Customisation ¨C Get clearer sales insights, faster, to deal with revenue leaks
? Simple Sales Reports ¨C Build actionable dashboards to drive strategy with data
? Bonus: Successful Sales Hub users will share their experiences and the revenue impact it has delivered for them.
Who is this webinar for?
Sales leaders using HubSpot Sales Hub Starter, or those new to HubSpot
Sales managers who need better CRM adoption from their team
Anyone struggling with pipeline visibility, reporting, or forecasting
Teams who want to close more deals without extra sales headcount
5. Hello World Android
¡ñ Let's create and discuss HelloWorld
Application.
Muhammad Usman Chaudhry CS4615 SZABIST
6. File Structure
¡ñ AndroidManifest.xml:
¡ð This file manages, Icons, Labels,
Permissions, Libraries, Intent Filters and
many other configuration parameters
related to application.
¡ð Let's have a look and discuss basics of
Manifest file in Eclipse.
¡ñ src:
¡ð Contains all the source packages, activity
and non-activity Java class files.
Muhammad Usman Chaudhry CS4615 SZABIST
7. File Structure
¡ñ assets:
¡ð Used to store raw data.
¡ð Example would be textures, game data,
static html/xml/json files etc.
¡ð Can access via AssetManager
¡ñ libs: Contain private libraries.
¡ñ bin: Contain compiled resources. (APK etc.)
¡ñ gen: Generated Java files. (R.java etc.)
¡ñ jni: Native code sources, developed using NDK.
Muhammad Usman Chaudhry CS4615 SZABIST
8. File Structure
¡ñ res:
¡ð Contain all application resources
¡ð Include most of the following directories:
¡ö anim - for xml files that are compiled
into Animation objects.
¡ö color - for xml files that describe colors.
¡ö drawable - for images, drawable
resource types like BMP,JPG, 9-patch
etc. Let's discuss more about drawable
over Eclipse.
Muhammad Usman Chaudhry CS4615 SZABIST
9. File Structure
¡ö layout - XML files compiled into screen
objects/views.
¡ö menu - XML files defining application
menus.
¡ö raw - Same as assets, except it can be
accessed via R file.
¡ö values - XML files containing string
values. Let's see how its used.
¡ö xml - Other xml files, eg.
PreferenceScreen, etc.
Muhammad Usman Chaudhry CS4615 SZABIST
10. Android Activity Lifecycle
¡ñ Activity instances in our apps transition between various
states whenever a user interacts with the application.
¡ñ Mostly these events are called in following order:
¡ð onCreate(Bundle savedInstanceState)
¡ð onStart()
¡ð onResume()
¡ð onPause()
¡ð onRestart()
¡ð onStop()
¡ð onDestroy()
¡ñ Let's have a look at code in Eclipse and view the diagram
in next slide.
Muhammad Usman Chaudhry CS4615 SZABIST
16. Let's Discuss About
¡ñ View
¡ñ Fragment
¡ñ Intent
¡ñ Content Provider
¡ñ Service
Muhammad Usman Chaudhry CS4615 SZABIST
17. View
¡ñ View represents the basic building block for UI components.
¡ñ All the controls within android are direct or indirect
subclasses of View.
¡ñ We may extend View or even its subclasses to create
custom controls.
¡ñ Examples are:
¡ð Direct Subclasses:
¡ö ImageView
¡ö TextView
¡ö And many other...
¡ð Indirect Subclasses:
¡ö Button
¡ö ListView
¡ö And many more...
Muhammad Usman Chaudhry CS4615 SZABIST
18. Fragment
¡ñ A fragment represents a behavior or a
portion of user interface in an activity.
¡ñ You may combine multiple fragments in a
single activity to build a multi-pane UI.
¡ñ Fragment have lifecycle of its own, but
we'll study it later.
¡ñ Fragments are more targeted towards
tablet applications.
¡ñ Let's have a look at its design philosophy.
Muhammad Usman Chaudhry CS4615 SZABIST
20. Intent
¡ñ More like an 'intention' to do some work.
¡ñ Intents are used to:
¡ð Broadcast a message
¡ð Start a service
¡ð Launch an activity
¡ð Display a web page
¡ð Dial a phone number
¡ñ Intents can be explicit or implicit.
¡ñ Let's have a look at intent.
Muhammad Usman Chaudhry CS4615 SZABIST
21. Content Provider
¡ñ Standard mechanism to share data among
applications.
¡ñ It doesn't expose underlying storage,
structure and implementation.
¡ñ Your application can expose data to other
applications or even read the data shared
by other applications.
Muhammad Usman Chaudhry CS4615 SZABIST
22. Service
¡ñ Background processes that runs for long
time.
¡ñ Android has 2 type of services:
¡ð Local Services:
¡ö Only used by the application that is hosting it.
¡ð Remote Services:
¡ö Accessible by other applications as well.
¡ñ Local Vs Remote
Muhammad Usman Chaudhry CS4615 SZABIST
23. What's Version Control & Why We Need It?
¡ñ Version control is the management of
changes to the source files.
¡ñ It's used to keep track of who did what and
when in the code.
¡ñ In case of problem in latest code, you can
easily revert back to any past version.
¡ñ Easier to collaborate and track the code
changes among programmers working on
the same project and files.
Muhammad Usman Chaudhry CS4615 SZABIST
24. Standard Version Control System
¡ñ Usually a central server.
¡ñ A programmer may check-out a file, work
over it and checks-in back.
¡ñ When a programmer has checked the file
out, no other programmers can make
changes to that particular file.
¡ñ Famous framework is SVN, CVS etc.
Muhammad Usman Chaudhry CS4615 SZABIST
25. DVCS
Distributed Version Control System
¡ñ Instead of centralized system it uses P2P.
¡ñ Avoids single point of failure.
¡ñ Allow users to check-in and merge the code
anytime they want to.
¡ñ Famous frameworks are Hg(Mercurial) and
Git.
¡ñ Let's watch this video to get more detailed
idea:
¡ð http://www.fogcreek.com/kiln/
Muhammad Usman Chaudhry CS4615 SZABIST
26. Mercurial & Git
¡ñ Mercurial (Hg) & Git are 2 leading
frameworks used for Revision Control.
¡ñ Basic difference is,
¡ð git provide set of tools like git-pull, git-push, etc.
¡ð Hg is monolithic and all in one.
¡ñ Both have almost identical features.
¡ñ We prefer Mercurial, due to easier learning
curve.
Muhammad Usman Chaudhry CS4615 SZABIST
27. Using Hg & BB
¡ñ Installing Hg
¡ñ Let's create a repository at Bitbucket (BB) Source
code hosting site.
¡ñ Create a local repository. (hg init)
¡ñ Add Files. (hg add .)
¡ñ Commit changes (hg commit -m "first")
¡ñ Push our changes to BB. (hg push REPO-URL)
¡ñ Remember repeat cycle
¡ð Pull - Update - Merge/Resolve - Commit - Push
¡ñ Adding users to BB & using (hg clone to get current
copy).
¡ñ We shall look into branching etc. later.
Muhammad Usman Chaudhry CS4615 SZABIST
28. Lab Tasks Today
¡ñ Setup Android Development Environment
¡ñ Create HelloWorld Application
¡ñ Create AVDs
¡ñ Run your application in at least 2 different
AVDs
¡ñ Create Lifecycle Activity Application
¡ñ Log all lifecycle events
Muhammad Usman Chaudhry CS4615 SZABIST
29. Lab Tasks Today
¡ñ Setup Hg on System, create Bitbucket account.
¡ñ Create a group of 2, invite your partner so he/she
could clone the code, make changes and pass
through the following Steps:
¡ð init-add-commit-push (For you)
¡ð clone (For other group partner)
¡ð //Make certain changes
¡ð pull-update-commit-push (For other group
partner)
¡ð //Make certain changes
¡ð pull-update-commit-push (For you)
Muhammad Usman Chaudhry CS4615 SZABIST
30. Coming Up Next
¡ñ Detail in Design!
¡ñ We'll learn to use all the controls.
Muhammad Usman Chaudhry CS4615 SZABIST