Implementing cryptographic operations in Android without a library can be quite confusing, because the API is based on the ancient Java Cryptography Architecture, which was introduced with JDK 1.1. However from a high-level point of view, encrypting and decrypting data in Android is relatively straight forward.
More …
Developing Bluetooth apps can be tricky, to put it mildly. This guide is based on my experience working on Bluetooth (LE and Classic) companion apps for devices like headsets, scooters, cars and smartwatches.
More …
Software design is all about problem decomposition. Take a large problem, break it up into smaller more managable problems, and you can solve each one individually. This allows you to iteratively solve every problem, no matter how large, in small steps.
More …
These principles are open to interpretation and not strict rules to blindly follow. There is no correct way to write clean code, as it requires a lot of creativity, but you can use these principles as inspiration:
More …