Course: Defensive Programming in Android
duration: 9 hours |
Language: English (US) |
access duration: 90 days |
Details
In this Android course you will learn the basics of defensive programming in Android. You will learn to work with inputs and creating methods, to deal with errors and creating automated tests. Finally you will learn different Java technologies that are positive for defensive programming for Android applications.
Among subjects covered are URL inputs, SQL, loops, SQlite, Design, Java error classes, API, IDE, UI, ViewAction, ViewInteraction, DataInteraction, assert statements, AsyncTas and far more.
Result
After finishing this course you will be familiar with defensive programming in Android.
Prerequisites
There is no specific knowledge required. We recommend basic knowledge of programming.
Target audience
Software Developer
Content
Defensive Programming in Android
Defensive Programming in Android: Input and Methods
- start the course
- identify common assumptions not to make about user input
- create code that handles file inputs to an Android app
- create code that handles URL inputs to an Android app
- validate user-provided input
- use a real-time approach to validating user-provided input
- use secure coding principles to guard against format string attacks
- parse and check input values before using that input in a WebView object
- restrict access to navigation methods in a WebView object
- protect against SQL injection by using parameterized and prepared statements
- recognize best practice in writing methods for Android apps in Java
- use best practices to name methods in Java for Android
- use best practices to name getter methods in Java for Android
- use best practices to name callback methods in Java for Android
- reduce method complexity in Android apps using Java
- use Java overloaded methods to reduce complexity in Java for Android
- recognize how constants can be used in defensive programming
- create and use constants in Java for Android
- use best practices for naming constants in Java for Android
- create and use resource files in an Android app
- recognize how to write if statements defensively to protect against potential bugs
- design while loops that are not vulnerable to running forever
- design for loops that are not vulnerable to running forever
- identify and avoid bugs caused by altered loop variables
- use defensive practices to code in Java
Defensive Programming in Android: Using Standards
- start the course
- recognize how and where standards promote defensive programming
- identify and use class naming standards in Java
- identify and use variable naming standards in Java
- recognize the proper use of comments to make code more readable and maintainable
- use SQLite prepared statements to protect against SQL attacks
- recognize how both indentation and whitespace can be used to promote defensive programming
- use indentation to make source code more readable and maintainable
- use whitespace to make source code more readable and maintainable
- recognize what it means to keep code simple and how it makes programs more robust
- design classes that have a single and defined focus
- design methods that have a single and defined focus
- perform refactoring in Java
- avoid duplicating code in Java Android apps
- set up dependency management in Apache Maven
- set up dependency management in Gradle
- describe the characteristics of Design by Contract
- use comments to support Design by Contract
- use preconditions to support Design by Contract
- use postconditions to support Design by Contract
- use invariants to support Design by Contract
- use Design by Contract in Java
- use Design by Contract in Android
- create a simple app using Design by Contract principles
Defensive Programming in Android: Errors, Exceptions, and Testing
- start the course
- recognize how errors and exceptions can be used in defensive programming
- use the Java exception classes
- use exception stack traces
- test for specific kinds of errors based on domain and code
- create custom Java error classes
- inform end users of error information in an Android app
- use an underlying error object to find out more detail about an error that has occurred
- release Java resources in the event of an exception
- recognize how unit testing can be used in defensive programming
- use the android testing API to construct automated unit tests
- use instrumentation in automated Android unit testing
- use test case classes in Android automated unit testing
- use Android assertion classes
- use mock object classes in Android automated unit testing
- use test runner classes for Android automated unit testing
- view test results in the IDE
- recognize where end-to-end testing can be used in defensive programming
- set up the Android Testing Support API for automated UI testing
- use Espresso test classes for Android automated UI testing
- use instrumentation of activities for Android automated UI testing
- test UI components in Android
- use ViewAction, ViewInteraction, and DataInteraction classes to simulate actions when testing an Android app
- describe the use of assertions for defensive programming in Java for Android
- use basic assert statements in Java for Android
- identify and use precondition, postcondition and invariant assertions
- use annotations to aid in programming defensively for Android
- create a Java app to use exceptions and assertions
Defensive Programming in Android: Network Access and Java Defensive Techniques
- start the course
- initialize instances of classes safely
- check for the presence of null to avoid errors
- design setters to avoid potential errors
- recognize how to compare two objects in Java avoiding potential errors
- work safely with the Java switch and case statements
- use atomic and nonatomic operations in threaded applications
- use final properties to minimize potential for errors
- recognize when to use mutable and immutable classes
- implement a basic enum in Java
- use enums to reduce the possibility of unexpected input
- implement an enum with a constructor and recognize the rules for enum constructors
- implement an interface in an enum
- create an enum with abstract methods
- use packages and classes to implement proper encapsulation
- import packages in Java Android apps
- use different scopes to implement defensive programming
- create APKs to run on Android devices
- create jars for exporting Java code between apps
- recognize the importance of maintaining a good user experience while accessing the network
- use AsyncTask to retrieve data asynchronously and preserve user experience
- use progress reporting to enhance user experience
- cache retrieved data to enhance user experience
- transfer large files in the background
- check network connectivity status in Android apps
- sanitize data transferred across the network
- create an Android app to access the network asynchronously
Course options
We offer several optional training products to enhance your learning experience. If you are planning to use our training course in preperation for an official exam then whe highly recommend using these optional training products to ensure an optimal learning experience. Sometimes there is only a practice exam or/and practice lab available.
Optional practice exam (trial exam)
To supplement this training course you may add a special practice exam. This practice exam comprises a number of trial exams which are very similar to the real exam, both in terms of form and content. This is the ultimate way to test whether you are ready for the exam.
Optional practice lab
To supplement this training course you may add a special practice lab. You perform the tasks on real hardware and/or software applicable to your Lab. The labs are fully hosted in our cloud. The only thing you need to use our practice labs is a web browser. In the LiveLab environment you will find exercises which you can start immediately. The lab enviromentconsist of complete networks containing for example, clients, servers,etc. This is the ultimate way to gain extensive hands-on experience.
Sign In
WHY_ICTTRAININGEN
Via ons opleidingsconcept bespaar je tot 80% op trainingen
Start met leren wanneer je wilt. Je bepaalt zelf het gewenste tempo
Spar met medecursisten en profileer je als autoriteit in je vakgebied.
Ontvang na succesvolle afronding van je cursus het officiële certificaat van deelname van Icttrainingen.nl
Krijg inzicht in uitgebreide voortgangsinformatie van jezelf of je medewerkers
Kennis opdoen met interactieve e-learning en uitgebreide praktijkopdrachten door gecertificeerde docenten
Orderproces
Once we have processed your order and payment, we will give you access to your courses. If you still have any questions about our ordering process, please refer to the button below.
read more about the order process
Een zakelijk account aanmaken
Wanneer u besteld namens uw bedrijf doet u er goed aan om aan zakelijk account bij ons aan te maken. Tijdens het registratieproces kunt u hiervoor kiezen. U heeft vervolgens de mogelijkheden om de bedrijfsgegevens in te voeren, een referentie en een afwijkend factuuradres toe te voegen.
Betaalmogelijkheden
U heeft bij ons diverse betaalmogelijkheden. Bij alle betaalopties ontvangt u sowieso een factuur na de bestelling. Gaat uw werkgever betalen, dan kiest u voor betaling per factuur.
Cursisten aanmaken
Als u een zakelijk account heeft aangemaakt dan heeft u de optie om cursisten/medewerkers aan te maken onder uw account. Als u dus meerdere trainingen koopt, kunt u cursisten aanmaken en deze vervolgens uitdelen aan uw collega’s. De cursisten krijgen een e-mail met inloggegevens wanneer zij worden aangemaakt en wanneer zij een training hebben gekregen.
Voortgangsinformatie
Met een zakelijk account bent u automatisch beheerder van uw organisatie en kunt u naast cursisten ook managers aanmaken. Beheerders en managers kunnen tevens voortgang inzien van alle cursisten binnen uw organisatie.
What is included?
Certificate of participation | Yes |
Monitor Progress | Yes |
Award Winning E-learning | Yes |
Mobile ready | Yes |
Sharing knowledge | Unlimited access to our IT professionals community |
Study advice | Our consultants are here for you to advice about your study career and options |
Study materials | Certified teachers with in depth knowledge about the subject. |
Service | World's best service |
Platform
Na bestelling van je training krijg je toegang tot ons innovatieve leerplatform. Hier vind je al je gekochte (of gevolgde) trainingen, kan je eventueel cursisten aanmaken en krijg je toegang tot uitgebreide voortgangsinformatie.
FAQ
Niet gevonden wat je zocht? Bekijk alle vragen of neem contact op.