Integrate Augmented Reality app with database - android

I'm quite new to AR and Unity3D, but I've learnt how to create simple AR app using Vuforia SDK for Unity. Till now I can work with 3D object, image target and export into Android project.
Now, my question is: How can I use database (MySql, Sqlite, etc.) with the AR? For example, I'd like to show some information retrieved from db on my 3D object in Android application.
I am not sure should this be implemented either in Unity or Android solution? I also could not find any relevant tutorial and would appreciate any advice.
Edit:
More on database
It primarily would contain text data, link to images which will be located on the remote server as well as database itself. Preferably, it should be MySql database. On the other hand, I will use RESTful web services.
I know I can use all this in Android project, but how can I access the 3D object within the code?

For the webserver side, you can use php or any other language. The recommended one is php so you have to learn php.
For your main app, you can use Unity, use the [WWW][1] class to connect to the server. When connected to the server, the php script will retrieve information from the database and send it back to Unity. This supports texts, images, audio and many others.
https://stackoverflow.com/a/25200894/3785314
http://www.cs.vu.nl/~eliens/.CREATE/local/essay/09/nm2/klitsie-joost.pdf

Related

Android Sql Lite download from sql server using webservice

I have a website which display quotes grouped by author.
The front end is in asp.net and the database is in sql server 2012.
The table is simple with four fields.
Id numeric and primary key
Author nvarchar
Quote nvarchar
Insertdate datetime.
Now, I want to create a mobile app on both Android and ios platform.
First I started with Android using android studio.
I have the basic design ready with layout.
Now, I am stuck with the main requirements which is I want to give user the options of downloading the quotes when online and the quotes already downloaded should be available offline.
I have been trying multiple tutorial but can't find the one with the exact requirements.
So, is this the below right way of going forward?
I created a webservice and transferring the data using retrofit library. Now I'm able to display the data but not storing it locally. As this part is complete just want to be sure if I have done it the correct way as don't want to rollback once I start working on the part two that is storing the data in sqlite.
Also, can I reuse some of the functionality on ios.
Seems reasonable.
What you probably want to do now is introduce local storage for the data so they don't have to be online and accessing the API all the time. For Android SQLite is the normal way of storing data, and iOS uses Core Data (although SQLite is available).
Everything up to the API is reusable, you'll need to develop the download and storage for each ecosystem separately.
NB - that being said, I believe that Google's Firebase cloud database has an offline mode, so you could potentially work around the need to develop the syncs separately and use Firebase's SDK to get the data into an auto synced local store. Haven't used it myself, but it;s out there.

What business logic can I share between my Android and iOS apps using Xamarin?

I want to build an app that targets multiple platforms (Android and iOS) using Xamarin. This app consists of retrieving specific datas from MySQL database, store them in an internal database (using SQLite database for Android for example) and make a screen containing a list of products names to make it simple. Doing this, the device running my app can show the list offline. In addition to that, the client using my app (either Android device or iOS device) when it gets online, should be notified of modifications in the mysql database and update the internal database.
Creating this cross-platform Android and iOS app with Xamarin normally involves creating three types of projects:
A portable class library project that contains the shared code
An Android application project containing the Android specific code
An iOS application project containing the iOS specific code
It's fairly easy to notice that the User Interface is the part that I can't share between Android and iOS. But I find it so difficult to find the part that can be shared between them.
Is it possible to share the logic of
Retrieving datas from MySQL database?
Getting notifications when MySQL database is updated?
Storing datas in an internal storage?
Retrieving datas form the internal storage?
Your shared project can (generally) contain anything that isn't platform or UI specific, like:
data access
domain models
service code
view models
utility code
Also note that if you use Xamarin Forms you can also put your UI code in shared project.

creating a database for a website and mobile app

I want to create a database so both my website and mobile app could draw info from there.
I know how to execute queries with a website, but I have little to none experience with mobile applications.
I heard I can't just use any form of database(mysql, mongodb) because they are not compatible or something.
so how do I create my database so it will be compatible with android iOS and PC.
A few guidelines to get me started would be great :)
Sounds like you need to build an API to handle interaction between your mobile applications and your database, in much the same way your website communicates with your database. The primary difference will be that you will be returning JSON/XML to your apps, rather than displaying HTML to a user.
I thoroughly recommend JSON over XML as it is not as verbose and data usage will drop dramatically. However, if you're data structures are quite detailed / complex, go with XML.
To get started with building an API I'll recommend Slim PHP. You'll probably want some form of ORM also, for which I highly recommend idiorm/paris
The documentation for both of these frameworks is great, so have a dig around.
You can create a database with MySQL and draw info from your site with mysql queries. As for your mobile app, you can use some php pages and JSON Parser to draw data from the database. See example
As you say android doesn't support external databases such as MySQL. The easiest thing to do would be to create a MySQL Database that your website and android app can access.
The website would access the MySQL database as normal but the android app instead posts data such as variables to a PHP script, the PHP script can then get the retrieved data and perform the mysql queryies and json_encode the output and print the encoded data. The android app would then receive the outputted json format and the android app can then decode the json and process the data accordingly.
http://www.helloandroid.com/tutorials/connecting-mysql-database has some tutorials on how this can be done
You need to use Service - Oriented Architecture.
You may use REST API methodology for creating interfaces.
See this example
www.hassanpur.com/blog/2010/09/android-development-implementing-a-simple-client-server-model/

which kind of database to use with android app?

I am developing an android program for my university. I am confused about which database to use.
What I want is that when the user is connected to the internet the program will check for any updates in the backend database. If there is any, the program will sync it with Android device.
Let's assume that after while the user opens the program in place with no internet, the program will work just fine because the file is already in his mobile.
I chose Access and created .xml file and by the help of this site: XML resources in android. I learnt how to read it.
Actually this program is my senior project. I dont want the judges to ask me why didn't I use MySQL or SQLite.
Which database system should I use? Is Access the right database system to choose?
I want to do a program that looks just like Univ of Kent program.
Parsing XML could take time, also in XML you have no choice but to load the whole file.
SQLite is fast, simple to use and very dynamic.
Android offers a very simple SQLite API. Androoid SQLite API
If you are interested in reading more about all the data storage types in Android visit this link
It depends upon your requirement. lets say you want to build something which handles and stores the data on your device locally then SQLite is a good option (you can use firebase as well).if you want to do some sort of calculation on you data on a remote server then firebase is a best choice .
by using firebase you can store your data generated by your users and then if you want you can carry out some analytics as well.
i would prefer Firebase .

Searching Database Records in iPad/Android using Titanium Studio

I am currently developing iPad application which involve retrieving information from webservice and then storing those information in the local database. Based on users searching criteria, I want to search the database to retrieve relevant database entries. I am using Titanium Studio for developing this iPad application. Could someone suggest me if there is any plugin, standard process, or sample application to understand how to get this done in an optimal way.
You can follow these two videos from Appceelerator on using local data and remote data. There is also source code for these. These are what got me running.
Local data: http://vimeopro.com/appcelerator/building-native-mobile-applications/video/26414892
Remote data: http://vimeopro.com/appcelerator/building-native-mobile-applications/video/26414909
Source code and labs: http://wiki.appcelerator.org/display/td/TCAD+Course+Labs

Categories

Resources