October 31, 2009
QCiPhone 1.6 beta 3 includes:
- All new Xcode apps created using the 1.6 beta 2 or later Xcode template will auto-update to a new version of QCiPhone when you run the QCFamily installer
- A fix for the permission build error in beta 2
- In application maps. This feature allows you to drop any number of pins as well as show the current location of the device.
- A new object, DBScript, that allows you to do bulk updates to the SQLite database in a transactionally safe fashion (in-browser only for now. Will work for native databases in the next beta.
Examples for both the in-app maps (MapExample) and DBScript (BrowserDBScript) exist in the iPhone Examples directory of the download.
The post just previous to this one shows how to use the DBScript object.
I just added SQLite bulk updates for in-browser databases (native databases coming soon) to the QuickConnect iPhone framework (1.6 beta 3). I did this by creating and adding to the framework an object called DBScript. It is transactionally safe. If one of your updates in the script fails all changes are rolled back.
It is also easy to use. The code below comes from the databaseDefinition.js file of the new BrowserDBScript dashcode example. In it a link to the database is established using the DataAccessObject. Then the DBScript object is created and a series of SQL statements are added to the script. Lastly, the script is executed. Notice that the script object works for both standard and prepared statements.
If you are using this after a data pull from a network resource or after querying the user for information to insert, make sure you use a prepared statement type call to avoid SQL insertion attacks.
* An example of how to use the DBScript object to populate a database.
* This will be done as a single transaction and is transactionally safe.
* This means that all changes will be rolled back if any
* database error happens.
//create or connect to the in-UIWebView database
var database = new DataAccessObject(“WelcomeExample”, “1.0″, “Welcome example”, 20);
//create the script object
var bulkInsertScript = new DBScript(database);
//add all statements to the script object
bulkInsertScript.addStatement(“CREATE TABLE IF NOT EXISTS names (id INTEGER UNIQUE, name TEXT)”);
bulkInsertScript.addStatement(“INSERT INTO names VALUES(1,’Bob’)”);
bulkInsertScript.addStatement(“INSERT INTO names VALUES(2,’Sue’)”);
//and example of using a prepared statement
bulkInsertScript.addStatement(“INSERT INTO names VALUES(?,?)”,[3,"Jose"]);
bulkInsertScript.addStatement(“INSERT INTO names VALUES(4,’Bjorn’)”);
bulkInsertScript.addStatement(“INSERT INTO names VALUES(5,’Jean’)”);
bulkInsertScript.addStatement(“INSERT INTO names VALUES(6,’Gustav’)”);
//execute all statements within a transaction
August 28, 2009
I have been playing with the video and audio tags in the UIWebView on the iPhone and WebView on the Mac. I tried them in the QT WebView as well on linux. I am pleased to announce that they work great! I have tried it with mp3, mp4, and wmv. All worked on all three platforms.
It looks like this is a good way to display videos for your users to play in your hybrid applications.
Let’s say you have a video called someCrazyMovie.mp4 that you want to display to your users. On the iPhone or the Mac put it in the Resources group of your Xcode project that uses a UIWebView. Point the UIWebView to a local html file, also in the resources file.
In this html file put the following code.
<video src=”someCrazyMovie.mp4>A movie description as an alt</video>
When you run your application you will see the first frame of the video used as a representational image. You can play it by clicking it. On the iPhone and iPod touch the movie player launches to play the movie.
The tag lets you size it, display or not display the video controls, etc.
The audio tag is used much the same way.
I’ll include an example for both the iPhone and the Mac in the 1.5.0 release of QuickConnectiPhone 1.5.0
March 5, 2009
I have finally been able to complete the line graphs(charts) portion of the Charting and Graphing QuickConnect library and am working on getting a final bug out of the Bar and Pie charts.
I plan on producing a video on how these are used and how to create them in your code but thought that a quick view of what is coming in V 1.5 beta 2 would be of interest.
I have put a few images here for you to see. The first is a line graph showing two separate data series being displayed. If you touch the data points, either directly or by moving your finger over them, the value and description of the point is displayed in the display area of the chart. You can also cycle through the values of a series by using the forward and backward arrows or by moving your finger across the color display bar.
The next image is of the same data but drawn as a filled line chart.
If you touch any of the data points the series that contains that value is brought to the front as you can see in this next image.
I have tried to make this as easy to use as I can. Here is the code to create the filled chart.
var fill = false;
var shadow = true;
lineDisplay.chart = new QCLineChart(document.getElementById(‘lineChartDisplay’), ‘Animals’, shadow, fill);
lineDisplay.chart.addSeries(‘Some Animals’,[['cats',15], ['hipos',2], ['fish',7], ['dogs',4]
, ['bears',20], ['mice',3], ['elephants',7], ['dogs',10], ['kangaroo',18]]);
lineDisplay.chart.addSeries(‘Other Animals’,[['gorillas',10], ['snakes',5], ['robins',3],['rats',4], ['moose',15], ['deer',14], ['tigers',0 ], ['jaguar',9], ['emu',9]]);
To change it to a standard non-filled chart just change the fill variable to false.