January 10, 2012

Current Beta

Posted in Uncategorized at 3:58 pm by tetontech

The latest release of QC is in beta stage and is proceeding apace.  This beta includes optimizations of the communication layer between the JavaScript and the native sides for both iOS and Android.  It is much more responsive but requires a large amount of testing since it is a major change.

Another change is the Xcode 4 template that easily allows you to easily create iOS and Android applications from the same project.  This is in final dev-test.

Additionally there will be some new functionality that allows you to generate multiple views from within JavaScript, size them, and indicate where they should display on top of the base web view.  Such views can be other web views, image views, document views, etc.

The time required by my work on my doctoral degree has slowed the release process but work continues.  It just can’t be done quite as quickly as it was before I started the program.

VTM Developer Conference http://bit.ly/rwjFgk

Posted in Uncategorized at 3:51 pm by tetontech

I will be speaking at the Voices Android Developers Conference in February.  I’d love to meet you there.  Use this priority code ANDSP34 and save $200 + Early Bird price thru Jan 13

I’ll be speaking about hybrid application development.

http://android2012.voicesthatmatter.com/talks/20088

September 10, 2011

At Last!!!

Posted in Android Development, iPhone development tagged , , , , , , , , , , , , , , , at 10:29 pm by tetontech

At long last (big sigh of relief here by me) QuickConnectFamily 2.1 is finally available for download.  It involved a lot of work by many people and has come together well.  There are some big changes for both the iOS and Android platforms.  These enhancements and changes have been driven by requests from developers like you.

Both:

  • This one is BIG.  The JavaScript functions now exist inside the qc name space.  In other words where you would have used the handleRequest method it is now the qc.handleRequest method.  The old behavior is deprecated.
  • Another BIG one.  In order to make the Control Function code more readable and more easily comprehended for those new to the framework all Control Functions MUST return one of the following three values (see the documentation for more information):
    • qc.STACK_CONTINUE – This instructs the framework to execute the next control function in the stack.
    • qc.STACK_EXIT – This instructs the framework to terminate all further stack execution.
    • qc.WAIT_FOR_DATA – This instructs the framework that a call to database or remote data has been made or a call to device specific behavior such as showing a map, displaying the camera, email editor or other native behaviors.
  • Work has been done to improve the asynchronous call stability in the underlying framework.  (Thank you to the team at affinityAmp).
  • Miscellaneous bug fixes and enhancements.

Android:

  • Bug fixes
  • Expanded database support and fixes
  • A major rework of the underlying Android Java code to make it match the design changes in iOS.  This is in preparation for QC Plugins and some new features such as ‘window-in-window’ that will be part of the next release as a Plugin.  The ‘window-in-window’ code is in there now but not official until it is converted to a plugin and the same behavior is available for iOS.
  • Added a hybrid sqlite database example

iOS:

  • Bug fixes
  • Removed the native footer code since libraries for scrolling and others such as Sencha, JQTouch, etc. are now of good quality.
  • QC Family Hybrid Plugin API and design spec completed.  There is an example of how you can add to QC on your own.  If you thing these additions could be useful to others you are free to charge for them, or not, host them yourself, notify me and I will add them to the plugin list on the QC plugin site.  If you are willing to donate them to the QC community send them to me for review and I will put them into the git repository and list them on the QC plugin site.
  • Updated all the examples to use the new return values and the new qc name space.
Now that this is out I will be creating a Key/Value store for Android and presenting it at the next AnDevCon.  I’m also looking forward to adding Android build support back into the QC Hybrid build process so you can write your app once yet build and run it in the iOS simulator and the Android emulator with one click.
As always I hope this is helpful for you.  I enjoy working on QC and hope to be able to do so long into the future.  If you find any issues please let me know via the google group.
Lee

August 16, 2011

QC DBSync version 1.3 available

Posted in Uncategorized tagged , , , , , , , , , , at 5:24 pm by tetontech

For those of you needing a native database synchronization tool version 1.3 of QC DBSync is now available.  It includes minor functionality and API upgrades on the iOS side, an example service written in PHP is included in the download.

QC Native 1.3 available

Posted in Uncategorized tagged , , , , , , , , , , at 3:30 am by tetontech

For those of you doing native, not hybrid JavaScript, development with QC I have uploaded a new version of QC Native.  It rationalizes the differences between the Java and iOS versions making the APIs nearly identical.  I have also updated the API Docs for Android, created API Docs for iOS, and included both in the downloads as well as the QC Family web site.

The download now includes a SimpleDB example for both Android and iOS.  The example inserts values into the database, queries values from the database, and can do an HTTP GET.  The iOS database interactions show how to use CoreData.  I will soon (by the end of the month??) have an example using the Android ORM I’m developing.

Still working on that QC Hybrid release.  It is getting really close.  More on that later.

August 11, 2011

Android Developer Conference

Posted in Android Development tagged , , , , at 6:56 pm by tetontech

Get a discount for AdDevCon II  coming up on November 6 – 11.  You can use my last name (Barney) as a discount code and get $200 off the registration price.  I’d love to meet you there.

 

http://www.andevcon.com/AndevCon_II/index.html

 

Lee

 

August 2, 2011

Android ORM (Object Relational Management)

Posted in Android Development at 10:57 pm by tetontech

For quite some time I have been thinking about what a good ORM library should look like.  I haven’t had any time to design and create it until now because of the university classes I’ve been teaching and supporting and completing the other QuickConnect Family projects.  For the last couple of days, since school is now out for the summer, I have been making a cut at it.

I am very pleased.  I have a very functional and easy to use implementation.  It avoids the pitfalls that Hibernate made back in the day when it was designed and it avoids mistakes made by Apple when the created CoreData.

You don’t need any annotations.  You don’t need any HQL like language for queries.

Even better it is only 16K in size!  I was surprised but pleased at how little code was required.

It is untested at the moment but you can see what the code looks like if you download the source from sourceForge using git.

https://sourceforge.net/scm/?type=git&group_id=508843

I hope to have an example working soon and want to create a GUI front end to make use even easier.  This GUI will create your SQLite tables for you and put everything together you need in one jar file.

What fun.

 

 

 

 

 

August 1, 2011

QCDBSync 1.2 now available

Posted in Android Development, iPhone development at 10:16 pm by tetontech

This posting is about the QCDBSync library.  For more information about QCDBSync go to:

http://www.quickconnectfamily.org/qcdbsync/

For those of you doing native development in iOS and Android a new version of QCDBSync is now available for download from its sourceforge site.

https://sourceforge.net/projects/qcdbsync/

This version adds the iOS version and its documentation to the download.  You will no longer need to use git to use QCDBSync on iOS.  It also adds delete functionality to the iOS version that only the Android version had before.

The iOS version is now much easier to use as well.  Less work on your part, more functionality, must be good.  Right?

June 15, 2011

New Version of QC Native Available

Posted in Android Development, iPhone development tagged , , , , , at 5:13 am by tetontech

I have just completed an update to QC Native for those of you who are doing native Android and/or iOS development. Download it from here: http://goo.gl/P7s6D

If you are using QC Hybrid to write your app in JavaScript you can safely ignore this update. There will soon be a new version of QC Hybrid for you to use with several updates that I’m dying to get out to you.

As with the previous version of QC Native all threading is done for you. ValCO’s and BCO’s will run in a background thread and VCO’s will run in the UI thread on Android, JavaSE, and iOS. No threads will be used when you use the qc.jar file in an Enterprise Java environment since they are not needed there.

The Control Objects in QC Native now use HashMap/NSMutableDictionary instead of ArrayList/NSArray. This allows you to have more control over the data used in your Control Objects. Another change is that you now add the results of your calculations in your BCO’s, ValCO’s, and VCO’s to the parameters HashMap/NSMutableDictionary instead of returning them from your handleIt methods. Now you return null to terminate a control stack and any value to continue.

This change will give us a strong base to build on for the foreseeable future for both the native and hybrid libraries.

May 26, 2011

Command Line Building using Xcode

Posted in Uncategorized at 8:42 pm by tetontech

Most professional software development companies or professional software organizations within companies eventually need to be able to build their products from the command line as part of an automated build process.  Usually this is proceeded by doing a pull from a software repository.  Often such builds are done at night or during other off-time hours.

This posting will not cover the use of git or other repositories.  It will cover the use of the terminal to build an Xcode project in Xcode 4.  Most of this information has been gleaned from examining the man page of xcodebuild.  You can see the help for xcodebuild if in the terminal you enter man xcodebuild.

Getting the version of xcode

Often in scripts a check of the compilation tool version is done to ensure correct compilation.  This is done by calling xcodebuild -version

Listing available sdks

                It is possible that you may need your script to check for a specific SDK version prior to triggering a compilation of your code.  This uses the xcodebuild -showsdks call.

Listing available schemes in a workspace


               If you have a workspace that has many projects in it t is, again, wise to check if a scheme for the project you want to compile exists.  Each project has a scheme, by default, in Xcode 4.  Here is the call to list schemes available in a workspace.  xcodebuild -list -workspace <full path to workspace file>
                The example shown here lists the schemes from the Examples.xcodeworkspace found in the QuickConnect 2.x download.

Listing available targets in a project


                If you are using a project that is or is not independent of a workspace your script may need to check to make sure that the correct target is available in the project since a project can have any number of targets.  The command to list targets is xcodebuild -list -project <full path to project file>
The example here lists the targets available in the File List project as well as the build configurations available.

Building all projects in a workspace


                To do this you would need to call each project individually or, and this may or may not be much better in the case of you projects, build dependencies into the xcode projects and then trigger the building of them all by building the topmost build.  This would be the one that has dependencies on the others.

Building a project in a workspace


                To do this what you really do is to either build the project directly without the workspace involved (see Building a project that is not part of a workspace below) or build the workspace with a scheme that is specific to your project.  The example shown here is for the second case.  This example builds the File Reader scheme that is part of the File Reader project of the QuickConnect Examples workspace.  I have removed the build output since it had sensitive information regarding the directory structures on my working machine.  The command to build a scheme in a workspace is xcodebuild -workspace <path to workspace file> – scheme <Scheme Name>.

Building a project that is not part of a workspace


                Maybe you need to compile a project without it being in a workspace.  If have cd’ed into the directory and the project is the only xcodeproj file in the directory the command to do this is xcodebuild.  If you are not in the directory the command is xcodebuild -project <path to project>.
                The example shown here is an example of the first.  I have again removed the build results because of the sensitive data exposed regarding the file structure on my machine.

There are many more options available with xcodebuild.  Check out the man page to learn more about targeting platforms, SDK versions, etc.

Next page

Follow

Get every new post delivered to your Inbox.

Join 314 other followers