Tuesday, 24 November 2015

android basic notes




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 watchescamerasgame consolesTVs, 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:
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 startedhow 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:
  1. Install Java on your computer (though it may very well already be installed).
  2. Install Android Studio.
  3. 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
🔄

16 comments:

  1. Great post, you have pointed out some excellent points, I as well believe this is a very superb website. pwc blockchain jobs

    ReplyDelete
  2. Thank 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

    ReplyDelete
  3. I read that Post and got it fine and informative. blackmart apk mirror _ APKForAll.Com

    ReplyDelete
  4. Wow! 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

    ReplyDelete
  5. I 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

    ReplyDelete
  6. It 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

    ReplyDelete
  7. Great post, you have pointed out some excellent points, I as well believe this is a very superb website. encontre aplicativos incríveis na HappyMod

    ReplyDelete
  8. As 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

    ReplyDelete
  9. Software 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

    ReplyDelete
  10. Selecting 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

    ReplyDelete
  11. Did 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

    ReplyDelete
  12. Google 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

    ReplyDelete
  13. Running 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

    ReplyDelete
  14. Most 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

    ReplyDelete
  15. If 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