APPDEV-REVEIWER2.docx
Document Details
Uploaded by BetterImagery8368
Tags
Full Transcript
**[6APPDEV]** ***WEEK 1*** INTRODUCTION TO MOBILE PROGRAMMING ***PROGRAMMING AND SCRIPTING***\ As a tool for application development **PROGRAMMING** - Used to build full-fledged applications, systems, or software with complex functionalities. - Examples: Java, C++, C\#, Swift, Kotlin....
**[6APPDEV]** ***WEEK 1*** INTRODUCTION TO MOBILE PROGRAMMING ***PROGRAMMING AND SCRIPTING***\ As a tool for application development **PROGRAMMING** - Used to build full-fledged applications, systems, or software with complex functionalities. - Examples: Java, C++, C\#, Swift, Kotlin. **SCRIPTING** - Generally used for automating tasks, gluing together components, or adding functionality to existing systems. - Examples: Python, JavaScript, Bash, Perl, Ruby **INTEGRATED DEVELOPMENT ENVIRONMENT (IDE)** - An IDE typically consists of a code editor, compiler, debugger, and a GUI builder. **SOFTWARE DEVELOPMENT** - The process of designing, creating, testing, and maintaining software applications or systems. - It involves a series of steps, from understanding user requirements to deploying a fully functional product. **SOFTWARE DEVELOPMENT LIFE CYCLE** - The Software Development Life Cycle (SDLC) is a systematic process used by software developers and project managers to design, develop, and test high-quality software. - The goal of SDLC is to produce software that meets or exceeds customer expectations, is completed within time and cost estimates, and is efficient and maintainable. - - **ANALYSIS** - Understand and document the needs of the users or stakeholders. - **SYSTEM DESIGN** - Plan the architecture and design of the software system. - **IMPLEMENTATION (CODING/DEVELOPMENT)** - Write the actual code that implements the design. - **TESTING** - Ensure the software is bug-free and meets the specified requirements. - **DEPLOYMENT** - Make the software available for use. - **MAINTENANCE AND UPDATES** - Keep the software running smoothly and updated. - ***ROLE DESIGNATION***\ In team development **PRODUCT OWNER** - Also known as the client. - Sets the vision of what the software should do and how it looks. - The person responsible for determining the needs of the end users. - The client is also the one to set the standards and other project specifications. **PROJECT MANAGER** - Oversees the planning, execution, and completion of the project. - Develop the project plan, including timelines, resource allocation, and budget management. - Track the project's progress against milestones and adjust plans as necessary to meet deadlines. - Provide regular updates to stakeholders on the project's status, including any issues or changes. **SOFTWARE ARCHITECT** - A highly skilled software developer who designs the technical standards of the whole development lifecycle. - Choose appropriate technologies, frameworks, and tools that align with the project requirements. **DEVELOPER** - Write clean, efficient, and maintainable code according to the design specifications. - Identify and fix bugs and performance issues in the codebase. - Work closely with other developers, designers, and QA analysts to ensure seamless integration of Components. **UX DESIGNER** - Conduct research to understand user needs, preferences, and behaviors. - Ensure that end users have a positive experience using the software. - They check the functionalities if it's user-friendly and easy to navigate. - Work closely with developers to ensure the design is implemented correctly and maintains the intended user experience. **QA ANALYST** - Ensures that the software meets the required quality standards before release. - Develop test plans, test cases, and test scripts to cover all aspects of the software. - Perform manual testing and create automated tests to validate the functionality, performance, and security of the software. **PROTOTYPING METHODOLOGY** - **Prototyping** is a software development methodology in which a preliminary version of the system, known as a prototype, is created to visualize and experiment with the system's design and functionality. ***WEEK 2*** **ANDROID PROGRAMMING**\ Overview **WHAT IS ANDROID?** - Open-source mobile operating system by Google - Primarily for touchscreen devices (smartphones, tablets) - Based on Linux kernel and open-source software - Highly customizable and adaptable - Approximately 71% of global mobile users are on Android. **ANDROID OS BACKGROUND** - **Developed by Android Inc. in 2003** - Founded by Andy Rubin, Rich Miner, Nick Sears, and Chris White - Originally intended for digital cameras - Acquired by Google in 2005 - First device: HTC Dream (T-Mobile G1) in 2008 using Android 1.0 **ANDROID VERSIONS** - **ANDROID 1.5 CUPCAKE** - **Released in April 2009** - Introduced on-screen keyboards. - Introduced uploading videos to YouTube - Automatic display rotation - Devices: HTC Hero and Samsung Galaxy GT-I7500 - **ANDROID 1.6 DONUT** - **Launched in September 2009** - Offered support for carriers using CDMA-based networks. - Introduced the following: - Quick Search Box - Quick Toggling between Camera, Camcorder and Gallery - Power Control widget for managing Wi-Fi, Bluetooth, GPS - Devices: Dell Streak - **ANDROID 2.0-2.1 ECLAIR** - **Released in October 2009** - The first to add text-to-speech support - Introduced the following: - live wallpapers - multiple account support - Google Maps navigation - Devices: Motorola Droid - **ANDROID 2.2 FROYO** - **Launched in May 2010** - Introduced the following: - Wi-Fi mobile hotspot functions - push notifications via the Android Cloud to Device Messaging (C2DM) service - flash support - Devices: Google Nexus One - **ANDROID 2.3 GINGERBREAD** - **Launched in September 2010** - Added support for using near field communication (NFC) functions - Introduced the following: - Selfie by adding support for multiple cameras - Video chat support with Google Talk - Devices: Google Nexus S - **ANDROID 3.0 HONEYCOMB** - **Introduced in February 2011** - created for tablets - redesigned UI for large screens - Devices: Motorola Xoom tablet - **ANDROID 4.0 ICE CREAM SANDWICH** - **Released in October 2011** - included a "favorites tray" on the home screen - First support for unlocking a phone by using its camera - Included support for: - all on-screen buttons - swipe gestures to dismiss notifications and browser tabs - ability to monitor your data usage over mobile and Wi-Fi - **ANDROID 4.1-4.3 JELLY BEAN** - **Released in June 2012** - new notification features that displayed more content or action buttons - full support for the Android version of Google's Chrome web browser - External Displays and Miracast also gained support, as did HDR photography - **ANDROID 4.4 KITKAT** - **Released in September 2013** - Optimized Android to run on smartphones with as little as 512 MB of RAM - Device: Google Nexus 5 - **ANDROID 5.0 LOLLIPOP** - **Released in 2014** - Used Google's new Material Design language - Included official support for: - dual-SIM - HD Voice calls - Device Protection to keep thieves locked out of your phone even after a factory reset - Device: Google Nexus 6 & Nexus 9 tablet - **ANDROID 6.0 MARSHMALLOW** - **Released in 2015** - New vertically scrolling app drawer - native support for fingerprint biometric unlocking - USB-C support - Introduction of Android Pay (now Google Pay) - Device: Google Nexus 6P & Nexus 5X - **ANDROID 7.0 NOUGAT** - **Released in 2016** - included better multi-tasking functions - split-screen mode - quick switching between apps - Devices: Pixel, Pixel XL, and LG V20 - **ANDROID 8.0 OREO** - **Released in March 2017** - visual changes to the Settings menu - support for picture-in-picture mode - new autofill APIs to manage passwords better and fill data - **ANDROID 9.0 PIE** - **Officially launched in August 2018** - New features: - Extended Battery Life - Shush - Predicts which apps you will use, and which apps you won't use until later - **ANDROID 10 (ANDROID Q)** - **Introduced in March 2019** - Dropped dessert names - focused on privacy features - New features: - support for foldable phones - System-wide dark mode - smart reply features for all messaging apps - **ANDROID 11** - **Launched in September 2020** - New features: - Introduced chat bubbles - Screen record with audio - **ANDROID 12** - **Launched in October 2021** - Introduced Material You design - New features: - scrollable screen captures - easier Wi-Fi sharing with Nearby Share - One-handed mode - **ANDROID 13** - **Launched in April 2022** - New features: - Now Playing widget - more intuitive QR Scanner - access to digital car keys - added security and privacy features - **ANDROID 14** - **Launched in October 2023** - New features: - make the font larger - notification flashes - language improvements **WHY ANDROID?** - Open Source: Customizable by manufacturers - Large Ecosystem: Powers a wide range of devices - App Development: Vast marketplace via Google Play Store - Customizability: Extensive UI and functionality options - Global Reach: Android is the most widely used mobile OS globally. **ACTIVITY LIFE CYCLE** - **OnCreate ( )** - called when activity is first created. - **OnStart ( )** - called when activity is becoming visible to the user. - **OnResume ( )** - called when activity will start interacting with the user. - **OnPause ( )** - called when the system is about to start resuming another activity. - **OnStop ( )** - called when activity is no longer visible to the user. - **OnRestart ( )** - called if the activity comes back after being stopped. It is always followed by - **OnDestroy ( )** - called before the activity is destroyed.