For any users that want to have a calculator that also acts as a unit conversion tool, GuruCalc is the application made just for them. Users can peform the usual functions that any calculator can do. It includes the four basic operations (addition, subtraction, multiplication, and division), along with parantheses for nested expressions, and also includes the squared and square root operators. Users can also press the newline button to save their past calculations. It also has a conversion page, where users can select four different units (length, currency, temperature, and weight) to convert numbers representing one of those four units. Users will be able to convert meters to feet, US dollars to Yuan, Fahrenheit to Celsius, Kilograms to ounces, and many more units.
Here are a list of Android and Jetpack Compose Features that make this app possible:
- Kotlin-first Android platform helpers (Core KTX).
- Declarative UI with Jetpack Compose (Composable functions, Modifiers).
- State handling for Composables (View Model).
- UI components and theming (Material 3).
- Lazy srolling lists to handle navigating history (LazyColumn).
- Navigation between pages using Navigation compose (NavHost, NavController).
- Developer tooling and Previews.
The app only needs an Android phone in order to function. It does not need any other extraciricular features such as a microphone, speakers, camera, internet connection, etc.. The Android SDK numbers show that the smallest Android version it can run on is 24, but it will target and try to compile on version 36.
GuruCalc also works in landscape mode. In that mode, the calculator screen will show the inputs, outputs, and history on the left side and the buttons on the right side. The conversion page is formatted the same way.