Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
0 Kudos


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>

5 Comments