Android

About Android

Android logo

Android is an open-source platform for mobile devices that includes an operating system, middleware and key applications (e-mail, browser, media player and the like). It is currently developed by Google.
The operating system kernel is based on a heavily modified version of Linux. Google no longer maintains the code they previously contributed to the Linux kernel: as a consequence, the Android kernel can be considered a fork of Linux.
On top of the kernel, Google has developed a rich set of libraries to handle all the basic needs of modern mobile systems: fonts, 2D and 3D graphics, data storage, communication over the web and over cellular networks, and more.

Android architecture

Developing for Android

The programming language for applications is Java, although the Java bytecode is translated upon compilation into a proprietary binary format that is run into a custom virtual machine called Dalvik or ART in newer versions.

A software development kit (SDK) to develop Java applications for Android can be freely downloaded from Google's site. No registration is required. The Android SDK includes a debugger, a device emulator, documentation, sample code, and tutorials. Currently supported development platforms include Linux, Mac OS X, and Windows Vista or later.
Development in C/C++ is also possible by installing a separate toolset called Android NDK.

The official Integrated Development Environment for Android applications is now Android Studio. By installing Android Studio, the SDK is automatically installed as well.
The previous official IDE, i.e., Eclipse, is still supported via the Android Development Tools (ADT) Plugin.

Misc on Android

Links on the Java Programming Language
The Java language specification: http://java.sun.com/docs/books/jls/index.html. The full book can be downloaded in PDF format.

Links on the Android Platform
2008 Google I/O Session Videos and Slides: Anatomy & Physiology of an Android.
MIT App Inventor: formerly developed by Google, this tool allows you to develop applications visually, without writing any code.
From Ed Burnette's blog: iPhone vs. Android development.
AndroidDevelopers's channel on YouTube: http://www.youtube.com/user/androiddevelopers.
White paper: "The Growth of Android in Embedded Systems". Registration is required for download.

Links to "advanced" developer tools
Debugging: Lint scans Android project sources for potential bugs (requires ADT 16 or later).
Debugging: SetAlwaysFinish is an app that lets you force quit activities, thus allowing you to test whether they correctly process lifecycle events such as onSaveInstanceState and onRestoreInstanceState. The app is not necessary in Android 4.x, where the same action can be easily performed via the "Do not keep activities" developer option.
Android Design Website contains design guidelines and useful resources (font, icons, ...) to develop user interfaces.
UI utils utilities to create icons, stencils and more for user interfaces design.
"Displaying Bitmaps Efficiently" covers some common techniques for processing and loading bitmaps while respecting the severe constraints on memory dictated by the Android platform (Android devices can have as little as 16MB of memory available to a single application).

Links on Archos gen8 Devices
ArchosFans.com support forums: http://forum.archosfans.com/.
ADB Driver: official Archos support, unofficial discussion on ArchosFans.
Tutorial: Installing Google Play. Once Google Play is installed, you can upgrade to the latest version of Google Play Services and add Google applications such as Maps.

Connecting Archos 32/70 to the DEI Wi-Fi Network
Protezione: 802.1x EAP
Metodo EAP: TTLS
Autenticazione fase 2: MSCHAPV2
Certificato CA: (non specificati)
Certificato utente: (non specificati)
Identità: <insert DEI username>
Identità anonima: <leave blank>
Password: <insert DEI password>

Android Ports
Nook Developing: Nook is an Android-based eBook reader distributed by Barnes & Noble.
Video of Ice Cream Sandwich running on Nokia N900 from NITDroid Forum.

.