You are on page 1of 8

SHAHEED BENAZIR BHUTTO UNIVERSITY SBA

NAUSHAHRO FEROZE CAMPUS

SCHOOL OF INFORMATION TECHNOLOGY

ASSIGNMENT WORKBOOK

Introduction to Mobile Application


Development

Name of Student: Imran Ali


Roll Number:20-BsIt-09
Name of Instructor: Sir Abdul Naveed Jakhro

Certificate

page1|8
This is to certify that Mr. Imran Ali BS (IT)class bearing Roll No20
BSIT-09 has carried out the necessary Practical work as per the course of
Studies Introduction to Mobile Application Development for the 3rd
Year 6th semester as above in the Assignment schedule of his journal.

Date: Course Teacher:


Sir Abdul Naveed Jakhro

Assignment

Page2|8
QNo:1. Does android support other languages than java? Explain in detail.

Yes, an android app can be developed in C / C ++ also using android NDK (Native
Development Kit). It makes the performance faster. It should be used with Android
SDK. Going in for the concern of Android Development, Java is considered the
backbone of Android Applications. This does not remain the consent that only Java
can be used as the backend, there are some other choices: -

Kotlin

C/C++

C#

LUA

Kotlin – Kotlin was recently introduced as a secondary “official” Java language. It is


similar to Java in many ways but is a little easier to get your head around.

C/C++ — Android Studio also supports C++ with the use of Java NDK. This allows
for native coding applications, which can be handy for things like games. C++ is more
complicated though.

C# — C# is a slightly more beginner-friendly alternative to C or C++ that obfuscates


more code. It’s supported by some very handy tools like Unity and Xamarin which are
great for game loment and cross-platform development.

BASIC – A bonus option is to learn BASIC and try the B4A IDE from Anywhere
Software. This is an easy but powerful tool, though definitely much more niche!

Corona/LUA – Another cross-platform tool builds on LUA. It massively simplifies


the app-building process and allows you to call native libraries.

PhoneGap (HTML, CSS, JavaScript) – If you already know how to build interactive
web pages, then you can use this knowledge with PhoneGap to build a more basic
cross-platform app.

And for the Front end, I would always prefer XML.

Page3|8
QNo:2. Discuss the difference between Android Studio and IntelliJ IDEA.

Community Edition

What is Android Studio? Android development environment based on IntelliJ


IDEA. Android Studio is a new Android development environment based on IntelliJ
IDEA. It provides new features and improvements over Eclipse ADT and will be the
official Android IDE once it's ready.

What is IntelliJ IDEA? Capable and Ergonomic IDE for JVM. Out of the box,
IntelliJ IDEA provides a comprehensive feature set including tools and integrations
with the most important modern technologies and frameworks for enterprise and web
development with Java, Scala, Groovy, and other languages.

Android Studio and IntelliJ IDEA can be categorized as "Integrated Development


Environment" tools.

Some of the features offered by Android Studio are:

Flexible Gradle-based build system.

Build variants and multiple APK generations.

Expanded template support for Google Services and various device types.

On the other hand, IntelliJ IDEA provides the following key features:

Smart Code Completion

On-the-fly Code Analysis

Advanced Refactoring’s

"An android studio is a great tool, getting better and bet " is the top reason why over
164 developers like Android Studio, while over 271 developers mention "Fantastically
intelligent" as the leading cause for choosing IntelliJ IDEA.

Lyft, Asana, and Square are some of the popular companies that use IntelliJ IDEA,
whereas Android Studio is used by Lyft, 9GAG, and Asana. IntelliJ IDEA has a
broader approval, being mentioned in 815 company stacks & 1065 developer stacks;
compared to Android Studio, which is listed in 928 company stacks and 690
developer stacks.

Page4|8
Qno:3. What is DDMS? Describe some of its capabilities.

DDMS is short for Dalvik Debug Monitor Server. It ships natively with Android and
contains several useful debugging features including location data spoofing, port-
forwarding, network traffic tracking, incoming call / SMS spoofing, thread and heap
information, screen capture, and the ability to simulate network state, speed, and
latency.

App memory usage statistics (total heap and object allocation statistics)

App thread statistics

Device screen capture

Device file explorer

Incoming call and SMS spoofing

Location data spoofing

Logcat

DDMS acts as a middleman to connect the IDE to the applications running on the
device. Every application runs in its process on Android, each of which hosts its
virtual machine (VM). And each process listens for a debugger on a different port.

When it starts, DDMS connects to ADB and starts a device monitoring service
between the two, which will notify DDMS when a device is connected or
disconnected. When a device is connected, a VM monitoring service is created
between ADB and DDMS, which will notify DDMS when a VM on the device is
started or terminated. Once a VM is running, DDMS retrieves the VM's process ID
(PID), via ADB, and opens a connection to the VM's debugger, through the ADB
daemon (adbd) on the device. DDMS can now talk to the VM using a custom wire
protocol.

Page5|8
Qno:4. Is it possible to create an activity in Android without a user
interface?

Yes, an activity can be created without any user interface. These activities are treated
as abstract activities. First, if you don't have a “launch activity” that provides a UI,
you can still launch an activity with no UI and simply kick off a Service to do the
work. However, this Activity is still kind of overkill, since the main point of an
activity is to provide a UI.

Qno:5. How Do You Manage Resources for Different Screen Sizes?


Support for different screen sizes enables the greatest number of users and the widest
variety of devices to access your app.
To support as many screen sizes as possible, design your app layouts to be responsive
and adaptive. Responsive/adaptive layouts provide an optimized user experience
regardless of screen size, enabling your app to accommodate phones, tablets, foldable
and Chrome OS devices, portrait and landscape orientations, and resizable
configurations such as multi-window mode.

Window size classes categorize the display area available to your app as a
compact, medium, or expanded. Available width and height are classified separately,
so at any point in time, your app has two window size classes—one for width, and one
for height. The available width is usually more important than the available height due

Page6|8
to the ubiquity of vertical scrolling, so the width window size class will likely be more
relevant to your app’s UI.

Figure 1. Representations of width-based window size classes. Figure

2. Representations of height-based window size classes.

As visualized above, the breakpoints allow you to continue thinking about layouts in
terms of devices and configurations. Each size class breakpoint represents a majority
case for typical device scenarios, which can be a helpful frame of reference as you
think about the design of your breakpoint-based layouts.
Page7|8
Size class Breakpoint Device representation

Compact width width < 600dp 99.96% of phones in portrait


Medium width 600dp ≤ width < 840dp 93.73% of tablets in portrait,
Large unfolded inner displays in portra
Expanded width width ≥ 840dp 97.22% of tablets in landscape,
Large unfolded inner displays in landsc
Compact height height < 480dp 99.78% of phones in landscape
Medium height 480dp ≤ height < 900dp 96.56% of tablets in landscape,
97.59% of phones in portrait
Expanded height height ≥ 900dp 94.25% of tablets in portrait

Page8|8

You might also like