This blog demonstrates how to create a bread and butter(no fancy UI!) android application to create activities in 12Sprint. The blog would also discuss how to call RESTful services from an Android application.
Android comes with Apache Http Client api and we would use this api to make the rest service calls.
To create an activity URL : (POST) /v1/activities <[
https://beta.12sprints.com/api/Post_an_activity.html |
https://beta.12sprints.com/api/Post_an_activity.html]> is used 0.1.
To get all the activities created by the user : (GET) /v1/activities <[
https://beta.12sprints.com/api/Get_all_activities.html |
https://beta.12sprints.com/api/Get_all_activities.html]> is used.
Dealing with authentication specific stuff:
Since 12Sprints requires the user to be authenticated before he/she can play around with the activities we need to set the credentials for our user:
I managed to do this in the following manner with the android api:
DefaultHttpClient httpClient=new DefaultHttpClient();
UsernamePasswordCredentials cred=new UsernamePasswordCredentials("user@domain.com", "password"); //supply your 12Sprints id here
httpClient.getCredentialsProvider().setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT), cred);
Next lets see how to fire a post request to create an activity: String activityNameTxt=activityName.getText().toString(); //get the name of the activity that the user entered
+String newActivity = "
"
</p><p>+ +
"<activity name=\""activityNameTxt
"\"></activity>";
byte[] newActivityByteArray = newActivity.getBytes(Encoding.UTF_8.toString());
+ByteArrayEntity reqEntity = new ByteArrayEntity(newActivityByteArray); +
reqEntity.setContentType("application/xml");
req.setEntity(reqEntity);
Finally execute the request:
HttpResponse res = httpClient.execute(req);
The response code can be fetched using:
int code = res.getStatusLine().getStatusCode();
and the response content using
res.getEntity().getContent();
This is how the final app for creating activity looked on the Android emulator:
The first screen of the application.
Enter activity name and click add.
!
https://weblogs.sdn.sap.com/weblogs/images/251747517/Screen3-created.JPG|height=484|alt=|width=685|s...!</body>