options for windows phone database? - c#

Well, I am not very good with c#.net thus I am really confused about the database that I should use. I am trying to build a windows phone app that can communicate with the SQL database that I have online. I have asked some people and they have suggested me to write an API for the database so that I can generate a JSON/XML data from it and use it in my windows phone app and other way around.
So, here are some of my questions:
1) Which Database should I use for my .net website so that my windows phone app can communicate with the database as well?
2) If I have a Database then should I make an API for it, so that I can help it send JSON data to the mobile app and receive it as well or is there any better option for this?
I couldn't find a proper answer for these questions anywhere. do let me know the best options available.
Thanks in advance!

The choice of database is completely yours and depends on the type of application you want. You must never access your database on the server from an application directly. Make necessary APIs to do that for you for security reasons.
Having said that, you can look at MongoDB if you are going to work with extensive JSON since it can store, retrieve and process JSON out of the box.
Other than that, any database can be used to serialize data to JSON and send it to your app. Like for example you can use MySQL, and the database adapters will help you return the results to your app in a JSON format.

You can use any database that suites your requirements of website, it will not effect your windows phone app because windows phone will communicate with API's(Web API is the best way) so for windows phone app it is transparent.
Yes, Create Web APIs at server side and call those APIs from mobile to send/receive data in JSON format this the standard and best way to send/receive data.
I would also suggest to store your server side data in windows phone local store(using SQLite or in json files). So that if mobile is not connected to internet your app can still work in offline mode and sync data when internet connection is available.
P:S. As you are developing new windows phone application than target windows phone 8.1(windows Runtime or Universal app) instead windows pone 8 as there are new features and improvements in it. and soon all windows phone 8 devices will upgraded to windows phone 8.1

Related

Get data from local xampp mysql-database

Im am trying to connect a local mysql database which runs on xampp with a Universal Windows Platform (UWP) Application. I couldn't find any examples or tutorials on how to archieve this. In one article i have read that this isn't even possible and only sqlite is supported. Is this true?
I have to do a work for school and one criteria is, that it must have a relational database and another is to support multi-user functionality.
I dont know if it is not possible or am I just to blind to find Informations? Sometimes it seems really hard to get to informations to windows app development.
Did someone make experiences with connecting relational databases to UWP-Apps?
UWP app can connect to any server based database behind a web service. Per my experience, Windows Store app can directly connect to MySQL. Check this. I didn't have a chance to try it on win 10 UWP.
Sqlite is the database if you want to deploy a database to the device along with your UWP app.

Database for Windows Phone 8.1 Silverlight

Any good recommendation of database for me to develop in the Windows Phone 8.1 Silverlight? There're SQLite, SQL Server CE 4.0. But I heard some of them still not compatible with the Windows Phone 8.1, so which database I can use for Windows Phone 8.1 Silverlight? And there're any tutorial for me to do the database for the Windows Phone 8.1 Silverlight? Anyone can help me? Please...
If you plan to update your project to universal apps, you should use SQLite because SQL Server CE is not supported in WinRT. Whereas SQLite is supported for both Windows Phone 8.1 and Windows 8.1.
Old question, but I couldn't spare my self.
Don't use sql in WP8(is it even allowed?) and client applications overall, it's bad architechture, really bad and dangerous.
Databases belongs on backends that host Webservices, like forinstance WCF with JSON and/or SOAP. It also lets the backend to the heavy db lifting.
Use Object Relation Models or Entitites for your data you get from the backend, and let the backend do all db magic independent off db type. It makes it so much easier for your client code as well, as you can just bind to these datamodels.
NHibernate is a pretty good provider, and I would reccomend you to have a look at it.
Cheers
Stian

getting data from database in windows 8 app

I am building a windows 8 app which requires me to get data from a remotely hosted server. Which API can I use to get the required data? I am using c# and xaml. I basically want to communicate with Microsoft SQL Server Analysis Services. ADOMD.NET cannot be used as windows 8 store apps donot support it.
In a Windows 8 app, we can specify for example a connection string to read out data stored in a server-side database. Not only would this be a huge security risk (imagine your connection string being on the thousands of devices where your app is downloaded!), it would also be pretty useless to have it there. WinRT has no knowledge of talking with a (remote) database. This means no ADO.NET or LINQ-To-SQL classes are in the API.
windows 8 style apps dont have out of the box functionality to contact to a database. so you need webservices to conect at a remote database.
If you have a database on a web server for which you can write an OData service, then that's an option. You can use the OData Libraries
I hope http://blogs.msdn.com/b/phaniraj/archive/2012/04/26/developing-windows-8-metro-style-applications-that-consume-odata.aspx will help you.

Sync between two windows phone devices

I have a project wherein i have to create a windows mobile app which synchronize files between two windows phone, provided that the connectivity between two phone should be through WiFi.
Being new to this app development field , i have no idea on where to start and where to look. Is there any sample application present to sync data between two phones without involving any database. And what API should i use. i referred to some tutorials on this website.
This won't be possible without a server between both phones. Microsoft is very restrictive and won't let you access the WiFi connection. Actually you would have to use one of the phones as a WiFi hotspot and the other one as client and this is definitely not possible with an WP app.
I would recommend to write a Windows Service (have a look at WCF) which both phones connect to. This service would have to do all the work which would be:
Wait for phone requests to work with them
Handle the request when a phone wants to synchronize data
Let the second phone know that there are new data to receive
Transfer data to the second phone
Actually there will be more requirements for such a service (e.g. security) you will have to deal with.
Yet, there is a solution because Rudy Huyn connected several Windows phone using the connection Wifi without server http://www.youtube.com/watch?feature=player_embedded&v=rl0VHkoOHTA
But I don't know how..

Windows Azure and Metro-style apps in Windows 8

I have atleast 5 billion ideas for a new App in Windows 8. However, most of them rely on a remote database connection.
Which is currently not possible in Metro apps. But I don't want just a work-around. Or an script that accesses an API which will access the DB and return results. So then I went to the MS forums and found a post somewhere (which I can't seem to find now) stating that I can just use Windows Azure SQL database and can connect to that one from within Windows Metro.
But I don't see any resources or documentation to back that up and I'm completely lost as to what to do.
Most apps these days, to offer any sort of personalized user experience need to communicate with the outside world and it's just impossible to do in Metro apps from what I can see.
Does anybody know if you can connect to a Windows Azure SQL DB from within a Metro style app? Any resources/Docs/Links/Samples you know of?
Thank you!
Metro apps are optimized for tablets and generally CPU-and-battery constrained devices. Directly connecting to a database and processing the results is expensive in CPU, battery AND bandwidth terms.
What's more, database protocols aren't cachable and were not meant to deal with internet latencies. Your app could waste a lot of time trying and retrying to connect to the database each time the connection quality degraded.
The best option would be to a set of WCF Data Services on top of your database and expose them to your application. It's easy to create a WCF Data Service on top of an Entity Framework model and the OData protocol used by WCF Data Services allows querying your entities using LINQ in an asynchronous manner. More complex processing can be done in the web server.
At this point Metro does not have a System.Data so there is no direct connect to the database. You would need to communicate with the database via WCF to a Web Service.
Metro does have a user settings facility but I cannot find it right now. http://msdn.microsoft.com/library/windows/apps/BR208189
The history is that the jumping off point for Metro was Silverlight. Not saying that makes sense just what I have read. It appears Microsoft wants to sandbox Metro for the Metro Store.

Categories

Resources