Posted by Chris Sells, Product Manager, Cloud Tools for Android Studio
Cloud Tools for Android Studio
allows you to simultaneously build the service- and client-side of your
mobile app. Earlier this month, we announced the release of Android Studio 1.0
that showed just how much raw functionality there is available for
Android app developers. However, the client isn’t the whole picture, as
most mobile apps also need one or more web services. It was for this
reason that the Cloud Tools for Android Studio were created.
allows you to simultaneously build the service- and client-side of your
mobile app. Earlier this month, we announced the release of Android Studio 1.0
that showed just how much raw functionality there is available for
Android app developers. However, the client isn’t the whole picture, as
most mobile apps also need one or more web services. It was for this
reason that the Cloud Tools for Android Studio were created.
Cloud Tools put the power of Google App Engine
in the same IDE alongside of your mobile client, giving you all the
same Java language tools for both sides of your app, as well as making
it far easier for you to keep them in sync as each of them changes.
in the same IDE alongside of your mobile client, giving you all the
same Java language tools for both sides of your app, as well as making
it far easier for you to keep them in sync as each of them changes.
Getting Started
To get started with Cloud Tools for Android Studio, add a New Module to your Android Studio project, choose Google Cloud Module and you’ll have three choices:
The Java Servlet Module
gives you a plain servlet class for you to implement as you see fit. If
you’d like help building your REST endpoints with declarative routing
and HTTP verbs and automatic Java object serialization to and from JSON,
then you’ll want the Java Endpoints Module.
If you want the power of endpoints, along with the ability to send
notifications from your server to your clients, then choose Backend with Google Cloud Messaging.
gives you a plain servlet class for you to implement as you see fit. If
you’d like help building your REST endpoints with declarative routing
and HTTP verbs and automatic Java object serialization to and from JSON,
then you’ll want the Java Endpoints Module.
If you want the power of endpoints, along with the ability to send
notifications from your server to your clients, then choose Backend with Google Cloud Messaging.
Once you’re done, you’ll have your service code right next to your client code:
Not only does this make it very convenient to build and test your
entire end-to-end, but we also dropped a little extra something into
your app’s build.gradle file:
entire end-to-end, but we also dropped a little extra something into
your app’s build.gradle file:
build.gradle file creates a client-side library for your server-side
endpoint
The updated Gradle file will now create a library for use in your
app’s client code that changes when your service API changes. This
library lets you call into your service from your client and provides
full code completion as you do:
app’s client code that changes when your service API changes. This
library lets you call into your service from your client and provides
full code completion as you do:
Instead of writing the code to create HTTP requests by hand, you can
make calls via the library in a typesafe manner and the marshalling from
JSON to Java will be handled for you, just like on the server-side (but
in reverse, of course).
make calls via the library in a typesafe manner and the marshalling from
JSON to Java will be handled for you, just like on the server-side (but
in reverse, of course).
Endpoints Error Detection
Meanwhile, back on the server-side, as you make changes to your
endpoints, we’re watching to make sure that they’re in good working
order even before you compile by checking the attributes as you type:
endpoints, we’re watching to make sure that they’re in good working
order even before you compile by checking the attributes as you type:
Here, Cloud Tools have found a duplicate name in the ApiMethod attribute, which is easy to do if you’re creating a new method from an existing method.
Creating an Endpoint from an Objectify Entity
If, as part of your endpoint implementation, you decide to take advantage of the popular Objectify library,
you’ll find that Cloud Tools provides special support for you. When you
right-click (or control-click on the Mac) on a file containing an
Objectify entity class, you’ll get the Generate Cloud Endpoint from Java class option:
you’ll find that Cloud Tools provides special support for you. When you
right-click (or control-click on the Mac) on a file containing an
Objectify entity class, you’ll get the Generate Cloud Endpoint from Java class option:
If you’re running this option on a Java class that isn’t built with
Objectify, then you’re going to get an endpoint with empty methods for
get and insert operations that you can implement as appropriate.
However, if you do this with an Objectify entity, you’ll get a fully
implemented endpoint:
Objectify, then you’re going to get an endpoint with empty methods for
get and insert operations that you can implement as appropriate.
However, if you do this with an Objectify entity, you’ll get a fully
implemented endpoint:
Using your Cloud Endpoint
As an Android developer, you’re used to deploying your client first
in the emulator and then into a local device. Likewise, with the
service, you’ll want to test first to your local machine and then, when
you’re ready, deploy into a Google App Engine project. You can run your
service app locally by simply choosing it from the Configurations menu
dropdown on the toolbar and pressing the Run button:
in the emulator and then into a local device. Likewise, with the
service, you’ll want to test first to your local machine and then, when
you’re ready, deploy into a Google App Engine project. You can run your
service app locally by simply choosing it from the Configurations menu
dropdown on the toolbar and pressing the Run button:
This will build and execute your service on http://localhost:8080/
(by default) so that you can test against it with your Android app
running in the emulator. Once you’re ready to deploy to Google Cloud
Platform, you can do so by selecting the Deploy Module to App Engine
option from the Build menu, where you’ll be able to choose the source
module you want to deploy, log into your Google account and pick the
target project to which you’d like to deploy:
(by default) so that you can test against it with your Android app
running in the emulator. Once you’re ready to deploy to Google Cloud
Platform, you can do so by selecting the Deploy Module to App Engine
option from the Build menu, where you’ll be able to choose the source
module you want to deploy, log into your Google account and pick the
target project to which you’d like to deploy:
Cloud Tools beta required some extra copying and pasting to get the
Google login to work, but all of that’s gone now in this release.
Google login to work, but all of that’s gone now in this release.
0 comments:
Post a Comment
Thank you very much for your comments ....................... Please stay with this blog