Following platform conventions is the most important factor here. Different platforms play by different rules and ignoring this can confuse and alienate users.
If you look through the screenshots displayed in the Android design guidelines, you will find a variety of examples that show that in the latest android version the primary button should go on the right and the secondary button on the left.
Think of the buttons in your app as primary action and secondary action - In your case, 'Save' is the primary action. The user has inputted data and it's probable that they will want to save it and continue. So when a user clicks the save button the expectation is that they will progress forward to the next screen.
For the secondary action, in this case 'Cancel', the user clicks this to discard the information they have inputted and go back to the original screen/state.
Thus having the Save button on the right correlates with going forward and the Cancel button on the left correlates with going back.
Also it is helpful for the user when the primary action on the right as it helps the user task flow as it is at the end of viewing pattern.
A button in the terminal area is a compelling call to action because
it’s placed at the end of the user’s viewing pattern.(1)
Neilson points out that people can argue you for either layout (Ok-Cancel Vs Cancel-Ok) but that:
"Listing OK last improves the flow, because the dialog box "ends" with
its conclusion. Also, as with Previous/Next, you could argue that OK
is the choice that moves the user forward, whereas Cancel moves the
user back. Thus, OK should be in the same location as Next: on the
Hope that helps
Refs & Useful Links: