how can I call Items from database in unity3d? - android

I'm trying to develop a mobile application which uses Unity3d and Vuforia to create an AR app.
Is there a way to create a database in unity and by scanning an object, it will display windows with the content retrieved from the database?
For example, I have images and descriptions of food in price groups
and if I scan a bill, it will pop windows of the images in the database which belongs to the price group.

If you wish to keep the app offline you'll have all your data stored locally on the device and can only update the data by updating the app.
If this is the way you want to go, the task is more or less straight forward. You can either:
Keep all the data in files and load them from your Resources folder at runtime (Resources.Load) or
Deliver a database engine with your app and use it to access a local database also delivered with your app
Depending on the complexity of your queries the second approach might (!) be more practical, however, database engines can be problematic because they may not be supported on all the platforms you may want to target.

Related

When I use a sqlite database as an asset can the database still be used/viewed by another program?

I am working on my capstone and I need to create two programs using two different languages that use a single local database. I am making a chore manager that will be a windows program and an android app. I figure out how to use sqlite for the windows app, but I cannot wrap my head around using an existing database with android studio. I need the app to be able to read existing data and display it and then based on some conditions edit the data.
If I add the database as an asset will the data a user changes using the app be usable by another windows program?
Here's my opinion: "Don't use SQLite for this." Use a regular shared database that you can (securely ...) access from both environments.
SQLite databases are files, accessed through the file-system. They are most commonly used where the data won't be shared, because, like any "shared file" database of aeons past, they are always subject to corruption if someone (or the operating system, or the network ...) does anything wrong. Whereas a conventional client/server database doesn't have these problems because it controls the data while it talks to you.
SQLite is a marvelous tool for storing structured information on a device. I've deployed many dozens of "boutique" websites which store their page-information that way. But, I think, it's not the right tool for this job.

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.

Hybrid mobile app local storage

I am making an offline game app using Phonegap. I used to store everything online for my previous web app projects, but this time I want to try local storage.
I see there are couple of options for Phonegap:
- WebSQL, it seems just a SQL database.
- IndexDB, which is not fully supported by Phonegap
- File system. I mean I can cache the data on the device's local file system in my own pattern like most of the PC games do.
Suppose it is a RPG game and I need to store maps, characters, characters' items, characters' relative position in their map, etc...So I may often need to joint 4~5 tables in a relational database and deal with thousands of records. Is it going to be a heavy burden for WebSQL? If I use WebSQL, how will it be stored on the device's file system? If WebSQL, how can I let the app load the initial settings of the game when the app is running its first time?
I am also wondering how to load these data during the runtime of the app. Do I cache everything into the memory when the app is initialized, or only retrieve the piece of data I need when I need to use it?

Storing User's Game Progress

I'm working on a cross platform game which will support both logins and 'guest' play. The benefit to logging in is, of course, that your game progress will be saved and accessible via multiple devices. For guest play I'll just be storing game progress locally via JSON or something similar.
What do you see as the best way of saving game progress externally? When the user logs in, their completion should be fetched and updated locally, and when the user completes an action (beats a level, etc.) their completion should be updated locally and then pushed to the external source, too.
Initially I was considering just MySQL with a Levels table or something similar, but would a JSON approach (MongosDB, maybe?) be best? What would you recommend?
Thanks!
If you don't want to spend time learning a web language and database, you can use a Backend as a Service (BaaS) provider like Parse.com
If you do want to learn a web language and database, you can take your pick of anything, really. Your problem is simple and it'll make an effective learning exercise no matter what you choose.
CoreData. For both local and external use.
It has more than you asked for, but may be challenging to get into.
From what I see, also SQLite should do the job. I could say that is lighter than Core Data.
SQLite is a software library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is the most widely deployed SQL database engine in the world. The source code for SQLite is in the public domain.
SQLite

Profile images save as blob vs in filesystem

So I've got a unique system going on which is spread across 2 apps and 1 website. All 3 components of the system will share the same data source now each user has 1 and only 1 image to upload which will be their profile image. I'm debating if I should store them in the file system or the database the trade here are equal in my eyes. Storing them in the file system I'll have to retrieve them in 3 different systems from one server hassle.. on the other hand storing them in the DB could potentially make the DB slow.
One thing I see happening here is what if I make an images table and not back it up and just have all images reference an image in the images table. Worst thing that can happen is I'll lose all images.. xD which isn't really significant
I'm using windows azure to host my database
my website will run asp.net on windows azure and I'm using azure mobile services to serve apps
Since the same image is used by 3 applications, I would recommend using a central place for storing the image instead of storing it locally in the application. The advantage you will get is that if a user updates the image from any application, changes will be reflected in other applications as well without worrying about the synchronization hassles.
However instead of using a database table for storing images, use Windows Azure Blob Storage. It is meant for that purpose only. Furthermore your data is replicated 3 times within same data center and optionally you could geo-replicate the data for additional redundancy. With blob storage you don't have to worry about backups as well.

Categories

Resources