« Episode 2 - Feed Me! | Main | Pilot Episode - Painting the Roses Red »
Tuesday
Feb222011

Episode 1 - >You Are Here<

Android is a software stack for mobile devices that includes an operating system, middleware and key applications. The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.

  • Application framework: enabling reuse and replacement of components

  • Dalvik virtual machine: optimized for mobile devices

  • Integrated browser: based on the open source WebKit engine

  • Optimized graphics: powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)

  • SQLite: for structured data storage

  • Media support: for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

  • GSM Telephony: (hardware dependent)

  • Bluetooth, EDGE, 3G, and WiFi: (hardware dependent)

  • Camera, GPS, compass, and accelerometer: (hardware dependent)

  • Rich development environment: including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE




Definitions to KNOW!

  • Activity - An activity presents a visual user interface for one focused endeavor the user can undertake.

  • Service - A service doesn't have a visual user interface, but rather runs in the background for an indefinite period of time.

  • Broadcast Receiver - A broadcast receiver is a component that does nothing but receive and react to broadcast announcements.

  • Intent - An intent is an Intent object that holds the content of the message, a set of instructions.

  • Android Manifest - Before Android can start an application component, it must learn that the component exists. Therefore, applications declare their components in a manifest file

  • Thread - Threads allow you to complete operations in the background so that the user interface does not lock up while those tasks are being completed.

  • Method - A block of statements that can be executed from some other place in your code, also known as a function in other programming languages.



Activity Lifecycle
http://developer.android.com/images/activity_lifecycle.png

  • onCreate()

  • onStart()

  • onRestart()

  • onResume()[

  • onPause()

  • onStop()

  • onDestroy()



How things work on Android

  1. Home Button presses pause your application and retain its state for a period of time

  2. Back Button presses exit and destroy the activity that the user is currently viewing

  3. Going to another app (ie. multi-tasking) pauses your application and retains its state for a period of time


    Setting up for efficient Android Development:

  1. Start by downloading the SDK Installer: http://dl.google.com/android/installer_r09-windows.exe

  2. The installer will install the SDK on your computer and detect whether or not you have the JAVA SE Development Kit installed. If you do not then you can download it from https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u24-oth-JPR@CDS-CDS_Developer

  3. After the installer completes it will launch the SDK and AVD Manager. Install the recommended components that it displays. This will take a little while.

  4. Download the Eclipse IDE (It’s not the only option but it is the easiest as Google has developed a plug-in for it) http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliossr1

  5. Installing the ADT Plugin for Eclipse:

  1. Start Eclipse, then select Help > Install New Software....

  2. Click Add, in the top-right corner.

  3. In the Add Repository dialog that appears, enter "ADT Plugin" for the Name and the following URL for the Location:

  4. https://dl-ssl.google.com/android/eclipse/

  5. Note: If you have trouble acquiring the plugin, try using "http" in the Location URL, instead of "https" (https is preferred for security reasons).

  6. Click OK.

  7. In the Available Software dialog, select the checkbox next to Developer Tools and click Next.

  8. In the next window, you'll see a list of the tools to be downloaded. Click Next.

  9. Read and accept the license agreements, then click Finish.

  10. When the installation completes, restart Eclipse.

  1. Configure the plugin

  1. Select Window > Preferences... to open the Preferences panel (Mac OS X: Eclipse > Preferences).

  2. Select Android from the left panel.

  3. For the SDK Location in the main panel, click Browse... and locate your downloaded SDK directory.

  4. Click Apply, then OK.




Set up a project

  1. After Eclipse starts and you select your workspace, if a splash screen appears, click “Go To Workbench”

  2. Click File>New>Other then under the Android folder select Android Project

  3. Add a project name (note: this is not necessarily the name of your app)

  4. Select a Build target. The higher the target the more API’s available to you. The lower the target the more devices you will be able to support. Refer to http://developer.android.com/resources/dashboard/platform-versions.html for help with this decision.

  5. Fill in an application name. Fill in a package name, make this a unique namespace as it needs to be different from all other applications both on a users device and on the Android Market. Mobicartel example: “ca.mobicartel.{appname}”

  6. Fill in a name for your first Activity (note: Activity names must start with a capital)

  7. Select a min SDK version. Selecting a lower min SDK than your build target allows for more device support but can cause problems if you use API’s unavailable for lower SDK version.

  8. Click Finish.


Layouts and Views

  1. View - the basic units of user interface, the base class for widgets(eg, buttons, lists, galleries, textboxes, etc.)

  2. Layout - A container that holds Views



Photoshop CS5 & other generic graphics software

  • Setting up your design templates

Open up Photoshop -
Create new document - 480X800 - 240dpi for HDPI devices
320X480 - 160dpi for MDPI devices

  • Explaining differences in resolution & densities
    Smartphones - 3.5” - 4.5” devices - medium & high densities
    Tablets - 5” (Dell Streak) - 7” Samsung Tab - 10” Motorola Xoom
    Tablets resolution - 1024X600 & 1280X800

Design your assets with clean lines & edges - minimal glows & drop shadows
Use Masks to be able to redefine alpha channels & touch up assets without affecting the rest of the layer
Optimize the output - PNG file format - 24bit

  • Build your layouts - decide main areas of the app - content & such

Make some wireframes of the main app screens (about, info, contact)
Test your dimensions in the emulator or output to your testing device

  • Navigation is key - explain different types - tabs, buttons, swipes

Design overall look of the navigation - colors - clear text - shape
Make all the mouseovers for navigation tabs - contrasting colors
Context menus can be your friend to add additional content

  • Designing Assets for the Market - screenshots - promo - icons - video

Grab screenshots from your device - DDMS or ShootMe to post as screenies
320 x 480, 480 x 800, or 480 x 854
24 bit PNG or JPEG (no alpha)
Full bleed, no border in art

Promo graphic - 180w x 120h
24 bit PNG or JPEG (no alpha)

High Resolution Application Icon:
512w x 512h
32 bit PNG or JPEG

Promotional Video: Enter YouTube URL



Reader Comments (2)

duray-it's gonna be OK,just have a lil faith or take a leap of faith.SOURCE CODE This is a great movie.If you like Please click here for recipe detail--OKey glasses for cheap

September 20, 2011 | Unregistered Commenterzoro1

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Post:
 
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>