I am working on an home automation system my android application can turn lights on and off using bluetooth, i want to add another feature of controlling the devices from webpage.
Can anyone tell me what is the easiest way to do this, i know GCM(Google Cloud Messaging) is the best solution but is there any other better or easy way of doing it.
And if anyone has some working piece of code, please share it with me; I want to finish this project as soon as possible
If you have a backend built using PHP, Rails etc you can have API's that the app can call and check for instructions. However, this has the side effect of draining he battery due to continous polling.
If you don't wanna go the "polling the server periodically" way, you can use GCM as you mentioned.
You can send data using the JSON data format. This is easily the lighest and most versatile data format used by many web and android apps and has tremendous support from third party libraries as well.
Here are some tutorials for this:
http://developer.android.com/guide/google/gcm/demo.html
http://android.amolgupta.in/2012/07/google-cloud-messaging-gcm-tutorial.html
http://www.londatiga.net/featured-articles/how-to-send-message-to-google-cloud-messaging-gcm-server-using-json-and-php/
http://fundroiding.wordpress.com/2012/06/29/google-cloud-messaging-for-android-gcm-simple-tutorial/
http://androidjayavelu.blogspot.in/2012/07/google-cloud-messaging-gcm-tutorial_27.html
Related
I need to develop an Android app which is basically a geolocator, allowing people to reach each other via Google maps. All being said, I don't know how do I accomplish such thing since I don't know how it does work and if I need a server or database on the way. I'd be grateful if anyone could shed some light on this topic.
As you said you will need Android application and Server through which Android clients will communicate.
Android Application
will be getting data of other Android devices from server and then showing those data on the screen
will be periodically sending own location to the server
Server
is responsible for storing geolocation of Android clients, data can be stored in some database or memory of the server, depends on the use case, how long you need to have those data, how important they are, etc.
is responsible for sending stored geolocation data to Android clients
you have various options, you can write your own server in whatever technology you wish - it can be PHP server, NodeJS server, Java server... or you will use some serverless solution. Check for example
https://firebase.google.com
has to be hosted somewhere, you have many options:
there are "traditional" hosting providers, where you are usually limited by technologies you can use, for example you can just use PHP or you will use products from Heroku or Amazon AWS.. there is more, Microsoft has Microsoft Azure or Redhat has Openshift.. There are differences in prices, services, etc., it is up to you to look and decide what is the best for you.
I for sure missed lot of things. It is not in my power to describe every possible corner case because the question is too broad but rather provide you with higher overview of the problem and possibly point you where to go next. I suggest to you to read more about problematic and then get back with more specific issues to solve.
I am currently working on an application which is a small applications for businesses to list their promotions on my website. I have created this in ASP.NET and I'm using a REST-like interface for my website in the back-end. I'd like to now also introduce an android application. I've noticed there are things like windows azure mobile services out there which let you easily create and integrate data services to mobile applications. My question is should I use the same interface as my website or is there a conversion people use in the commercial space.
Thanks for your help :)
I do not have any experience with windows azure mobile services but I have many experience in writing APIs for different front ends (mobile/win/web/widgets) and never heart about any conventions/conversions in commercial space.
My advice is. If you need to push data to mobile application use some service that can do it or write yours. If you are going to write push notifications service you will need server to run it.
If the application will only pull data from server or push to it than better use same REST-like interface you already have. It can to avoid code duplication and will create some data exchange standard between you front ends and back end.
Hope it will help you.
I wondering any solution to make an real time chat like wechat or whatsapp. I having researching but most of them are just mention use 3rd parties server. I already have my LEMP server setup so I would like to use my own server instead of 3rd parties.
I mean if I have 10K download my app from either google or app store. I want them be able chat with one another in real time just like whatsapp. How can I let them retreive the new data that send by another user in real time without using any library or 3rd parties such as XMPP, PUSHER or PARSE?
Sorry for my grammar error. Any Suggestion apperciate.
If you have setup your web server communication could be done in real time web sockets https://www.websocket.org/ . You could send and receive messages in json formats . Also have a look at Stomp http://stomp.github.io/
I would recommend Websocket related solution.
Try Socket.io or Firebase. They are both easy to implementation similar function and are also scalable.
Hi I need to develop a fully functional IM solution (like viber or whatsapp) for android. It will have the basic chat features plus many more. Can any one direct me on this. I don't want to re invent the wheel so my target is to use the existing thing as much as possible for the chat server etc (some thing like jabber). If one can direct me for this, or give me some good advice for this it will be a great help.
Edit -
I will extend the application future to allow other platform clients like Windows Mobile or iOS clients. In that sense what would be the best technology to implement the server? It must handle real time traffic well. Will I be able to wrap or extend some sort of a XAMPP server to get my work done?
This is what you need. http://developer.android.com/google/gcm/index.html
It has everything you need for developing applications like viber, gtalk, instant messaging sistems, global user notifications etc...and its pretty easy to implement.
A good solution if you don't want to reinvent the wheel is to create a Jabber / XMPP client on Android and all other platforms.
Server-side, you can use an OpenFire server for managing the roster and conversations with the Smack Library
Google Cloud Messaging as mentioned Janbo is the best way for sending push notifications to your mobile app.
What you could look into, is something like Firebase. They have an incredible api for such applications
firebase link to android docs
Plus it gives you a backend at the same time for free.
What is the easiest way to implement a simple app which does two things:
receive push notifications (new messages in user's inbox),
open a page on my website in a webview or web browser.
It would be best if the solution was portable among iOS, Android and possibly other mobile systems like Windows Phone and BlackBerry 10, but I'm happy with separate solutions, if it's the only way to do it.
I suggest that, checking out Parse apis for this task.
There are solutions like http://xtify.com/ or http://urbanairship.com/products/push-notifications/ that provide an all in one package across platforms but I don't know the quality of service or which one would be right for you, some research on your part will be necessary if you choose this path.
Or you could implement it yourself but it will require your own server. The server would notify both Androids C2DM And Apple Push Service at the same time. You will have to implement the client side on each.
For iPhone here's a good tutorial for setting it up http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12
For Android http://www.vogella.com/articles/AndroidCloudToDeviceMessaging/article.html
You register your app with both services then sends the push keys to your server. With the keys the server can then notify both platforms respective push services to send a notification .
I can't really help with the server setup stuff as its not my area of expertise but this is how we implement push notifications for the apps my company makes.
I'd recommend a Phonegap (Cordova) app and UrbanAirship for the notifications. You can get a free account with that. It's relatively easy to implement too.
As for the browser, I'm not sure exactly what you want it for. Could you elaborate and I'll post a response.