IT代考 CS 213 SOFTWARE METHODOLOGY

CS 213 SOFTWARE METHODOLOGY
LILY CHANG ASSOCIATE TEACHING PROFESSOR DEPARTMENT OF COMPUTER SCIENCE RUTGERS UNIVERSITY – NEW BRUNSWICK FALL 2021

Android App Development Basics

Copyright By PowCoder代写 加微信 powcoder

Mobile App Development
• Smartphones and portable devices are increasing powerful and becoming the essential devices people
use to complete their routine tasks with the help of the apps
• The two most well-known operating systems are the Android operating system, from Google, and iOS, from Apple.
• Other popular operating systems for smartphones include BlackBerry, Windows, and Symbian.
• The annual number of smartphones sold worldwide is now over one billion.

One of the main factors determining the success of a smartphone platform is the applications that support it.
The Android Market
It is clear from the success of the iPhone that applications play a very vital role in determining whether a new platform swims or sinks. Also, making these applications accessible to the general users is extremely important.
Users can simply use the Google Play application that is preinstalled on their Android devices to directly download third-party applications to their devices. Both paid and free applications are available in the Google Play Store

Mobile operating systems’ market share worldwide

Mobilephone OS Market share in the US

What is Android?
A mobile operating system that is based on a modified version of Linux.
Originally developed by a startup of the same name, Android, Inc, which was acquired by Google in 2005
Most of the Android code was released under the open-source Apache License
The main advantage to adopting Android is that it offers a unified approach to mobile application development

Android Releases

Android Devices in the Market
• Android TV
• Android for Cars
• Android Things
• Chrome OS devices
• Other portable devices • Smartphones
• E-reader devices
• Smartwatches • …..

Screen Sizes and Densities
HTTPS://DEVELOPER.ANDROID.COM/ABOUT/DASHBOARDS
• Tosimplifythewayof designing the user interfaces for different screen configurations, Android divides the range of actual screen sizes and densities into several buckets as shown in the table.

Android Versions Distribution
Android versions distribution

Latest version: Android 12 – Material You
Android Releases
One important thing to keep in mind as you are looking at Android versions is that each version has its own features and APIs (application programming interfaces)
If your application is written for the newest version of Android, and it uses an API that was not present in an older version of Android, then only devices running that newer version of Android will be able to use your application

Android is Open Source
Freely available to manufacturers for customization, there are no fixed hardware or software configurations
Base Android OS supports many features, including
• Storage—SQLite, a lightweight relational database
• Connectivity—GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (includes A2DP and AVRCP), Wi-Fi, LTE, and WiMAX
• Messaging—Both SMS and MMS
• Media support H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, , WAV, JPEG, PNG, GIF, and BMP.
• Hardware support—Accelerometer sensor, camera, digital compass, proximity sensor, and GPS
• Multi-touch—Multi-touch screens.
• Multi-tasking—Multi-tasking applications.
• Tethering—Sharing of Internet connections as a wired/wireless hotspot.
Android’s web browser is based on the open source WebKit and Chrome’s JavaScript engine.

ANDROID PLATFORM ARCHITECTURE
Androidruntimeprovidesasetofcore libraries that enable developers to write Android apps using the Java programming language
Dalvikvirtualmachinewasusedpriorto version 5
AndroidRuntime(ART)replacedDalvik started version 5

OBTAINING THE REQUIRED TOOLS
• ForAndroiddevelopment,youcanuseaMac,aWindowsPC,oraLinuxmachine.
• Youcanfreelydownloadallthenecessarytools • JavaJDK
• Android Studio: https://developer.android.com/studioèIDE + Android SDK IntelliJ includes the Android Studio IDE
Android devices don’t run .class and .jar files. Instead, to improve speed and battery performance, Android devices use their own optimized formats for compiled code.
• ResourcesforAndroiddevelopers:https://developer.android.com/
• Someofthematerialsinthispresentationaretakenfromthiswebsite

Android app Development
As a beginning Android programmer, there is a learning curve
Android has a culture, which speaks Kotlin or Java (or a bit of both), but knowing Kotlin or Java is not enough
Getting your head around Android requires learning many new ideas and techniques
• There are good software engineering practices involved!!

Kotlin vs. Java
• Official support for Kotlin for Android development was announced at Google I/O in 2017
• Since 2017, Kotlin has become widely adopted
• The Android framework team has released more and
more Kotlin extensions for Android
• The Android framework was originally written in Java. This means most of the Android classes you interact with are Java
• Kotlin is interoperable with Java
• In May 2019, Google announced that the Kotlin programming language is now its preferred language for Android app developers

Distributing Android Apps
Android apps are distributed via Google Play (https://play.google.com)
Google Play is a store for digital content, much like the Apple’s app store, not just apps.
In order to distribute apps on Google Play, you need to become a registered developer
There are now over one million apps in Google Play, and the majority of those apps are free
One should also be aware that the Android operating system is open, so anyone can easily copy an app from one Android device to another; there is little protection for intellectual property

Once you installed the Android Studio, the next step is to create an Android Virtual Device (AVD), which you use to test your Android applications
Devices (AVDs)
An AVD is an emulator instance that enables you to model an actual device
Each AVD consists of a hardware profile; a mapping to a system image; and emulated storage, such as a secure digital (SD) card
The emulator is good for doing some generalized testing of your applications
Games (GPU heavy) or applications using sensors (GPS) cannot be simulated with the same speed or consistency
You can create as many AVDs as you want to test your applications with different configurations

AVD MANAGER
• When you create your first Android project, you will be asked to create an AVD, OR
Tools/AVD Manager to add other emulators

• Source folder
• MainActivity.java (the controller)
• res folder
• layout foler
activity_main.xml (the view)
• drawable folder
Hold images with different resolutions and pixel densities (DPI)

程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com