WHAT IS ANDROID?
‘Android’ specifically refers to a
mobile operating system (based on Linux) that is developed by Google. It
is open-source software, meaning that anyone can download the source code from
the Android Open
Source Project and use or modify it. Hardware manufacturers
like Samsung or LG often take the base Android code and then add their own
proprietary software features to it to run on their own phones or devices.
IS ANDROID JUST FOR PHONES?
Definitely not! Though phones might
be the most popular device running Android, there are many tablets and
other devices available. Some popular tablets, for example, are the Nexus 7 and the Kindle
Fire from Amazon. There are also watches, cameras, game consoles, TVs,
glasses, and cars that run the Android operating
system. Heck, there are even Android appliances!
As for phones, Android users can
pick the device that’s just right for them. Budget-conscious users can often
find cheap Android phones with pay-as-you-go service, or gadget freaks
like myself can opt for large, high-end phones like the latest
Nexus phone from Google or a comically large (but cool) Galaxy Note 4. What’s more, if you don’t like how
the operating system on your phone is configured, you can always overwrite it
with a custom version, like the popular CyanogenMod.
WHAT CAN ANDROID DEVICES DO?
The hardware features will vary
depending on the type of device it’s running on, but the Android operating
system provides support for cameras, GPS location, Bluetooth, Near-Field Communication (NFC),
accelerometers, compasses, gyroscopes, and more! The Android operating system
features software components like live wallpapers and widgets, a powerful
notification tray to help you keep track of important updates, voice typing,
and seamless app integration, which allows users to easily share information
via social networking apps or other forms of communication, like Bluetooth or
NFC.
All About Android Development
As the number one mobile operating
system in the world, Android devices are used by more people than any other
type of mobile device. This gives developers a great opportunity to
develop apps that can potentially be used by hundreds of millions of people.
Getting started with Android development might seem a little overwhelming, but
our mission at Treehouse is to make it approachable and fun.
Take a look at the Build a Simple
Android App project if you want some step-by-step instructions
on how to get started, but read on for more details.
Every major release of Android has
had a food-related code name, and a statue to commemorate each is visible at
Google HQ*.
WHAT LANGUAGES CAN I USE TO WRITE APPS FOR ANDROID?
Android apps are typically written
in a programming language called Java. Java is immensely popular, and as an
object-oriented language, it’s easy to pick up if you’ve worked with other
object-oriented languages like C#, Objective-C, or Ruby. Google also provides
a Native Development
Kit (NDK) that allows developers to write important parts of
their apps with native languages like C or C++. This can be helpful if
you need to reuse existing code or libraries in those languages, or if you want
to try to get as best performance as possible for your app.
There are some tools that allow you
to write apps using web languages like HTML, CSS, and JavaScript. You can
either write apps that run inside something called a WebView, meaning that it’s
a full-fledged web page that runs inside an app instead of a browser, or you
can use tools like PhoneGap or Appcelerator Titanium to write code that
compiles down to native code behind the scenes. There are pros and cons
to taking this approach. In general you will get the best results by using a
native language like Java, but you can certainly make solid apps that can
delight your users with whatever tool you choose. If you really love another
programming language, you can use some 3rd party tools to write apps in that
language, though these will always lag behind the latest features that get
rolled out with each Android update:
- C#: Xamarin
- Ruby: Ruboto or RubyMotion
- Python: Kivy
HOW DO I GET STARTED DEVELOPING APPS FOR ANDROID?
If you follow the recommended
approach and want to write an app using Java, then the easiest way to get
started is to grab one of the Android development bundles provided
by Treehouse. In the first stage of Build an Simple
Android App I’ll show you how to setup an Android
development environment using Android Studio for Windows, a Mac, or Linux. From there you’ll learn the basics of Java
and Android programming by building a simple app that displays a random fun
fact each time you tap on a button.
The Android Developer site also has extensive
documentation about how to get started, how to design an app
for Android, and details about all the Application Programming
Interfaces (APIs) available. The Android development tools are
available for Windows, OSX, and Linux, so you don’t need to buy any additional
hardware to develop Android apps. It’s not completely straightforward to set up
your computer for Android development, but it’s not terribly difficult, either.
The basic steps are:
- Install Java on your computer (though it may very well already be installed).
- Install Android Studio.
- Download the at least one version of the Android SDK and an image to use for an emulator using the SDK Manager inside Android Studio.
HOW MUCH DOES IT COST TO DEVELOP APPS FOR ANDROID?
It’s totally free to start
developing apps for Android! The Android SDK includes an emulator that
acts as a real Android device right on your computer, so you don’t even need a
phone or tablet. All the tools listed above are free, so all you really
need is a computer, an internet connection, and some time and dedication. If
you fully develop an app and eventually want to publish it on Google Play, then
you will need to pay a one-time registration fee of $25.
What’s the difference between Kit Kat, Android
L, SDK 4.4, and API 19?
Ah, Android versioning is a strange and wonderful place. Each release of Android is a new version with a new set of code names and numbers that correspond to it. It can be very confusing at first!
Code name
|
OS Version
|
API Level
|
Ice
Cream Sandwich
|
4.0
|
14
|
Jelly
Bean
|
4.1
|
16
|
Jelly
Bean
|
4.2
|
17
|
Jelly
Bean
|
4.3
|
18
|
Kit
Kat
|
4.4
|
19
|
Android
L
|
?
|
?
|
At the time of this writing, the
latest stable version of Android is 4.4. This is the version number of the
operating system, but it’s often referred to by its code name, “Kit
Kat.” Each code corresponds to a version number, although sometimes it
might span multiple version numbers. For example, “Jelly Bean” was for
Android 4.1, 4.2, and 4.3. Wikipedia has a great
page that maps them all out.
As developers, each new version of the operating system includes an updated version of the API that we use to develop our apps. Each point release like 4.4 increments the version number of the API. Kit Kat 4.4 has API level 19, Jelly Bean 4.3 has API level 18, and so on.
Android L is the upcoming release of
the operating system, but it is currently in a public beta stage, so we don’t
know any of the exact code names or numbers. It should be released
shortly, at which time we will learn the new name, version number, and API
level.
What about Material Design? What is it?
If you have been reading about
Android, you may have come across the term “Material Design,” which is the new
design language and aesthetic to be used in the next version of Android and
other Google products. It has been generally well received and the apps
previewed with Material Design look fantastic. There is some extensive documentation
about it, and it’s worth looking at if you are going to design or develop
Android apps. You may not be concerned with all the little details, but having
an overview of the design principles will help you create engaging apps. (I
particularly enjoyed the animated gifs used in the Animation section.)
How do I develop for all those different devices?
The core concepts of Android
development are the same for phones, tablets, watches, and TVs. You can use
Android Studio for everything, and you can often use most of your code for
different types of devices. Sometimes you may need to modify your user
interface, but you don’t need to create a new app for each device you want to
target.
My Recommendations
There are many ways to develop
apps for Android, but in my experience it is worth following Google’s
recommendations. One of the biggest benefits I haven’t mentioned yet is
the ever-expanding community of Android developers, the bulk of which are using
Java and Android to write their apps. If you get stuck, resources like Treehouse and StackOverflow are available with large user communities
for support, and in true open-source fashion, there are a number of incredibly useful libraries and tools available
to use in your development.
If you are turned off by Java as a
programming language, just know that Java for Android is much different than
the Java of yore for big, complex, enterprise systems or even programming
classes you may have taken in school. Having written apps for Android, iOS, and
the web, it is not the language that matters as much as the tools and resources
for it. Don’t let the language get in the way, and learning another language
will only help you become a better programmer.
Start with some nice tutorials (like what we offer at Treehouse) that walk you through some basics and don’t worry about remembering or even comprehending every detail. Just try to absorb what you can from the experience so that you can start to put all the pieces together when you start to work on your own projects. Then pick a simple project that covers some of the things you think you are interested in and will need to use a lot.
After going through some of the tutorials on the Android developer site when I first started, I then wrote a very simple app to input a search term with a text box (EditText), query Google, and then parse the results to display them in a list on a separate page (Activity).
For me this helped me understand the overall app architecture, how to record data from the user, how to send data over the web and retrieve results, how to parse results into meaningful data structures, and how to navigate from one screen to the next with shared data components.
What’s next?
The first Android device, the HTC Dream, was released in October 2008. Android
matured quickly and rose to become the most popular platform for
smartphones, and now the ecosystem is growing rapidly with new types of devices
and uses. It’s exciting to think about what the future holds for Android
devices and developers
Great post, you have pointed out some excellent points, I as well believe this is a very superb website. pwc blockchain jobs
ReplyDeleteThank you so much for the post you do. I like your post and all you share with us is up to date and quite informative, i would like to bookmark the page so i can come here again to read you, as you have done a wonderful job. Bakery In Georgia
ReplyDeleteCool..Thanks
DeleteI read that Post and got it fine and informative. blackmart apk mirror _ APKForAll.Com
ReplyDeleteWow! Such an amazing and helpful post this is. I really really love it. It's so good and so awesome. I am just amazed. I hope that you continue to do your work like this in the future also Mini militia mod latest version
ReplyDeleteI wanted to thank you for this excellent read!! I definitely loved every little bit of it. I have you bookmarked your site to check out the new stuff you post. app store
ReplyDeleteIt is an excellent blog, I have ever seen. I found all the material on this blog utmost unique and well written. And, I have decided to visit it again and again. tutorial como baixar Appvn apk para seu celular
ReplyDeleteGreat post, you have pointed out some excellent points, I as well believe this is a very superb website. encontre aplicativos incríveis na HappyMod
ReplyDeleteAs a versatile mobile operating system based on the Linux kernel, Google Android development has been going places since it was first introduced in 2008. It has been primarily designed for touch-screen mobile devices such as smart phones and tablets and is being increasingly used for other high-end Android applications such as televisions, cars, games consoles, digital cameras, watches, and other electronic equipments. For this reason, custom Android application development services have gained high prominence around the world. Apk Door
ReplyDeleteSoftware is a collection of instructions that enable the user to interact with a computer, its hardware, or perform tasks. Without software, computers would be useless. download HyFy pc version
ReplyDeleteSelecting the best Android tablet can be a difficult task. There are a lot of tablets which are now available to us and one can easily get confused with which one to buy. Here is a detailed article which will help you in selecting the best tablet according to your needs. spyfone
ReplyDeleteDid you know that a significantly percentage of today's modern people actually suffers from a condition called fear of technology. Strange as it may sound, in America, arguably the most advanced country of the world, 55% of the population actually fears to take advantage of technology in their everyday lives. mobile tracker
ReplyDeleteGoogle and other mobile software manufacturers have developed a vast collection of paid and free Android apps. There are some of the best Android apps you can get for your smartphones: 1.Google Docs: its allows you to synchronize your phone with documents you have in your Google account. Therefore you can freely access and edit your documents from your smartphone. 2. ezPDF Reader: this app is basically the same as the Adobe PDF Reader app, ezPDF Reader is probably better for beginner user since it is more user-friendly. Excellent Website and free apps
ReplyDeleteRunning a small business is as challenging as trekking to Mt. Everest without having oxygen cylinder, prior practice, and a valid map guide. The challenges are only because there are no authentic rules that can lead a small business towards success while other major obstacles comprise: low budget, limited manpower, and lack of efficient resources. patent pending technology
ReplyDeleteMost people get their vehicles insured but forget some important points while selecting the policy. There could be even more problems by getting the policy that does not suit you. So here are some points to be kept in mind before getting your auto mobile insurance. You can search for the list of auto insurance company to get different information. Mobile device monitoring Service
ReplyDeleteIf you have never shopped online, you have missed out on one of the most convenient, and often affordable, ways to purchase items, whether for yourself or as gifts for someone else. There are many benefits to shopping online, including these: Convenience - The most important benefit of online shopping is the convenience. When you shop online, you do not have to leave your home. igloo insulated fanny pack
ReplyDelete