You are browsing the archive for Android.

Avatar of marc

by marc

Announcing Oxygene 6 and the new Oxygene for Cocoa

May 28, 2013 in .NET, Android, Cocoa, iOS, Java, Mac, Oxygene, Prism, Visual Studio

Hello everyone.

We are more than pleased to announce the release of Oxygene 6, the next major milestone of our Oxygene language. This new version includes a significant update to the existing “Oxygene for .NET” and “Oxygene for Java” editions, but – most excitingly – it also marks the first release version of our all-new Oxygene for Cocoa.

Oxygene for Cocoa is a brand-new edition of our Oxygene language, and it targets native Mac and iOS development with the Cocoa frameworks, using the same great language you already know and love from .NET and Java. We are very excited about Oxygene for Cocoa, and we think it will be a game-changer for how you create apps for Mac and iOS.

Oxygene for Cocoa is a very unique product, in that it is the only language (next to Apple’s own Objective-C) to truly natively target the Cocoa platform and the Objective-C runtime. It gives you access to all the great frameworks and libraries provided by the platform, lets you use all the native UI controls, and generates executables that are lean, mean and blazingly fast – and compiled directly for Intel x64 (Mac) or ARMv7 and ARMv7s (iOS).

Get Oxygene now

Support for all three platforms is available in the new Oxygene 6 package, which is a free update for all active subscribers who bought Oxygene form us since last August. It is available for new users at only $699 (again including all three platforms!), and individual platform support is also included in our Suite Subscriptions for .NET, Cocoa and Java, respectively.

Special renewal pricing is available for existing Oxygene for Java or Prism customers $499, as well as a special $599 cross-grade offer for any users of Embarcadero Delphi or of older Embarcadero Prism versions (XE2 and below).

We’re also for the first time ever introducing a new academic pricing for students, teachers and non-profit researchers, at an amazingly low $99.

And of course, as always, theres a free fully-functional 30-day trial version available, as well.

This is only the beginning

But we’re just getting started with this release and have many further exciting things planned for this year and beyond, including two minor updates for June and July, a significant “6.1” release in Fall, as well as several related products and technologies that will extend the Oxygene ecosystem that we’re not quite ready to talk about yet.

In the meantime, we hope you will enjoy the first release of Oxygene 6.0 and Oxygene for Cocoa – and we’re looking forward to hearing what Apps you will be building with it!

You can learn more about Oxygene at remobjects.com/oxygene and wiki.oxygenelanguage.com.

 

Yours,

marc hoffman
Chief Architect,
RemObjects Software

Data Abstract for Java Samples on Google Play

April 2, 2013 in Android, Java, ROFX

I’m happy to announce the availability of the DA SQL Sample – our first, but definitely not last, sample application that is available on Google Play. It is written in Java and powered by our Data Abstract for Java framework.

DA SQL Sample on Google Play

Now it is even easier for you to give the possibilities of Data Abstract for Java a try. Just install it on your device and try to fetch some data using SQL from our externally available PCTrade Sample Server. The sample is preconfigured to talk to http://remobjects.com:8099/bin, but you can change it on the Settings screen and direct the application to any locally accessible DA Sample Server. Make sure to also try the other available settings.
da-sql-android-initial-view-skinned
Other details about the usage and the concepts covered can be found at the sample’s wiki page.

More samples will be available in the near future. Meanwhile, please note that you can always download and install Data Abstract for Java and compile and run any sample manually. These samples can give you a good starting point in developing your own application with the Data Abstract for Java framework, be it for Android or any other Java-powered target platform.
da-sql-android-tablet-skinned

P.S. We have published two more Android samples lately.

Filters Sample shows how to use Dynamic Where and Dynamic Select features for obtaining data from the Data Abstract servers.
wiki page, Play link

Simple Sample shows basic Data Abstract functionality, including loading, changing and updating of data from and back to the Data Abstract servers.
wiki page, Play link

simple-sample-clients-list-framedframed_group-selected-framed-2

Install, try them ant tell us what you think!

Oxygene for Android Torch App

January 26, 2013 in Android, Cooper, Java, Oxygene

Brian Long made a great video on building an Android Torch App using Oxygene for Android. You can find it as part of RemObjects TV. The app he builds is a nice simple app, which makes the video easy to follow while also covering some concerns you may face in more complicated apps:

  • Permissions
  • Adding a new Activity
  • Using an Intent to move between activities
  • Creating a full screen Activity
  • Adding a Menu
  • Displaying Toast
  • Displaying a Dialog to get a user response

If you are new to Android Development with Oxygene, or maybe haven’t gotten into some of these topics yet then check out the video. You can also download the full source code for the app. Let us know what other Android related topics you would like to seen covered in future videos!

Oxygene on the Big Screen

January 4, 2013 in Android, iOS, iPad, iPhone, Java, Mac, Metro, Oxygene, Windows, WP7

Android powered Ouya ConsoleYou already know Oxygene is the best choice for mobile development – Oxygene for Java on Android, Oxygene for .NET for Windows Phone and the Windows RT Surface and the beta “Nougat” already providing great support for iOS development. But what if you want to develop on the big screen? Like that 50 plus inch TV in your front room?

Enter the Ouya, the Android powered game console for your TV. They just released their ODK (Ouya Development Kit), and since it is Android powered, it is perfectly supported by Oxygene for Java right out of the box. Oxygene for Java is a completely native Android development tool – there are no forced abstraction layers or additional run-times to get in your way or require updating when new variations or versions of the platform come out.

Red Ant Games has just announced they are using Oxygene for Java to move their Subject 33 to Ouya and Android mobile devices. Subject 33 is currently an Alpha prototype on Windows. They also have plans to support iOS and Mac with “Nougat”.

Oxygene Goes to School

December 13, 2012 in Android, Cooper, Java, Linux, Oxygene, Uncategorized

Dr. Norman Morrison recently published a wonderful series of Oxygene for Java tutorials on his “Pascal Programming for Schools” site, including some on Android development. He reports that students in his school are already using Oxygene for Java for their educational projects and are very excited about building Android applications as well.

Oxygene is great to use in educational settings. It holds true to the design paradigms of Object Pascal, which make it easily readable and discoverable. It doesn’t stop there though, but extends the language with great new language features frequently found in academic languages, like Tuples, Duck Typing and Aspect Oriented programming. The fact that it supports all common platforms of today is a real plus too.

Dr. Morrison also reports using Oxygene for Java to develop for his ARM-based Raspberry Pi, and includes some examples, too.

Adding Oxygene for Java to their curriculum has really energized both the department and the students while expanding their program!

Avatar of marc

by marc

“Native platform development is going to be the approach”

September 12, 2012 in Android, iOS, non-tech

Mark Zuckerberg about the new native Facbeook app (via Appleinsider, The Verge):

“Native [platform development] is going to be the approach that we go with for iOS and Android”. “We’re betting completely on it.”

Smart thinking, and much in line with our own philosophy on the matter.

He goes on:

“The biggest mistake we made as a company was betting too much on HTML5 instead of native [platforms],” and, “We burnt two years.”

Avatar of marc

by marc

Setting up your Nexus 7 for Development

July 30, 2012 in Android, Oxygene, Visual Studio, Windows

Today i tried setting up my new Nexus 7 to use for development with Oxygene for Java and our Data Abstract for Java BETA. As most of you probably know, i’m not a big Android developer myself, and this is my first encounter with a live device. Compared to iOS, there are quite a few more (and not obvious) steps necessary to get started, so i figured i’d write down what i had to do:

  • On the Nexus, go to “Setting|Developer options”, toggle the “ON/OFF” switch at the top to “ON” and enable the “USB debugging” option.

  • Plug your Nexus 7 in to USB. If you’re using Oxygene in VMware (say on a Mac), make sure go into the VM options and connect the “asus Nexus” USB device to the VM. (Carlo tells me there is a way to debug “remote” with the device attached Mac side, but that is fiddly. Maybe we’ll expose UI options to make that easy in a future update for Oxygene.)

  • On Windows, you need to install device drivers (not something i had to do for a long time ;). Oddly, this is a two-step process:

  • Go to the ASUS Website and download the driver that’s offered (choose “Android” as OS. Duh.). Run the installer. Oddly, this installs some stuff, but not the actual device driver. Instead, it places a .zip file with that driver in your Documents folder. Go and unzip that, you will need it in the next step.

  • Go to “Control Panel|Device Manager”. You should see an “Unsupported Device/Nexus” in the list. Right-click it and select “Update Driver”, choose to manually locate the driver, and browse to the extracted .zip from before.

  • With that, you should be set. If you now open an Android project in Visual Studio, you can go to the Project Properties, select the “Android” tab, and the Nexus should show up in the “Android Device” setting (as a cryptic hex number). If it doesn’t yet, clicking “Refresh” should do the trick.

  • There is no Step 7.

That’s it. Press “Start” and your Oxygene project should build and run on your Nexus.

 

 

Why did i get a Nexus 7? Good question. As we are getting deeper into Java and Android support (and with Oxygene for Java now being out almost three quarters of a year), i decided i need to get my hands dirty with some Android development myself in order to apply more of my trademark anal retentiveness to our Java and Android tool chain in both Oxygene and RO/DA. I figured the best way to do that was to get an actual device to play with.

So what do i think of the 7? It’s a nice device, for sure. I like it, probably more than i expected to, and i am starting to appreciate certain aspects of Android. There are some nice ideas there. That said, i don’t see the Nexus (or Android in general) replacing my iPad or iPhone anytime in the near future. No surprise there.

Android XML IntelliSense

July 9, 2012 in Android, Cooper, Java, Oxygene, Visual Studio

Many of the Android resources, from layouts and styles to animations and even manifests are defined in XML. The XML spec for all of these different resources is a bit dynamic and varies based on things outside the XML document. For these and other reasons there is no official schema provided by Google to define the XML document, as would be needed for Visual Studio to provide IntelliSense for these XML files.

The “June 2012″ release of Oxygene for Java changes all that. We’ve generated 4 schema files that provide IntelliSense for pretty much all the Android XML resources you may encounter. The IntelliSense provides elements and attributes, and in a few cases values for everything from Layouts to Manifests.

Because of the way the XML IntelliSense works in Visual Studio, and because the Android XML doesn’t completely implement the schema as it should, we had to rename the XML files to make them work with the schemas and provide IntelliSense. So to get all the Android IntelliSense goodness, you need to rename your XML layouts to *.layout-xml and every other XML document to *.android-xml. All of the examples and templates are updated with this new naming.

Android Solution Explorer

Since there is no official schema, and the XML specification in the Android documentation is a little vague in places, we are looking for your feedback how better to improve the IntelliSense. An important area you will notice is with user defined widgets in the layouts. Currently, the IntelliSense schemas are static, so if you add a new widget, it won’t show up in the IntelliSense. Let us know if you run into any other situations where the IntelliSense could be a little more intelligent.

Also, to make the IntelliSense even more helpful, we added a range of new item templates to Android projects. They all get put into the correct folder as required by the Android spec. For Drawables, it puts them in the default /res/drawable folder. From there you can move them to a drawable folder for a specific DPI.

Add New Android Templates

Likewise, if you come across any other Android templates that should be included to make your life easier, please let us know.

The Importance of Compatibility

May 10, 2012 in Android, Cooper, Java, Oxygene

When you are choosing a tool or library for Android development it is really important to consider platform compatibility. Some tools only support the latest and greatest version of Android, while the majority of devices are still running Gingerbread. It is always useful to consult the monthly updated Platform Versions Distribution when considering which version of Android to target.

May 2012 Android Platform Version Distribution

While Ice Cream Sandwich (Android 4 / API 15) is all the rage, it is only installed on around 5% of the devices. Gingerbread (Android 2.3 / API 10) is the current front running with over 60% of the devices. It took over from Froyo (Android 2.2 / API 8) just last year. If you target Froyo or greater, you have the potential to reach a whooping 93.5% of the 300+ million Android devices. A whole lot better than the 5% that Ice Cream Sandwich gives you.

That is why RemObjects SDK for Java and Oxygene for Java support Froyo and newer – to give you access to the greatest possible number of Android devices. This level of support and compatibility is the result of our commitment to provide a native developer experience on each platform we support.

And thanks to the Support Package compatibility libraries your app can take advantage of a lot of the latest Ice Cream Sandwich features even when running on a Froyo or Gingerbread device. That way you can have your dessert and eat it too!

Avatar of marc

by marc

Announcing RemObjects SDK for Java — Available Now!

May 8, 2012 in Android, Java, ROFX

Dear Readers,

we are delighted to announce the immediate availability of RemObjects SDK for Java, the fourth platform edition of our award-winning remoting framework.

This release roughly marks the 10th anniversary of our initial RemObjects SDK for Delphi back in 2002. At lot has happened in said 10 years; the industry and the computing infrastructure has changed a lot and RemObjects SDK has evolved a lot as well. And we are happy that with the new release of RO/J we now have you covered with native RemObjects SDK client connectivity on just about any computing and development platform out there — including the three big mobile platforms.

Many of you have pre-ordered RemObjects SDK for Java and already had a chance to use the product during its beta cycle. As of today, the first official bits for RemObjects SDK are available to customers, and a free 30-day trial version is also available for download from our website.

What Does RemObjects SDK for Java Bring to the Table?

Just like its sister products, RemObjects SDK for Java is a fresh and completely platform-native reimplementation of our remoting infrastructure, this time for the Java and Dalvik platforms.

RO/J consists of 100% pure Java Runtime code with no external dependencies, and it will run on any system where Java 1.6 or higher or Android Dalvik API level 8 or higher is available.

RO/J has been designed from the ground up to fit well into the Java platform and its API paradigms, and it can be used from a variety of Java development environments, including Eclipse, NetBeans, IntelliJ IDEA — as well as, of course, our own Oxygene for Java in the Visual Studio IDE.

At the same time, RO/J is built on the same architectural principles that you have come to know and love from its sister products — remote services, messages, channels, envelopes and the like — as an existing RO user you will feel right at home.

Why use RemObjects SDK for Java?

The most exciting platform for RO/J, right now, is certainly Android. As one of the three major mobile computing platforms today, the Android operating system is largely based around a variant of the Java runtime called Dalvik. Serious, native Android development is done using Java or Java-Runtime-based languages (such as Oxygene), and with RO/J you now have the ability to leverage your remote services from your Android based applications.

But of course RO/J is also applicable in many other scenarios involving the “traditional” Java runtime: from cross-platform Java-based desktop applications over Applets or use in JavaServer Pages to Java on embedded devices — everywhere you can run Java and have a network connection, you can now communicate with your RO servers.

Find Out More

To find out more about RemObjects SDK for Java, visit the product home page at remobjects.com/ro/java, or watch our introduction videos at RemObjects TV. Or grab your free trial version today, at remobjects.com/trials.

If you are ready to take the plunge, RO/J is available in our secure online store for $399 for new users, and of course it’s available in bundles and as part of our “up-renewal” offer, where you can renew any existing RemObjects SDK subscription and just include the new Java edition in your renewal.

Also, Data Abstract for Java

If you want to go beyond remoting, we also have the Java edition of our Data Abstract database framework coming up. DA/J is currently in early-but-usable beta and available for pre-order. (Pre-orders of course include immediate access to the shipping RemObjects SDK for Java, as well as full beta access).

As you can probably tell, we are very excited about our new Java-based product line, and we hope you are too. Especially on the Android front, Java development is only going to become more relevant in the next few years, and with RemObjects SDK, Data Abstract and our Oxygene for Java, we have you covered on all fronts to create great native Android apps — and much more.

Yours,
marc hoffman
Chief Architect