While you may omit
Edit button by making the fields editable right away, you have to offer
Redo when allowing users to edit data to provide protection against accidental changes. At the same time, despite having a discrete
Save button you may want to keep a "cached" copy of the edits prior to the commit in case the device crashes so that the user can go back to the last uncommitted state.
If you go the way of making the data always editable, you may want to hide the editing controls until the user makes some changes in order to avoid the confusion about the state of the data (i.e. user won't have a visual cue on whether the data has been edited if you show the controls at all times).
The buttons' position depends on how long the page is. If the page is too long (more than 2-3 scrolls), it wouldn't hurt the overall experience to duplicate the buttons on both ends of the page.
In addition, you should pop-up a modal confirmation of saving if the user presses the
BACK button after making some changes & not saving them.
BACK button on Android must not be treated as a cancellation command because that is not its function by design.