ADF based Android Apps

ADF based Android Apps

Download JDeveloper

lets start with downloading the latest JDeveloper 11gR2 from here , this downloads jdevstudio11123install.jar file that is around 1.9 GB, install the jdeveloper (I am using Fedora 17 OS)

Download Android SDK from here , I am downloading 64bit linux SDK adt-bundle-linux-x86_64.zip around 410 MB file. unzip this file to some location,

Install and Configure JDeveloper

java -jar jdevstudio11123install.jar

Start the Jdeveloper /home/james/Oracle/Middleware11gR2/jdeveloper/jdev/bin/jdev

this seems to be pretty faster than all the previous versions thats my first impression.

once JDev is started , check for Updates and select all options and search for ADF Mobile , Select and Install this

Restart the JDev

go to tools -> Extensions -> Load Extensions , go back to ADF Mobile link , Select Android Extra large ,

Go to Platforms , Specify Android SDK location.

in my system SDK location is

/home/james/Oracle/adt-bundle-linux/sdk

and Platform Location is

/home/james/Oracle/adt-bundle-linux/sdk/platforms/android-15

Check Android Installation

Lauch android and check for Updates,

[james@james tools]$ pwd
/home/james/Oracle/adt-bundle-linux/sdk/tools
[james@james tools]$ ./android

I have installed Android 4.2 API 17 and Android 4.0.3 API 15,

Create and test AVDs

from the Android SDK Manager , go to Tools, Manage AVDs, Add a NEW AVD

Ensure that these settings match

Target Android 4.0.3 API Level 15 , under CPU select ARM v7 , DS Card 500 MB

Select this AVD and Start , Set Screen Size as 8.4

So far seems to be all good , now lets shift our focus to JDeveloper and try to create and deploy a Simple Hello World Android App.

ADF based Hello World Android App

Create a new ADF mobile project, follow these screens

Adding Feature and Content

lets create a simple html with some image and some text, under view controller create html file

give suitable filename

Edit HTML content, use can copy an image into public folder and use that image as well

click on the + sign to add a Feature , we will name it as JamesFeature

go to Content Tab under JamesFeature

click on + Sign , add the newly created HTML , that is hellojames.html

Deploy the Application, Create APK , test on Emulator

This is most important , now we need to take our project to test and real use and distribute to friends 🙂

from the Application Menu, Create New Deployment Profile, as shown in the figs, create new deployment profile jamessmithDeploymentProfile by selecting ADF Mobile for Android

verify the Android Options

Now once again go back to Application Menu and Select the newly created deployment profile

try Deploying on Device , you might get the error , i was not really able to resolve this myself

[08:41:54 PM] Deployment cancelled.
[08:41:54 PM] —-  Deployment incomplete  —-.
[08:41:54 PM] Failed to detect a connected Android device.  Make sure the device is connected.  Otherwise, manually restart the ADB server.  The following results were provided by ADB:
List of devices    attached
emulator-5554    device
(oracle.adfmf.framework.dt.deploy.android.deployers.CheckAttachedDevicesDeployer)

Anyway now , Deploy it to Emulator

this should give the successfully deployment message

[08:42:57 PM] Updating Android profile dependencies with FAR profiles created from application projects…
[08:42:57 PM] —-  Deployment started.  —-
[08:42:57 PM] Target platform is  (Android).
[08:42:57 PM] Beginning deployment of ADF Mobile application “JamesHelloWorldApp” to Android using profile “jamessmithDeploymentProfile”.
[08:42:57 PM] Checking state of Android Debug Bridge server…
[08:42:57 PM] Android Debug Bridge server already running.
[08:43:00 PM] Verifying a single Android emulator is online and connected to the ADB server…
[08:43:00 PM] Beginning deployment of ADF Mobile application “JamesHelloWorldApp” to Android using profile “jamessmithDeploymentProfile”.
[08:43:00 PM] Running dependency analysis…
[08:43:00 PM] Building…
[08:43:01 PM] Deploying 3 profiles…
[08:43:01 PM] Wrote Archive Module to /home/madhurao/jdeveloper/mywork/JamesHelloWorldApp/ApplicationController/deploy/ApplicationController.jar
[08:43:01 PM] WARNING: No Resource Catalog enabled ADF components found to package
[08:43:02 PM] Wrote Archive Module to /home/madhurao/jdeveloper/mywork/JamesHelloWorldApp/ViewController/deploy/ViewController.jar
[08:43:02 PM] Starting to prepare the packaging…
[08:43:02 PM] Verifying Application Controller project exists…
[08:43:02 PM] Verifying application dependencies…
[08:43:02 PM] Validating application XML files…
[08:43:02 PM] Validating XML files in project ApplicationController…
[08:43:02 PM] Validating XML files in project ViewController…
[08:43:02 PM] Copying FARs to the ADF Mobile Framework application…
[08:43:02 PM] Copying FAR from source: ViewController…
[08:43:02 PM] Copying FAR from source: ApplicationController…
[08:43:02 PM] Copying Android template…
[08:43:12 PM] Copying framework resource files…
[08:43:12 PM] Copying framework java resource files…
[08:43:16 PM] Copying common javascript files…
[08:43:17 PM] Deploying skinning files…
[08:43:17 PM] Copying application image files…
[08:43:17 PM] Copying ADF Mobile configuration files…
[08:43:17 PM] Copying .adf files…
[08:43:17 PM] Copying security related files to the ADF Mobile Framework application…
[08:43:17 PM] Creating Android preferences XML files…
[08:43:17 PM] Creating AndroidManifest.xml file…
[08:43:17 PM] Creating unsigned Android application file…
[08:43:31 PM] Compiling Android Resource Identifier file…
[08:43:32 PM] Creating Android classes.dex file from class files…
[08:43:42 PM] Updating unsigned Android application file with DEX file and .adf content…
[08:43:46 PM] Creating debug key store…
[08:43:47 PM] Signing application…
[08:43:52 PM] Deploying ADF Mobile Framework application to Android emulator (this may take a few minutes)…
[08:44:21 PM] ADF Mobile Framework application successfully deployed to Android emulator.
[08:44:21 PM] Elapsed time for deployment:  1 minute, 24 seconds
[08:44:21 PM] —-  Deployment finished.  —-

Test on Emulator

Now you can see our newly deployed Android Mobile Application inside the Emulator

the launcher was acting a little crazy stopping everytime before i could click on the App, but never mind our APK is created, thats what i really need

Testing our App on Android Device

Let me use Blue tooth device to transfer this my galaxy note 2.

This looks SEXY on my Android Device

Once i receive it on my Device, I install it , and it loads Oracle Logo and then my App. wow thats brilliant

Download this APK file and Install

http://dl.dropbox.com/u/12614021/jameshelloworldapp.apk

Download Complete JDeveloper 11gR2 Project Source Code :

http://dl.dropbox.com/u/12614021/JamesHelloWorldApp.zip

Disclaimer : this is not the greatest app , does not have any great navigation or UI , but it is merely used to demonstrate how ADF , JDeveloper and Android can work together to bringout some of the best application

About Author

https://jamessmith73.wordpress.com/

Advertisements

One thought on “ADF based Android Apps

  1. Hi ,

    I am getting following error when I try to deploy application on Android Enumator.

    [04:44:27 PM] Cannot run program “”D:\adt-bundle-windows-x86-20130917\sdk\platform-tools\aapt””: CreateProcess error=2, The system cannot find the file specified
    [04:44:27 PM] CreateProcess error=2, The system cannot find the file specified

    I am using Build JDEVADF_11.1.2.4.0_GENERIC_130421.1600.6436.1
    and ADF Mobile Framework 11.1.2.4.39.64.44

    Can u please help ??

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s