Using the native API
Having done the user interface part of the app, we will now turn to a native API and implement the sound recording and playback logic using the suitable Android Java classes, MediaRecorder
and MediaPlayer
.
Technically, both Python and Java are object-oriented, and it may even appear at first glance that these languages are rather similar. The utilization of OOP principles, however, differs radically. In comparison to Python, many Java APIs suffer from (or enjoy immensely, depending on who you ask) over-architecting and general overuse of the object-oriented paradigm. So don't be surprised that otherwise very simple tasks may require you to import and instantiate quite a lot of classes.
Note
In 1913, Vladimir Lenin wrote regarding the Java architecture:
And there is only one way of smashing the resistance of those classes, and that is to find, in the very society which surrounds us, the forces which can constitute the power capable of sweeping away the old and creating...