Wednesday Oct 31, 2012

Workaround for an Xcode/iOS SDK Issue...

Hi, everyone:

When you are doing ADF Mobile development, and you need to deploy the application to an iOS device, you would need to compile/deploy the app with iOS App Certificates and Provisioning Profile. This means you would need to "Deploy to Package" or "Deploy to iTunes" during deployment, and configure JDeveloper with the proper certificates/profiles. In some instances (exact combination is still not clear), deploy and signing the application to generate the ipa file may fail with similar error message at the end of the deployment log:

[01:04:45 PM] Deployment failed due to one or more errors returned by '/usr/bin/xcrun'. The following is a summary of the returned error(s): Command-line execution failed (Return code: 1) error: /usr/bin/codesign --force --preserve-metadata=identifier,entitlements,resource-rules --sign iPhone Distribution: Oracle Corporation --resource-rules=/var/folders/x7/21sjrpx13qj9tq20z14s3j_w0000gn/T/tkROhP11qU/Payload/HelloWorld.app/ResourceRules.plist --entitlements /var/folders/x7/21sjrpx13qj9tq20z14s3j_w0000gn/T/tkROhP11qU/entitlements_plistEINPBkIG /var/folders/x7/21sjrpx13qj9tq20z14s3j_w0000gn/T/tkROhP11qU/Payload/HelloWorld.app failed with error 1. Output: /var/folders/x7/21sjrpx13qj9tq20z14s3j_w0000gn/T/tkROhP11qU/Payload/HelloWorld.app: replacing existing signature Program /usr/bin/codesign returned 1 : [/var/folders/x7/21sjrpx13qj9tq20z14s3j_w0000gn/T/tkROhP11qU/Payload/HelloWorld.app: replacing existing signature

This issue is a known issue and is not related to ADF Mobile. The workaround is discussed in this article from StackOverflow.

This article refers to the old location of Xcode, so you would need to adjust the paths accordingly. The path for Xcode 4.3 and above would be like:

/Applications/Xcode.app/Contents//Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication to this script file.

To modify it, you probably can’t use Text Editor. I end up opening a terminal session, changed the file permission, and used vi to update it.

Thanks,

Oracle ADF Mobile Product Management Team

Resources to Help You Getting Up To Speed on ADF Mobile

Hi, everyone:

By now, I hope you would have a chance to review the sample applications and try to deploy it.  This is a great way to get started on learning ADF Mobile.  To help you getting started, here is a central list of "steps to get up to speed on ADF Mobile" and related resources that can help you developing your mobile application.
    1. Check out the ADF Mobile Landing Page on the Oracle Technology Network.
    2. View this introductory video.
    3. Read this Data Sheet and FAQ on ADF Mobile.
    4. JDeveloper 11.1.2.3 Download.
      • Download the generic version of JDeveloper for installation on Mac.
      • Note that there are workarounds required to install JDeveloper on a Mac.
    5. Download ADF Mobile Extension from JDeveloper Update Center or Here.
      • Please note you will need to configure JDeveloper for Internet access (In HTTP Proxy preferences) in order the install the extension, as the installation process will prompt you for a license that's linked off Oracle's web site.
    6. View this end-to-end application creation video.
    7. View this end-to-end iOS deployment video if you are developing for iOS devices.
    8. Configure your development environment, including location of the SDK, etc in JDeveloper-Tools-Preferences-ADF Mobile dialog box.  The two videos above should cover some of these configuration steps.
    9. Check out the sample applications shipped with JDeveloper, and then deploy them to simulator/devices using the steps outlined in the video above.  This blog entry outlines all sample applications shipped with JDeveloper.
    10. Develop a simple mobile application by following this tutorial.
    11. Try out the Oracle Open World 2012 Hands on Lab to get a sense of how to programmatically access server data.  You will need these source files.
    12. Ask questions in the ADF/JDeveloper Forum.
    13. Search ADF Mobile Preview Forum for entries from ADF Mobile Beta Testing participants.
    14. For all other questions, check out this exhaustive and detailed ADF Mobile Developer Guide.
    15. If something does not seem right, check out the ADF Mobile Release Note.


Thanks,

Oracle ADF Mobile Product Management Team

Monday Oct 29, 2012

ADF Mobile Application in the Apple AppStore

Hi, everyone:

I would like to announce that there is now an iPhone App in the Apple AppStore that's built using Oracle ADF Mobile.  This app is the Hudson Mobile Monitor application for the iPhone, which allows you to monitor build status for the Hudson Continuous Integration server.  By default it points to the production instance of the Hudson CI server hosted at Oracle.  One of the key goals for ADF Mobile in general is to ensure an application built using ADF Mobile is compliant with Apple iOS SDK terms.  We designed the framework to ensure applications can go through the approval process - of course there are still things that can be done which would cause issues during the approval process, and we will be publishing more best practices in the coming articles.

Thanks,

ADF Mobile Product Management Team.

Monday Oct 22, 2012

Getting Started with ADF Mobile Sample Apps

Getting Started with ADF Mobile Sample Apps
 

Installation Steps

  • Install JDeveloper 11.1.2.3.0 from Oracle Technology Network
  • After installing JDeveloper, go to Help menu and select "Check For Updates" and find the ADF Mobile extension and install this. It will require you restart JDeveloper
  • For iOS development, be on a Mac and have Xcode installed. (Currently only Xcode 4.4 is officially supported. Xcode 4.5 support is coming soon)
  • For Android development, have the Android SDK installed.
  • In the JDeveloper Tools menu, select "Preferences". In the Preferences dialog, select ADF Mobile. You can expand it to select configure your Platform preferences for things like the location of Xcode and the Android SDK.
  • In your /jdeveloper/jdev/extensions/oracle.adf.mobile/Samples folder you will find a PublicSamples.zip. Unzip this into the Samples folder so you have all the projects ready to go.
  • Open each of the sample application's .JWS file to open the corresponding workspace. Then from the "Application" menu, select "Deploy" and then select the deployment profile for the platform you wish to deploy to. Try deploying to the simulator/emulator on each platform first because it won't require signing. Note: If you wish to deploy to the Android emulator, it must be running before you start the deployment.

 
Sample Application Details
 
Recommended Order of Use Application Name Description
1 HelloWorld The "hello world" application for ADF Mobile, which demonstrates the basic structure of the framework. This basic application has a single application feature that is implemented with a local HTML file. Use this application to ascertain that the development environment is set up correctly to compile and deploy an application. See also Section 4.2.2, "What Happens When You Create an ADF Mobile Application."
2 CompGallery This application is meant to be a runtime application and not necessarily to review the code, though that is available. It serves as an introduction to the ADF Mobile AMX UI components by demonstrating all of these components. Using this application, you can change the attributes of these components at runtime and see the effects of those changes in real time without recompiling and redeploying the application after each change. See generally Chapter 8, "Creating ADF Mobile AMX User Interface."
3 LayoutDemo This application demonstrates the user interface layout and shows how to create the various list and button styles that are commonly used in mobile applications. It also demonstrates how to create the action sheet style of a popup component and how to use various chart and gauge components. See Section 8.3, "Creating and Using UI Components" and Section 8.5, "Providing Data Visualization."

Note: This application must be opened from the Samples directory or the Default springboard option must be cleared in the Applications page of the adfmf-application.xml overview editor, then selected again.

4 JavaDemo This application demonstrates how to bind the user interface to Java beans. It also demonstrates how to invoke EL bindings from the Java layer using the supplied utility classes. See also Section 8.10, "Using Event Listeners" and Section 9.2, "Understanding EL Support."
5 Navigation This application demonstrates the various navigation techniques in ADF Mobile, including bounded task flows and routers. It also demonstrates the various page transitions. See also Section 7.2, "Creating Task Flows."

Note: This application must be opened from the Samples directory or the Default springboard option must be cleared in the Applications page of the adfmf-application.xml overview editor, then selected again.

6 LifecycleEvents This application implements lifecycle event handlers on the ADF Mobile application itself and its embedded application features. This application shows you where to insert code to enable the applications to perform their own logic at certain points in the lifecycle. See also Section 5.6, "About Lifecycle Event Listeners."

Note: iOS, the LifecycleEvents sample application logs data to the Console application, located at Applications-Utilities-Console application.

7 DeviceDemo This application shows you how to use the DeviceFeatures data control to expose such device features as geolocation, e-mail, SMS, and contacts, as well as how to query the device for its properties. See also Section 9.5, "Using the DeviceFeatures Data Control."

Note: You must also run this application on an actual device because SMS and some of the device properties do not function on an iOS simulator or Android emulator.

8 GestureDemo This application demonstrates how gestures can be implemented and used in ADF Mobile applications. See also Section 8.4, "Enabling Gestures."
9 StockTracker This application demonstrates how data change events use Java to enable data changes to be reflected in the user interface. It also has a variety of layout use cases, gestures and basic mobile patterns. See also Section 9.7, "Data Change Events."
10 HR This human resources application is a CRUD application that demonstrates a variety of real-world application techniques. It uses a local SQLite database to store its data. The application persists the data between each startup and is based on the default HR schema that ships with all Oracle databases. See generally Chapter 11, "Using the Local Database." By providing layouts for both iPad and iPhone, this application demonstrates how different types of user interfaces can share the same data model. There are a variety of other patterns demonstrated in the application as well.
11 Skinning This application demonstrates how developers can skin their applications and add their own unique look and feel by either overriding the supplied style sheets or extending them with their own style sheets. This application also shows how skins control the styling of components based on the type of device. See also Section 5.11, "Skinning ADF Mobile Applications."
12 PrefDemo This application demonstrates application-wide and application feature-specific user setting pages. See generally Chapter 13, "Enabling User Preferences"

ADF Mobile Released!!

ADF Mobile Released!

We are pleased to announce the general availability of the newest version of Oracle’s ADF Mobile framework. This new framework provides the much anticipated on-device capabilities that the latest mobile applications require. 

Feature Highlights

  • Java - Oracle brings a Java VM embedded with each application so you can develop all your business logic in the platform neutral language you know and love! (Yes, even iOS!)
  • JDBC - Since we give you Java, we also provide JDBC along with a SQLite driver and engine that also supports encryption out of the box.
  • Multi-Platform - Truly develop your application only once and deploy to multiple platforms. iOS and Android platforms are supported for both phone and tablet.
  • Flexible - You can decide how to implement the UI: (a) Use existing server-based UI framework like JSF. (b) Use your own favorite HTML5 framework like JQuery. (c) Use our declarative HTML5 component set provided with the framework. ADF Mobile XML or AMX for short, provides all the normal input and layout controls you expect and we also add charts/maps/gauges along with it to provide a very comprehensive UI controls. You can also mix and match any of the three for ultimate flexibility!
  • Device Feature Access - You can get access to device features from either Java or JavaScript to invoke features like camera, GPS, email, SMS, contacts, etc.
  • Secure - ADF Mobile provides integrated security that works with your server back-end as well. Whether you’re using remote URLs, local HTML or AMX, you can secure any/all of your features with a single consistent login page. Since we also give you SQLite encryption, we are assured that your data is safe.
  • Rapid - Using the same development techniques that ADF developers are already used to, you can quickly create mobile applications without ever learning another language!

Architecture

ADF Mobile is a “hybrid” architecture that employs a natively built “container” on each platform that hosts a number of browser windows that are used to display the application content. We add the Java VM as a natively built library to the container for business logic.

Architecture Diagram

 

How To Get Started

ADF Mobile is an extension to the recently released JDeveloper version 11.1.2.3.0. Simple get the latest JDeveloper from Oracle Technology Network and use the Check for Updates feature to get the ADF Mobile extension.

Note: ADF Mobile does not require developers to learn any other languages or frameworks but to build/deploy to iOS, you must be on an Apple MacintoshTM and have Xcode installed. To build/deploy to Android™ you must have the Android SDK installed.

About

This blog is is dedicated to tips and tricks for developing, integrating, securing, and managing mobile applications using Oracle Mobile Platform. It is created and maintained by the Mobile Suite/Oracle ADF Mobile product development team.

Archive of past entries

Even More Mobile Development Blogs

Oracle A-Team Site - Mobile Related Entries

Code samples from the Community

Fusion Middleware Blogs

Search

Archives
« October 2012 »
SunMonTueWedThuFriSat
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
20
21
23
24
25
26
27
28
30
   
       
Today