Tag Archives: android

RAD Delphi/CPP XE5 was released

Before I could even start some apps on beta7/beta8 — the official release of XE5 came out.

The most “in the face” feature is the very impressive integration of the RAD XE5 to the different environments (Win8/iOS/Android). It enables the developer to seamlessly connect the mobile device  or emulator that the app would be compiled on. And run the application.

I didn’t yet, dig enough into the twiks of each system. Of course each platform and device got its own sensors with-which you can program an app to.

All programming for the mobile EcoSystems, is being done using the FireMonkey FMX. Which is an OO environment. And if you check the source code of the FMX, you’d find a FMX.Platform.{PlatformType}.pas that is functioning as an encapsulation of the ecosystem basic function.  the {PlatformType} is one of the following by default: IOS, Win, Mac, Android.

Platform.IOS:

The integration to the iOS got a procedure where you automagicly sync the current XCode headers to be used by the DCCARM on the RAD OOP environemnt. This procedure is being done once, and could be repeated when a new version of the iOS is out.

All code-signing, and device deployment for the iOS is being done using the existing Mac XCode environemnt (when dealing with key-chain codes, and provisioning profiles — this is a procedure every Apple developer know, and is well documented in Developer.Apple site.)

Platform.Android:

As for the android platform, because of the fact that it is an open source OS. Embarcadero decided to ship the RAD environment with a deployment of the android SDK/NDK. So emulation and use of tools is being done using them.

When connecting a new android device the RAD automatically detect it and can compile code to the device itself.

 

Samsung Android basic techie managment

I started, as probably many techies, to learn some information about the samsung android mobile basic procedures. I won’t get into the eternal mambo-jumbo about what is better iOS or Android…. Yet, I will write some details about what was my learning curve in the android EcoSystem.

How deep can it goes?

Well, although I am a programmer, and rad some code on both iOS/Android. These systems are composed of many seperate parts — which each got its own purpose. The type of handling I am doing is better linked with system administrators, when talking about linux systems. Yet, programmers, that program for this environment probably know all the twiks and issues with the environment as well.

My android crashing bug:

It seems that although I bought my device from a store after updating my device via samsung KIES. It caused the device too boot, load the samsung logo, and get stuck on it.

When this took place on the first time, I just sent it to the store and they fixed it: Yet, I wasn’t about to do that after the second time it appeared… Again same symptom. I decided that this time, I will fix the problem by my own, no matter what! It would save time and effort * connecting the mobile distributor for fixing it, and * I would learn some tech geeky thingies on the way.

I do not know whether all mobile phones got the same bootloader, yet, Samsung, in their phones, introduced the following (mostly) text based menus:

  1. An Android Recovery mode In this mode, you can run some
            • wipes of the user data & Cache directories [Although I did run this, it didn’t make any of the matter better, it just got stuck again as I described]
            • run an OTA (On The Air) update [which didn’t work for me].
            • load an image from external/internal SD Card.
  2. A Download mode this mode, was made to load images using ODIN (a loader application that runs both on the mobile, and on the computer it is connected to)

ROM/Firmware:

So Initially there is a way to load a new image. Now I need to learn about the ROM/Firmware images.The android devices are virtually an open based linux system. And a ROM/Firmware is the basic files required to run properly an android OS.

The rom includes stuff like:

  • Kernel
  • GUI
  • Core functions
  • etc

Described in details on the following URL.

There are sites that explain what composes a ROM name (things like the date it was built, the CSC – the country code that it is assigned to, and more), yet, no matter what search I made, I didn’t find the proper ROM/Firmware.

There are basically two types of ROM/Firmware:

  1. A stock ROM – the ROM as it was released from the mobile manufacture, without any modifications to it.
  2. A custom ROM – The name sais it all, a custom made ROM. It can be that the kernel functions got modified or more visually details were modified — as launch Icons, Widgets, etc.

I found a proper Stock ROM of Android Jelly Bean version for my device. The only problem is that it wasn’t the same CSC, which means that I wouldn’t be able to be updated from the Local Samsung Services / or using KIES Firmware Update, with new versions of the Firmware (this is as far as I’ve gathered).

Delphi XE5 beta6 testing for Windows/Android/iOS/MacOSX

I started checking the new XE5 beta 6. It is, as being a beta, a little unstable, yet from first testing I would highlight the following:

  1. Very good – Integration with the iOS & android SDK/NDK
  2. Very good and ease of deploying applications (to the android at least – that’s what I first checked).
  3. Ran bunch of demo applications which were under …/FiremonkeyMobile path. About 10 demos, 2 worked perfectly… yet all the other halted the compilation/deployment – due to reasons that I didn’t check deep enough… After tweeking some of the none working on the android platform, I managed to run most of them.
  4. I ran all through, all the availables Firemonkey sample demos, that are supplied when installing the XE — and modified them for use on mobile devices. Seems that about 30% could run without a problem – on mobile — yet the rest required a more enhanced modification of the code.
  5. In addition, I’ve modified a code that was originally was written using XE4, for compilation to iOS devices. It made use of the datasnap and the binding of data to a TListView. Slight modification of it made it useable on the android platform as well… here is a sample tast
  6. On my ToDo.list are:
    • Create a demo app that uses SQLite on android…. With a big DB about 1mil records 1gb sized.
    • Checking the ability of local Mobile DB, such as the SQLite on iOS, and the deployment process of SQLite DB on android.
    • See how a deployment of DataSnap on the android works, (done that, seems that all that was required is to set in the android uses/options ‘the internet connection’ to on the app security switches)
    • Reintroduction of the ability to display a 3d object such as .3ds file. With proper setting of the meshes on it.

Android Dongles

Prefix: As many people, I was raised with digital gadgets, game consoles, personal computers… The OSes were evolution of the digial age, where the market forces, and people innovation, led to their development.  One of my hobbies is to collect and find different Operating System that can run on either a computer/standalown or TV devices. On these first game consoles was the OS that ran the game console cartridge game, and had to follow a certain code to fit the game console, in order to run properly.

I would like to focus in this post on the latest that was put to the market, and that I just recently was impressed from. There was an explosion of ideas, on both software and hardware markets, now days you can find  enhanced machines running the google android OS, on cheap and very powerful devices — That both very cheap to purchase, and very strong with computing powers.

Google Android OS: The definition of the google android OS, is that it’ll be opensource. That single fact enables one to copy and distribute the a flavor of the OS on different devices — as long as they follow the google distribution guide lines… and following the opensource community and the leading edge of google — that enable to develop variation of devices that use the android OS.

StreamBox: One of the stream boxes functionality,  is to stream media video/audio from your LAN or WEB sources to your tv (or any other device that the streambox can connect to). The cheapest stream box, is called an android dongle — That include the android os – with different I/O in it (such as a USB or HDMI connector) to connect to the web, or store internal media.

Dongle Embedded: Some of the TV out there from different manufacturers include a dongle embedded into the tv. But I find it very comfortable using a cheap device with tremendous ability  to put its functionality in any TV device that has the proper input connectors to connect to your ‘droid dongle.

Android Functionality: The android OS can not be missed from today’s news, it is everyone, every now and then there are malefactors  that put to the market their device that runs with the android OS. As an operating system, it enable you to load and put many different ‘apps’ that enhance the functionality of the device. And the different hardware introduced the functionality in different ways.. As each one of them got their HID (Human Interface Device) attached such as touch screen, physical keyboard, or game controls…

Competitors: As this market evolve other producers of OSes such as: Microsoft OS, or variation of Linux OSes flavors — will introduce their flavor of their OS to compete with the Google android OS.