I want to develop android application like Photofeed application as mentioned on Google cloud sample link or like Instagram. For that I need App Engine SDK but i am not getting how i will achieve this functionality. In my app, i want exact functionalities (uploading image, like and comment on that photo) like Photofeed app shown on that link. For that I'll have to use Google Cloud Storage but Photofeed is for Webapp and i want to develop Mobile app. For that i also referred Mobile back-end starter but not getting much idea. Its quite confusing. Please guide me to develop this application. Is it possible to use Photofeed sample java classes in my android application?
Thank you.
You will need to install Google Plugin for Eclipse and make Android Connected App Engine Application. This is a good starting point.
You can make similar app or any app that connects to GAE as backend in 4 steps as follows:
Make your entity classes: You can use JPA, JDO or Objectify to access the Data Store or use its API directly as done in the sample NoSQL classes (The easiest way is Objectify IMO). Or you can use Google Cloud SQL as done in the SQL classes of the sample ( I never used that in a project so I do not know if there is another way beside the API).
Make REST Endpoints: You can use Google Cloud Endpoints to make REST API for your own app. This will allow you to develop Android, iOS and JavaScript clients in unified way. If needed you can secure it using OAuth too.
Generate Client Libraries: If you are using Eclipse, Google Plugin will provide that in the context menu of the App Engine project so you simply right click and click Generate Client Libraries. It can be done using command line too.
Consume the endpoints in the Android app: This is done really simple as explained here.
Note : You will need a Servlet to upload photos to Google Cloud Storage. You can make use of the one in the sample.
Related
I have successfully developed an android application with Google App Engine as the Backend. Now I want to develop 2nd android application and want to connect it to the same App Engine of the 1st App. In short. 2 android applications with same App Engine at the backend hence common datastore.
Could not find the detailed and satisfactory answer, please provide the answer in detail. Thanks
I am assuming that the first Android application connects to the App Engine backend using a REST APIo r in general a Web Service. That is the recommended route and you should be able to use the same API in your second Android Application too !
Do give more details if this is not what you were looking for.
Surprisingly, the Eclipse plug-in doesn't really support this - it will only automatically copy the generated client files into a single project.
Fortunately, there are some (manual) solutions that are discussed here:
How to move Cloud Endpoints generated sources.jar library into Android project
so I created App Engine Connected Android Project, I successfully deployed it to app engine server and I`m able to upload and retrieve my entities from my android app.
Now I want to create a website, which should access same entities and most preferably I want to code it in python-django. Is it possible? Or create django website and then somehow add android access endpoints? I couldn`t google anyhing useful.
Im stuck here and will be really really thankfull. This is my first app engine app so I hope Im not asking stupid question.
If I understand correct, you already have deployed your core functionality on the server side via Cloud endpoints and are able to access that functionality from your Android client.
You can definitely access the same functionality via a web application (this could be the same App Engine application in which you have hosted the cloud endpoints) or it could be another web application also. The Endpoints can be accessed via a JavaScript client API that Google provides. Take a look at the following API : https://developers.google.com/api-client-library/javascript/ and the documentation for accessing endpoints via JavaScript : https://developers.google.com/appengine/docs/python/endpoints/consume_js
The projected you created using the wizard using Java on both Android and GAE. You could add a web client to that as described in #Romin's answer, but you can also use Django.
I think the best way to do this is to scrap the Java server that the wizard generated and replace with a Django/Python runtime. As you suggested, you can then use Cloud Endpoints to generated Android client code from your Python code.
It is possible to stick with the generated Java Server and use Django but I think that adds unncessary complexity. YOu would need to either communicate between the Python and Java applications, or use the new modules feature to have 2 different runtimes in one app, but this will probably result in greater cost and it would be a cutting edge use of a new feature. I"ve looked at the Java modules docs and don't see how one would add a Python runtime to complement your existing Java runtime, but apparently it is possible:
https://groups.google.com/forum/#!msg/google-appengine/1228g7-qXZY/_ubjgHlE2_wJ
I want connect sales Force from my Android Program please suggest which one is correct way to achieve this I am new to sales Force I have some knowledge in Android Application Developement.
Thanks in Advance.
You definitely want to use the REST API for mobile apps. The SOAP API is really heavy, and is better for Server-to-Server integrations. The best way to get started building an Android app for Salesforce.com is to take a look at the Salesforce Mobile SDK for Android:
http://wiki.developerforce.com/page/Mobile_SDK
There's a very helpful getting started PDF linked on that page.
However, the SDK is meant mostly for starting new apps, so you'll have some work ahead of you integrating it into an existing application. The main things you want are the oAuth 2.0 User-Agent login and REST wrappers.
You may also find this app useful -- I put it together for a presentation at Dreamforce '11, which was shortly before the Mobile SDK for Android came out, so I wrote the oAuth and REST stuff myself. Might be a simpler starting point for you.
https://github.com/tomgersic/DreamforcengerHunt
Hope that helps!
You can either use the RESTful interface or the SOAP webservices. The latter is a bit easier to deal with IMHO.
Under setup in salesforce, download the partner or enterprise WSDL (partner = generic, enterprise = specific for your SF-instance). Now with wsdl2java you can create Stubs for those wsdl entries. Import those into your android app and use them. See here for a Java Exampe by Salesforce.com.
Be sure your user has the permission to "do API". You might want to look into SSO if you want to make a "production"/commercial app. Also, to login, remember to use the correct password, you might need to add the API key (generate using the Setup tab in SF). Hope this helps.
Try checking out some of the open-source SDK projects the developer evangelists have added to the forcedotcom github
Lots of good examples on different platforms, including android with phonegap/html5 and a native SDK for android (iOS and Android) to get you past authentication and onto building your app.
Salesforce Provides mobile SDK for development on mobile device, here is the link for android SDK:
http://wiki.developerforce.com/page/Getting_Started_with_the_Mobile_SDK_for_Android
You need to:
Download SDK.
Add a sample project included in SDK's native/SampleApps folder(make sure you check include to the workspace while importing the project).
Get your remote access form salesforce and update in your app.
--This should get you started with a sample app form salsforce.
After this you need to modify existing code to your own code.
You can go to trailhead and start browsing on it, while working with your own application you will have to learn a lot about smartStore and smartSync,
I did implemented A smartStore App with using salesforce as database provider, if you want i can upload it to drive and share a link to you and
if you have any doubts about using or understanding the flow be free to ask..
I am an iphone developer. I create many mobile applications. Some of them need a server side backend to store data and then my iphone applications access them.
Usually, I need to create a backend web application myself using PHP or RoR. However, they are very straight forward web application with some cruds (create, update, delete, edit, ..etc)
There are some troubles with this work:
I need to create very simple application and deploy it myself to the
server
If I am only iphone developer and don't know PHP or RoR, I
ask for some other web developer help.
Is there any existing web application that enables me to build my database schema and just give me API access to my data?
I'd like to recommend Appacitive - Its an awesome tool with many innovative features. One of the biggest advantage it has is that you can create your data model diagrammatically, and all the corresponding APIs are automatically generated for you.
They have relationship managers both in diagrammatic designer and via code. You can also filter data by using their visual tools. Test drive the APIs via their Test Harness tool.
Other great features include a data explorer, inbuilt Social Integration and Geo Location. Have a look at their features.
Try out their free package, they have all sorts of SDKs for Javascript, Android, iOS etc.
You should take a look at parse.com, it provides you the facility to add back-end to your mobile applications in minutes. Here is a tour of their services and android guide.
Look at QuickBlox. There is Custom Objects module, it allows to to build any data structure you want. There are a lot of iOS samples
I am looking into building an android app, which holds some simple data (probably stored in sqlite). I also have a app engine app which I intend to be an online data store for the information (the app engine app is wrote in python).
The question here is, what is the best way to authenticate a user with the app and how to get the data from the android app to the Google data store?
Thanks
Mike
You could use Google Account authentication and follow this useful post about Authenticating against App Engine from an Android app
You can also give a look at the SampleSyncAdapter sample from the SDK
If you want to authenticate using OAuth, you can do that. The only trick is that you need to launch the flow in an internal WebView, because App Engine's OAuth implementation doesn't allow custom protocols in the redirect. I recommend the Signpost library. If you'd like an example, the 2cloud Android client is licensed under the MIT license (full disclosure, I'm the lead dev for 2cloud). The benefit of this is it allows you to support Android 1.5 and higher. The Accounts API is only supported starting in 2.1.
Another option is the Accounts API. #systempuntoout has good links for that, so I won't reinvent the wheel here.
Finally, it might be worth taking a look at the App Engine-powered Android Eclipse project that was demo'd at I/O this year. It makes keeping code in sync and shared between the two simple. Only downsides are it requires Android 2.2 or higher, and it requires you to write in Java on the App Engine side and GWT for the client side.