Mobile Software Development Lecture 01
40 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What role does the Activity class play in Android development?

  • It manages the memory allocation for Java applications.
  • It allows applications to execute background processes.
  • It converts Java code into bytecode for execution.
  • It provides callbacks for state changes of the activity. (correct)
  • Which statement about the Android Market is true?

  • It has over 1.5 million new activations every month.
  • It exclusively supports C/C++ applications without any Java.
  • It was rebranded to Google Play to integrate other services. (correct)
  • It only allows free applications to be published.
  • Why is the Android architecture preferred for mobile applications?

  • It operates solely on Windows platforms.
  • It is built with C/C++ for better efficiency. (correct)
  • It lacks middleware for communication with devices.
  • It primarily utilizes proprietary coding languages.
  • Which of the following factors has contributed to Android's dominance as a mobile platform?

    <p>A wide variety of budget and feature choices. (A)</p> Signup and view all the answers

    What is a significant feature of the middleware in the Android architecture?

    <p>It simplifies the development of low-level operations for apps. (B)</p> Signup and view all the answers

    What percentage of visits from mobile phones was recorded in 2018?

    <p>52.2% (D)</p> Signup and view all the answers

    What is the format of the evaluation for this module?

    <p>50% continuous assessment and 50% written exam (A)</p> Signup and view all the answers

    Which language will be primarily used in the coding sessions?

    <p>Kotlin (B)</p> Signup and view all the answers

    How many lectures are there each week for this module?

    <p>Two lectures and one lab (B)</p> Signup and view all the answers

    What is the requirement to pass the module?

    <p>Passing both the continuous assessment and the written exam (B)</p> Signup and view all the answers

    Which of the following is NOT listed as a recommended reading book for the module?

    <p>Learning Android Programming (B)</p> Signup and view all the answers

    What is the duration given for the app assignment?

    <p>6 weeks (D)</p> Signup and view all the answers

    What is the primary motivation behind Google's business model regarding the Android operating system?

    <p>Advertising revenue from proprietary apps (C)</p> Signup and view all the answers

    Which organization is primarily responsible for the development of Android?

    <p>Open Handset Alliance (B)</p> Signup and view all the answers

    What is the market share of Android as stated for 2024?

    <p>71.7% (B)</p> Signup and view all the answers

    What type of licenses does Android operate under?

    <p>Apache 2.0 and GPL 2 (B)</p> Signup and view all the answers

    What characteristic of Android makes it adaptable to various physical devices?

    <p>Portable core design (D)</p> Signup and view all the answers

    How does Android facilitate access to its source code?

    <p>The entire source code is open for modification (A)</p> Signup and view all the answers

    What assumption is made about Android devices in terms of their performance?

    <p>They may be limited in memory and speed (A)</p> Signup and view all the answers

    What is a benefit of Android's business-friendly licenses?

    <p>Allow free extension for various purposes (A)</p> Signup and view all the answers

    What did Google primarily focus on after acquiring Android in 2005?

    <p>Controlling the development process and improving the platform (A)</p> Signup and view all the answers

    What is a key characteristic of Android that distinguishes it from other operating systems?

    <p>Modular design with no predefined parameters (A)</p> Signup and view all the answers

    What distinguishes Progressive Web Apps from traditional web apps?

    <p>Progressive Web Apps can function offline. (D)</p> Signup and view all the answers

    What is a primary benefit of web apps compared to mobile apps?

    <p>Web apps can be immediately available across various devices. (B)</p> Signup and view all the answers

    Which design pattern is not commonly associated with mobile interaction?

    <p>Tabular data display (B)</p> Signup and view all the answers

    Which statement about the evolution of programming languages is true?

    <p>2nd generation languages utilize functions to break down code. (C)</p> Signup and view all the answers

    Which of the following statements about 6G technology is correct?

    <p>6G is expected to provide 99.9% world coverage. (D)</p> Signup and view all the answers

    What is one of the key advantages of mobile apps over web apps?

    <p>Mobile apps can utilize device features like GPS and camera. (B)</p> Signup and view all the answers

    Which of the following best describes 'immediacy' in the context of web apps?

    <p>The prompt availability of web apps upon launching a browser. (B)</p> Signup and view all the answers

    Which feature is often included in mobile interaction design to enhance user experience?

    <p>Loading indicators to show that a process is ongoing. (A)</p> Signup and view all the answers

    What characteristic of 1st generation programming languages often led to challenges?

    <p>They consisted of simple sequential lines of code. (B)</p> Signup and view all the answers

    What is a potential drawback of using a software framework?

    <p>It may lack specific functionalities needed for certain projects. (A)</p> Signup and view all the answers

    What is a significant challenge for developers when starting with a new framework?

    <p>They encounter a steep learning curve. (D)</p> Signup and view all the answers

    How do conventions in coding benefit developers?

    <p>They ensure that the code is understandable to others. (D)</p> Signup and view all the answers

    What limitation do smartphones have that developers must consider while creating applications?

    <p>Limited battery life that affects performance. (B)</p> Signup and view all the answers

    What is a common misconception regarding frameworks in software development?

    <p>They are universally the best option for all sizes of applications. (A)</p> Signup and view all the answers

    What impact can a vulnerability in a framework have on applications developed using it?

    <p>It can compromise all applications created on that framework. (B)</p> Signup and view all the answers

    Why might senior developers be hesitant to adopt a new framework?

    <p>They may be less willing to change from familiar tools. (D)</p> Signup and view all the answers

    What is a necessary consideration in mobile application development related to smartphone characteristics?

    <p>Smartphone functionalities should be utilized effectively. (C)</p> Signup and view all the answers

    How can using a framework potentially impact development costs?

    <p>It increases the time required for development. (B)</p> Signup and view all the answers

    Flashcards

    Mobile Software Development

    A software development field focused on creating applications for mobile devices (smartphones, tablets).

    Who is the lecturer?

    The person who teaches the course, with a PhD in Computer Science, extensive research experience, and industry experience.

    How is the course organized?

    The course is delivered through two lectures and one lab session each week, with lab work starting from week 2.

    What are the recommended books?

    No specific book is required. The course uses these two books as primary references: Head First Android Development and Programming Android with Kotlin.

    Signup and view all the flashcards

    How is the course evaluated?

    The course evaluation includes 50% continuous assessment (app assignment and weekly lab marks) and 50% final written exam.

    Signup and view all the flashcards

    What is the final app about?

    The topic for the final app is open. Students are encouraged to choose a topic using concepts learned in the module.

    Signup and view all the flashcards

    What is the focus of the course?

    The course emphasizes hands-on practice and uses the Android platform and Kotlin programming language for developing mobile apps.

    Signup and view all the flashcards

    Android Activity Framework

    A set of software components that provide a framework for creating Android applications. It includes essential classes and methods for handling user interface, lifecycle management, and interaction with the Android operating system.

    Signup and view all the flashcards

    Android Market (Google Play)

    A system that allows users to download and install applications on their Android devices. It provides a platform for app distribution and discovery.

    Signup and view all the flashcards

    Android Layer

    The layer of software that sits between the Android operating system and the applications. It provides a medium for communication and interaction between the two.

    Signup and view all the flashcards

    Java (for Android Apps)

    A programming language used to develop Android applications. It provides a rich set of libraries and tools for creating interactive and powerful apps.

    Signup and view all the flashcards

    Budget/Feature Variation

    The ability for Android users to choose devices and applications that fit their budget and needs, offering a diverse range of options.

    Signup and view all the flashcards

    What is Android?

    Android is an open-source operating system for mobile devices, built on a modified Linux kernel.

    Signup and view all the flashcards

    What licenses does Android use?

    Android is licensed under Apache 2.0 and GPL 2, allowing developers to modify and use it freely.

    Signup and view all the flashcards

    Who develops Android?

    Originally purchased by Google in 2005, Android is now developed by Open Handset Alliance, with Google taking the lead.

    Signup and view all the flashcards

    What are Android devices designed for?

    Android is designed for mobile devices with limited resources, such as memory and processing power.

    Signup and view all the flashcards

    What are the hardware variations for Android devices?

    Android is meant to work on a variety of devices with different screen sizes, resolutions, and hardware.

    Signup and view all the flashcards

    What is Google's Business Model with Android?

    While Google makes money from services like Gmail and Maps, its main revenue source is advertising.

    Signup and view all the flashcards

    What is the core design of Android?

    Android's core is designed to be easily adapted to various hardware and software configurations.

    Signup and view all the flashcards

    Why is Android so popular?

    Android's popularity stems from its widespread use, making it a dominant force in the mobile software industry.

    Signup and view all the flashcards

    What tools are used for Android development?

    Android Studio is a comprehensive suite of tools designed specifically for developing applications for Android.

    Signup and view all the flashcards

    What makes Android a good choice for app development?

    Android is a powerful mobile platform with a strong developer community and a large market share.

    Signup and view all the flashcards

    Web App Advantages

    Web applications are instantly accessible, compatible across devices, and can be updated instantly. They are also easily reachable, especially for users who are already online. They can be found easily through search engines and are widely used.

    Signup and view all the flashcards

    Mobile App Advantages

    Mobile apps offer a more immersive experience with better user involvement. They are also capable of utilizing device features like the camera and GPS for enhanced functionality.

    Signup and view all the flashcards

    Vertical Stack Pattern

    A design pattern for mobile apps that utilizes a vertical stack for organizing elements. This helps ensure that elements are displayed in a clear and organized manner.

    Signup and view all the flashcards

    Generous Borders Pattern

    A design pattern for mobile apps that uses generous borders to create visual separation between elements. This makes the app visually appealing and improves readability.

    Signup and view all the flashcards

    Thumbnail-and-text Lists Pattern

    A design pattern for mobile apps that displays lists as thumbnails with accompanying text. This allows users to quickly scan and identify items in a list.

    Signup and view all the flashcards

    Progressive Web Apps

    Progressive Web Apps (PWAs) are web apps that can work offline and access device features like the camera and GPS using browser HTML5 APIs.

    Signup and view all the flashcards

    Loading Indicators Pattern

    A design pattern for mobile apps that uses loading indicators to let users know that the app is loading data or performing an action. This helps keep the user informed and prevents them from feeling frustrated.

    Signup and view all the flashcards

    Filmstrip Navigation Pattern

    A design pattern for mobile apps that uses a filmstrip to move between different screens. This allows users to easily navigate between screens by swiping left or right.

    Signup and view all the flashcards

    Touch Tools Pattern

    A design pattern for mobile apps that uses a touch tool that is only displayed after the user touches a specific area. This allows for a cleaner interface by only showing essential tools when needed.

    Signup and view all the flashcards

    Framework Focus

    Using a framework allows developers to focus on the specific features of the project, instead of spending time writing generic repetitive code.

    Signup and view all the flashcards

    Increased Productivity

    A framework promotes code reusability, increasing productivity by avoiding duplicate code. This means developers can focus on the specific features of the project, instead of constantly re-writing common elements.

    Signup and view all the flashcards

    Code Understandability

    Frameworks often have established conventions and best practices, making code more understandable and collaborative. Developers who are familiar with the framework can easily understand and modify code.

    Signup and view all the flashcards

    Learning Curve

    The process of learning a new framework can be time-consuming and lead to a decrease in productivity at the beginning of a project.

    Signup and view all the flashcards

    Vulnerability Risk

    If a framework has a vulnerability, all applications built on that framework inherit that weakness. This increases the risk of security breaches across multiple projects.

    Signup and view all the flashcards

    Limited Functionality

    Some frameworks may lack functionality required for a given project, which can hinder the development process. Developers might need to add custom solutions within an existing framework, which can be time-consuming and complex.

    Signup and view all the flashcards

    Not Always Ideal for Smaller Projects

    Frameworks are not always the best choice for smaller applications. Using frameworks for small projects can add unnecessary complexity and overhead.

    Signup and view all the flashcards

    Limited Resources

    Mobile devices have limited storage and battery life compared to traditional computers, which is a significant consideration for developers.

    Signup and view all the flashcards

    Multipurpose Devices

    The increasing popularity of smartphones has led to them replacing wallets, cameras, and other devices, making their integration crucial in diverse areas.

    Signup and view all the flashcards

    Design Considerations

    Developing smartphone apps requires a comprehensive understanding of how limited resources and user expectations influence design decisions.

    Signup and view all the flashcards

    Study Notes

    Mobile Software Development Lecture 01 - Getting Started

    • The lecture is about mobile software development.
    • The lecturer is Dr Abubakr Siddig.
    • The lecturer's email is [email protected].
    • The lecture is a module on mobile software development.

    Module Overview

    • The module's purpose concerning mobile software development is not specified.
    • What students will achieve by the end of the module is not detailed.

    Lecturer's Background

    • The lecturer has a PhD in Computer Science from UCD.
    • The lecturer holds an MSc in Signal Processing from Sweden.
    • The lecturer has a BSc (Hons) in Electronics and Software Engineering from Sudan.
    • The lecturer has 7 years of industry experience in telecommunications and management.
    • The lecturer has over 10 years of research experience in computer science.
    • The lecturer has worked as a lecturer at UCD, Griffith, and now TU Dublin.

    Module Organization

    • The module's structure includes two lectures and one lab per week.
    • Labs begin in week two.
    • Lecture notes and course information are available online on Brightspace.
    • All course announcements will be posted to Brightspace.
    • The course does not rely on a single textbook.
    • The primary books are:
      • Head First Android Development, 3rd Edition by Dawn Griffiths and David Griffiths (O'Reilly).
      • Programming Android with Kotlin by Pierre-Olivier Laurence et al. (O'Reilly).

    Module Evaluation

    • The module is assessed by a combination of continuous and written assessment.
    • Continuous assessment includes an app assignment (30%) and weekly lab work (20%).
    • The semester-long app assignment is due at the end of the semester.
    • The module is assessed with a 50% written exam, which is required in order to pass.

    Final App Topic

    • The final app project can cover any topic of the student's choice.
    • Students are recommended to use the topics studied in the course.

    Other key points from the slides

    • A quote is featured stating, "If you want to be good at something you need to practice, practice, practice...".
    • The coding framework for the course is Android, using Kotlin. The corresponding URL is provided.
    • The number of visits from mobile phones increased from 0.7% in 2009 to 52.2% in 2018.
    • The current time frame is Week 2-12.
    • The future of phones could involve foldable designs with the possibility of no more tablets being sold.
    • The next technology in mobile computing may be 6G, planned to come in 2030. The latency will be 1000 times less. World coverage will be 99.9%.
    • Programming language evolution is discussed up to the 3rd generation.
    • A framework is defined as a platform to build computer applications. Examples include Node.js for online applications, Java RMI for distributed systems, Scikit-learn, and PyTorch for machine learning, Android Developer Studio and GIMP and Photoshop for graphic design
    • Frameworks should be easy to use, contain few redundancies, well-documented, promote code reusability and optimized for compilation and debugging.
    • Framework usage increases productivity, reduces costs and eliminates the need for repetitive tasks.
    • Challenges in using frameworks include limited functionality, potential vulnerabilities, a steep learning curve for users and resistance to change among experienced developers.
    • Smartphones are extremely personal devices with limited memory, processing power, and storage capacity. Smartphones are increasingly being integrated into other technologies including wallets, and have limited power sources (battery).
    • Android is a popular mobile operating system based on a modified Linux kernel. It is free and open-source and purchased by Google in 2005.
    • The current market share of Android is 71.7% compared to iOS.
    • Android license is business-friendly and allows modifications.
    • The Android platform assumes its devices will have limited memory and processing abilities.
    • The Android operating system has a flexible, adaptable structure and is easily ported to various devices.
    • The Android Layer Architecture has been illustrated.
    • The Android Market (Google Play) which is an online app store, is discussed and the number of devices in use as well as the growth rate in Ireland are included.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Related Documents

    Description

    This lecture provides an introduction to mobile software development led by Dr. Abubakr Siddig. It offers insights into the lecturer's extensive background and expertise in the field, although specific learning outcomes and module details are not provided. Join us to kickstart your journey into mobile programming!

    More Like This

    Use Quizgecko on...
    Browser
    Browser