A scientific calculator that solves advanced arithmetic problems seamlessly, while giving a unique yet nifty user experience.
Calculator is a full fledged Android app.
- calculate with trigonometric functions like; sine, cosine, tangent and their respective inverse functions (among other scientific functions).
- compute equations in radian or degree.
- calculate equations, also, to fraction or exponents (43×10³) alternatively.
- clean and simple Material UI. (UI Design is inspired from Google's Calculator)
In settings, users can:
- choose between three calculation/computation format (plain, exponent or fraction).
- disable/enable haptic feedback for calculator buttons.
- choose to save history and error-calculations to history or not.
- and of course, switch between dark and light themes or follow system.
- Jetpack Paging 3 - The Paging library helps you load and display pages of data from a larger dataset like; from local storage or over network.
- Kotlin Coroutines - For executing tasks asynchronously.
- Room Database - A persistent local data storage.
- Material Design 3 - Material 3 is the latest version of Google's open-source design system that helps you design and build beautiful, usable apps.
- Jetpack Navigation - Android Jetpack Navigation components helps you implement navigation easily and provides many fine ways of communicating between fragments.
- Shared Preference - An API that allows you store key-value data.
- Android Architecture Components - Collection of libraries that help you design robust, testable and maintainable apps.
- Stateflow - An observable state-holder that emits data stream to its collectors - updating the UI incessantly.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
- DataBinding - Binds UI components in your layouts to data sources in your app using a declarative format rather than programmatically.