"hello world"
article in Tech programming

Android Programming

#androiddesign #androiddev #androiddevelopment #android #ui #ux

Google on Android - Android — Google Developers - Google's C++/Java/Linux based mobile/embedded OS platform.
Google Developers Blog
Android SDK | Android Developers
What is Android? - Android
Integrates the browser into the whole mobile experience.
Data/Actions are referenced/routed using URLs.
Tiny machine with Service Oriented Arch. URIs provide the access to data across the process boundary.
Uses XMPP for messaging!
Doesn't have virtual memory on these small devices.
Processes are switched in and out of execution state.
UI is single threaded and all interaction is done through messaging.
Content URI gives you back a cursor to the process which you can iterate through.
Dalvik virtual machine - Unlike Java VMs, which are stack machines, the Dalvik VM uses a register-based architecture.
Uses Linux's protected memory and security, security not within Java but within Linux subsystem.
Runs as a different user for each application.
Componentized application model - sep. processes manage your data.
Broadcast Intents to IntentRecievers
Eclipse plugin for android development.
Resources are defined in XML and compiled into binaries which are exposed as data structures to Java on device.
Stefanoâ??s Linotype » Blog Archive » Dalvik: how Google routed around Sunâ??s IP-based licensing restrictions on Java ME
Grokking Android | Grokking Android - Getting Down to the Nitty Gritty of Android Development
Android UI Patterns
Styling Android
learnNcode | Happy Coding Happy Learning :) android application engineer blog with random android code for you.

my other pages with droid related content

HP touchpad - WebOS - Dave Horner's Website - yes only because I loaded CyanogenMod on it.
Amazon Elastic Compute Cloud (EC2) - Dave Horner's Website - haven't broken it out yet, but Amazon Fire devices.
Samsung Galaxy - Dave Horner's Website - S3, S4, S5 notes

droid communities

anddev.org • android development forums
Android Forums at AndroidCentral.com

Cool android apps

DriveDroid - Android Apps on Google Play - DriveDroid allows you to boot your PC from ISO/IMG files stored on your phone.
androidscreencast - Desktop app to control an android device remotely - Google Project Hosting
inmite/android-grid-wichterle - show grid overlay over whole system which helps you to verify your excellent app design.
tunitowen/DevDrawer - Dev Drawer Android App, find your apps by your package names.
PageTurner Reader | Freedom to read - open source e-reader for Android with cloud-sync. Read any time, on any device. NightWhistler/PageTurner
MQTTitude: a decentralized 'Latitude' with 'MQTT inside' - binarybucks/mqttitude MQTTitude is an app (well, two apps actually -- one for Android, and another for iOS), which allow a device to periodically publish its location status to an MQTT broker. If you've previously used Google Latitude, you can think of this as a a decentralized Google Latitude.
jameselsey/DriveSafe - incoming SMS messages will be spoken out via text-to-speech
Coding Android TV games is easy as pie | Android Developers Blog - C++ android with cmake,python,sdl,google game services

misc. android software libraries

gabrielemariotti/cardslib - Card Library provides an easy way to display a UI Card in your Android app. You can display single cards, list of cards and a grid of Cards.
gabrielemariotti/changeloglib - ChangeLog Library provides an easy way to display a change log in your Android app.
gabrielemariotti/colorpickercollection - Color Picker from Stock Calendar, Color Picker from Dashclock
ManuelPeinado/MultiChoiceAdapter - MultiChoiceAdapter is an implementation of ListAdapter which adds support for modal multiple choice selection as in the native Gmail app.
ManuelPeinado/ActionBar-PullToRefresh - A modern implementation of the pull-to-refresh interaction for #android
novoda/merlin - Merlin aims to simplify network monitoring by providing 3 registerable callbacks. onConnect() , onDisconnect() and onBind(NetworkStatus networkStatus).
castorflex/PagerSlidingTabStrip - Interactive paging indicator widget, compatible with the ViewPager from the Android Support Library.
castorflex/StaggeredGridView maurycyw/StaggeredGridViewDemo - A modified version of Android's experimental StaggeredGridView. Includes own OnItemClickListener and OnItemLongClickListener, selector, and fixed position restore.
castorflex/FlipImageView - Small android lib allowing you to make a flip imageview easily, by extending FlipImageView.
SimonVT/fragmentstack - Helps manage a stack of fragments in a single container.
jgilfelt/SystemBarTint - Apply background tinting to the Android system UI when using KitKat translucent modes
wmbest2/FramedImageView - A Framed image view with optional shape rendering.
wmbest2/SwipeableLayout - A swipeable - auto resizing view group for android
m3n0R/EasyFacebookConnect - EasyFacebookConnect is an Android library which makes life easier for the developer who wants to user Facebook SDK 3.0.1. You won't need to spend a few hours learning Facebook SDK for trying to implement login and other features.
zenlibs/HistoryEditText - Android EditText that auto-saves previous values and displays them in a dropdown when used again.
nhaarman/supertooltips - SuperToolTips is an Open Source Android library that allows developers to easily create Tool Tips for views, from API 8 and on.
saik0/UnifiedPreference - A convenience library for working with all versions of the Android Preference package from API v4 and up
AndroidAnnotations excilys/androidannotations
Butter Knife - View "injection" library for Android
square (Square) on github Square Open Source - The Corner
square/flow - A small library that helps with describing an app as a collection of moderately independent screens.
pyricau/shipfaster - Sample project demonstrating usage of Dagger + Otto + Robolectric + Retrofit + Picasso + OkHttp Inspired from Square's Android codebase.
Dagger - A fast dependency injector for Android and Java

Thoughts on android design

mattkranzler5/android-design-examples · GitHub - contains nice pdf presentation on design, can't get to it without cloning repo, github reports blob too big!
Android Asset Studio - get your icon,device frame, and other goodness.
Making Beautiful Android App Icons | Android Developers Blog - icon guidance
eluleci/FlatUI - FlatUI is a library that lets you use native android widgets with a better and customized look.

Error about JNI not loading on x64

Install a 64bit JRE, and while you're at it, maybe the JDK. You are reading a page with an <h1> containing 'programming' aren't you?
eclipse - Failed to load the JNI shared Library (JDK) - Stack Overflow

Web Toolkit (GWT)

Google web toolkit - compiles java into javascript which runs on web browser.
Google Web Toolkit Downloads - Google Web Toolkit - Google Code

OpenCV on Android || Vision on Android

OpenCV4Android SDK — OpenCV documentation
Introduction into Android Development — OpenCV documentation
Introduction into Android Development — OpenCV documentation
Physical Face Following with OpenCV on Android | Robotics / Electronics / Physical Computing
munnadroid/AndroidBackgroundVideoRecording · GitHub

Cocos2d-x - cross-platform c++ game library

Cocos2d-x | Cross Platform Open Source 2D Game Engine cocos2d/cocos2d-x · GitHub - cocos2d for iOS, Android, Win32 and OS X. Built using C++
Cocos2d-x wiki
Cocos2d-X Meta-Project Setup Tutorial for iOS, Android, Mac & Windows

libgdx - cross-platform java game library

libgdx libgdx/libgdx - Libgdx is a cross-platform Java game development framework based on OpenGL (ES) that works on Windows, Linux, Mac OS X, Android, your WebGL enabled browser and iOS. Home · libgdx/libgdx Wiki
How to: make an Android Game (using libgdx)! Part 1 | CaseyRichard.com
moribitotech/MTX - Compact Mtx Framework over LibGDX Game Library by MoribitoTechX
libgdx-texturepacker-gui - GUI for the libgdx TexturePacker class - Google Project Hosting
Physics Body Editor | Aurelien Ribon's Dev Blog
box2d-editor - Visual application to easily create collision complex polygons for in-game collision test - Google Project Hosting


AndEngine - Android Game Engine from Nicolas Gramlich
nicolasgramlich/AndEngine - Free Android 2D OpenGL Game Engine

donnfelker/android-bootstrap · GitHub - A template/bootstrap/boilerplate application that includes tons of great open source tools and frameworks.
playgameservices/android-samples · GitHub - Android samples for Google Play game services.
dozingcat/Vector-Pinball · GitHub
bmeike/ProgrammingAndroid2Examples · GitHub - example code for O'Reilly's "Programming Android"
glastonbridge/SuperCollider-Android · GitHub - An Android port of SuperCollider
pelya/commandergenius · GitHub - Port of SDL library and several games to the Android OS.
keyboardsurfer/Crouton - Context sensitive notifications for Android
gothfox/Tiny-Tiny-RSS-for-Honeycomb · GitHub - Tiny Tiny RSS client for Android devices, the actual code for the android app.
These three libraries should be checked out one directory above the source.
ViewPagerIndicator JakeWharton/Android-ViewPagerIndicator - Paging indicator widgets compatible with the ViewPager from the Android Support Library and ActionBarSherlock. Originally based on Patrik Åkerfeldt's ViewFlow.

Menus on android || menuing systems for android

jfeinstein10/SlidingMenu - An Android library that allows you to easily create applications with slide-in menus.
MenuDrawer - A slide-out menu implementation, which allows users to navigate between views in your app. SimonVT/android-menudrawer
levelup/Android-HttpClient - OkHttp - HTTP & SPDY client for Android and Java applications

Data access on android

DataDroid foxykeep/DataDroid - An Android Library for data management (REST)
greenrobot/greenDAO - greenDAO is a light & fast ORM solution for Android that maps objects to SQLite databases. Being highly optimized for Android, greenDAO offers great performance and consumes minimal memory.

ActionBarSherlock and Action Bar

ActionBarSherlock - Home JakeWharton/ActionBarSherlock - ActionBarSherlock is an extension of the support library designed to facilitate the use of the action bar design pattern across all versions of Android with a single API. native action bar on Android 4.0+ and a custom implementation on pre-4.0 through a single API and theme.
ActionBarSherlock vs ActionBarCompat | ONGOING DEV
Action Bar | Android Developers
ManuelPeinado/FadingActionBar - FadingActionBar is a library which implements the cool fading action bar effect that can be seen in the new Play Music app.
Pushing the ActionBar to the next level - Cyril Mottier
Adding ActionViews to Your ActionBar | Grokking Android

actionbarsherlock and org.fox.ttrss

Using eclipse, File->New->Project->Android->Android Project From Existing Code, browse to the folder containing all the code. select actionbarsherlock,org.fox.ttrss, library (renamed to SlidingMenuLibrary by pressing F2), and library (renamed to ViewPageIndicatorLibrary using F2). This will get the code into eclipse. I had to do a little fiddling with the android-support-v4.jar that came with each of the projects, I simply removed the offending jars from the projects and pasted the jar that came with org.fox.ttrss. This provided me with a working build.

Android Versions

Android version history - Wikipedia
Cupcake,Donut,Eclair,Froyo,Gingerbread,Honeycomb,Ice Cream Sandwich,Jelly Bean,KitKat
android Git repositories - Git at Google
github.com - android - it's all there even the android/platform_packages_apps_calculator

Intel's Hardware Accelerated Execution Manager (Intel HAXM)

Speeding Up the Android* Emulator on Intel® Architecture | Intel® Developer Zone

Android Debug Bridge adb

an indispensable tool for android development, control your emulator or device from the command line.
Android Debug Bridge | Android Developers - You can find the adb tool in <sdk>/platform-tools/.

Each device has a different way to turn on "Developer Options" and "USB debugging" which are required to be enabled on the device before using adb. Some devices don't make it apparent on how to get to the developer options. For instance to enable adb debugging with my samsung galaxy s4, you have to go to "Settings"->"About"->tap the build number entry seven times->"Back"->"Developer Options" now appears. Oh the hoops and ladders.
Eclipse Android SDK cannot see new Samsung Galaxy S4 device via a USB connection - Stack Overflow

How To Install and Use ADB, the Android Debug Bridge Utility
How To Create a Full Android Phone or Tablet Backup Without Rooting or Unlocking Your Device - adb devices,adb backup -apk -shared -all -f path,adb restore path
How to Install Android Apps to the SD Card by Default & Move Almost Any App to the SD Card - "adb shell pm setInstallLocation 2",revert using "adb shell pm setInstallLocation 0", 0 represents your device’s internal storage, and is the default. 2 represents the external storage, whether it’s an SD card or USB storage.
Android uninstall through adb shell command - Stack Overflow - "adb shell am start -a android.intent.action.DELETE -d package:"
android - ADB Shell when Multiple Devices - Stack Overflow - adb -s shell
How to Use ADB to Control Keypress events on Android
ADB over WiFi - Gadget Habit - adb tcpip 5555(free to unplug) adb connect <device IP>

mttkay/replicant - a repl for adb - ruby and bash/zsh requirements, provides interactive adb, command history, etc.

Systrace | Android Developers
Introduction to the Monkey Runner tool - An Android Dev Blog
monkeyrunner | Android Developers - monkeyrunner tool provides an API for writing programs that control an Android device or emulator from outside of Android code. With monkeyrunner, you can write a Python program that installs an Android application or test package, runs it, sends keystrokes to it, takes screenshots of its user interface, and stores screenshots on the workstation.

Android Studio start apk on usb device

Create Run Configuration... in that General Tab select Target Device, USB Device.
Android Studio doesn't start with connected device - Stack Overflow

Android NDK || Native Development Kit for Android

Android NDK | Android Developers
CrystaX .NET - Android NDK - improved Android NDK (Native Development Kit).
vs-android - Integrated development of Android NDK C/C++ software under Visual Studio - Google Project Hosting

"android update project -p . -s" no target set

The NDK docs tell you to just use "android update project -p . -s" to generate a build.xml file. But you'll find that you get a no target set error when running android.bat.
android - Updating HelloJni example - Stack Overflow - use android list, and use --target android-??, or whatever you've got installed that meets min reqs.

Android reverse engineering

jj crackers | round & round
android-apktool - A tool for reverse engineering Android apk files - Google Project Hosting

android crypto

Using Cryptography to Store Credentials Safely | Android Developers Blog
Code signing in Android's security model | Android Explorations

voice recognition || speech to text on android

Android 4.0 has voice typing. integrate Google voice typing into third party IMEs.
Add Voice Typing To Your IME | Android Developers Blog
google-voice-typing-integration - How to integrate Google voice typing in third-party IMEs - Google Project Hosting


Ant, Maven, gradle.
Gradle - Build Automation Evolved
Gradle User Guide

JakeWharton/sdk-manager-plugin - Gradle plugin will manage SDK dependencies for you automatically.

maven-android-plugin - (renamed to android-maven-plugin) Easy to use Maven plugin for Android™! - Google Project Hosting jayway/maven-android-plugin
mosabua/maven-android-sdk-deployer - A tool to install components of the Android SDK to use with the Maven Android Plugin.

Android Sample Apps

castorflex/ChuckNorrisFacts - Simple Android app which display chuck norris facts.
iosched - Google I/O App for Android - Google Project Hosting - Google I/O App for Android

Android App Stores

F-Droid - F-Droid is an installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform.
Google Play
Amazon Appstore: Getting Started - Amazon Elastic Compute Cloud (EC2) has other content from me about the FireOS and other Amazon things.

Ruby on Android

Ruboto - Ruboto is a framework and tool chain to develop native Android apps, using the Ruby. Ruboto CLI,Ruboto-Core,Ruboto-IRB - useful apps. using JRuby
Quick Start guide to creating Android apps with Ruboto under Windows
Ruboto: Ruby on Android - article from ibm.

Android Bluetooth

akexorcist/Android-BluetoothSPPLibrary - Bluetooth Serial Port Profile which comfortable to developer application to communication with microcontroller via bluetooth

Mac android development

it happened to me when trying to run the eclipse that comes bundled in the ADT bundle for mac.
Open an app from an unidentified developer - right click and open the app, it will provide a dialog to override and actually run the app you downloaded. double clicking does not provide the same dialogs.

perl android

Perl 5.20.0+ on android!!
How to build Perl on Android 4.4
Created: 2013-02-17 02:33:09 Modified: 2014-12-09 02:09:13
/root sections/
>peach custard pie
>random tech

moon and stars

My brain

Visible Dave Project

L:0 I:0 A:0