How to connect android app with data store on app-engine - java

I am working with some friends on an android application and we want to use data store on google app engine.
Can anyone help me find a tutorial on how to create a connection between the android app and the data store, I couldn't find a good one myself.
Thanks.

I suggest you look at a few, quite recent Google services:
Endpoints will help you create an interface between your server code and your client, including generating a client library and doing OATH2 authentication.
Volley is an Android library that makes it easy to perform the requests to the server. (There are a number of 3rd party alternatives to Volley that are also good.)
Mobile Starter Kit is a simple way to get started, doing everything from the client initially, but with the ability to customize the server later.
Take a look at this Google blog post from a few days ago:
http://googlecloudplatform.blogspot.ca/2013/11/connecting-mobile-developers-to-the-cloud-with-google-cloud-endpoints.html
Those are good starting points, but don't assume you should use the recommended Google services. Endpoints for example, will lock you into GAE and it doesn't sound like you need the multi-platform support it offers. You could just create a REST/JSON servlet using one of many libraries.

I reccomand DropBox API.
It is not what you asked, but I guess you didnt start using the Google API because you are looking for a tutorial..
DropBox API has a lot of info and tutorials and it's kinda easy to handle..

Related

Android App to monitor training status of models from Google AI Platform

I am trying to build an Android App using Java and Android Studio that will monitor the training status of your models on Google Cloud AI Platform and send a notification to a Wearable when the training is done.
I have been looking for APIs I can use but I am a bit confused as I see a lot of people talking about 'generated apis'. So far I think this is what I need to use but I am not sure if it will work with Android.
Any suggestions how can I achieve this? Thanks.
Reviewing the docs, seems that there is no method that could monitor your progress in the training.
https://cloud.google.com/ai-platform/training/docs/reference/rest/v1/projects/predict
Generated API Clients (GAPICs) are the Google’s newest and most powerful APIs are built with gRPC, an open-source RPC framework that grew from technologies developed at Google. https://googleapis.github.io/#generated-api-clients-gapics
These are like client libraries that uses the model of RPC.
Maybe you can try to attach a notification with some other GCP product like Pub/Sub or Cloud Functions but I am not really sure that this could works for you.
Good Luck!

How to use WebRTC in GAE/J Project

I want to start Video Session on a specific date and time between two users of my application.The Application is written in Java on Google App Engine.
I know about the Twilio SMS/Voice Services ,but GAE docs don't mention about how to have Video Calls.
I have looked into TOKBOX API, which seems a good fit, but what i want to know is , is there a better way to have a Scheduled Video Call in Google App Engine. Is there any bundled service i can use.
Thank You
TokBox has created a Starter Kit called ScheduleKit that has about the same purpose. The UI is modeled like a customer support application, and it also emails a reminder for the video chat. The sample code is built in PHP, but it can easily be ported to work with Java. Take a look at the OpenTok Java SDK.

Synchronizing Google App Engine DataStore with local instance via Datanucleus REST API or some other Java API

I'd like to know if someone can guide me in this aspect, as everything I know is that Datanucleus REST API may help into making the contents of my local Google App Engine datastore and the online one the same, but there might be also another way to do that which is easier, as I'm having great difficulties to understand how could might be done via that API. Application has been done in Java so there's no point in trying to develop it into phyton know, it's way too late for that now.
Thanks a lot for your interest.
Edit: Well I actually found some interesting tools here: http://www.appwrench.onpositive.com, but it would be better for my application if I could done by code as it would need to be executed automatically once a day, so if you know of some not too hard way to achieve what I'm telling I'll be grateful if you tell me so, if not I'll just stick with the tools.
I don't know DataNucleus, but you can connect GAE Datastore from local machines using Remote API
you can use Remote API to access a production datastore from an app
running on your local machine. You can also use Remote API to access
the datastore of one App Engine app from a different App Engine app.
With this, you can code an app to synchronize the data

AppEngine social application

I started developing my application in AppEngine Java, however I noticed that Facebook has officially discontinued the support for the Java API and the third party API was last updated a year ago.
Does anybody use Java + Social plugins? How has it been going so far? Should I switch to Python, I'd not want to since, I'm not very great with Python and have written significant amounts of code in Java already.
I have been using facebook-java-api on Google App Engine for a year now. It does almost all I need it to do (get friends list, get photos, upload photos). It uses the old REST api but I have not seen a deprecation date for the methods I use.
I also use Apache HTTP Client to do some Graph API calls not available in the REST api (deleting a photo for example).
If you decide to use python, try a look to vikuit social. It runs over Google Appengine , it's open source ( GNU3) and perhaps it's a good base to your development.

Android communicating with servers

I come from a .Net background and recently x-training to java.
I wanted to develop an Android application that required simple functionality to communicate with a server. For example, functionality such as post a username/score to a website (or service), or request information such as top 10 scores.
What type of communications should I focus on? What is the common technology to use? Does Java have the equivalent of WCF? Or does it have some sort of simple web service? Can web services be secured with authentication?
Ive heard other references to xml-rpc. Should this be something I should look into?
Depends on what your server is running. I usually just use URLs to fetch and/or send data and then parse the response with whatever is suited (such as org.json for JSON or org.w3c.dom for XML or HTML).
Java has the equivalent of WCF in the fact that you can develop Web Services with Java and use frameworks to develop such services to benefit from different features. The format which you send messages to these web services I think is what you are asking as such you literally can use any format you want (Dependent on support of such format by the service). You will find libraries for many of the well known formats like SOAP (KSOAP2), REST (JSON,XML) etc... Since the transport of these can be over HTTP, and you get a library in android to develop such services over HTTP you have quite a choice.
For Reference:
http://ksoap2.sourceforge.net/
https://metro.dev.java.net/
http://msdn.microsoft.com/en-us/netframework/cc950529.aspx
Hope this helps,
Andrew
Without knowing all of your requirements but assuming it's gaming-related, you might be better served trying one of the Android gaming APIs rather than trying to roll-your-own networking solution. Scoreloop and OpenFeint, the two I am currently considering for my own Android game, both offer Android APIs that make it fairly straight-forward for posting and retrieving high-scores, in addition to other game-related features such as challenges and social network integration.
The advantage of this option is that you don't have to worry about how the phone talks to the server nor do you have to host the server itself - they have already solved those problems for you - and they're free which makes it great for us indie developers.

Categories