Skip to content

A scientific calculator that solves advanced mathematical problems seamlessly while giving a unique user experience.

Notifications You must be signed in to change notification settings

Nnamodi/Calculator

Repository files navigation

Calculator

A scientific calculator that solves advanced arithmetic problems seamlessly, while giving a unique yet nifty user experience.

Calculator is a full fledged Android app.

Screenshots

Calculates and displays instant results as you type Solve advanced equations seamlessly Never lose your past calculations Personalize your calculator how you like it Unique calculating-experience in stylish dark theme Computation of results in fractions Quickly access more advanced mathematical functions
Instant results Advanced functions History Settings Dark mode Compute in fractions More advanced functions

Features

  • 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.

Developed with

  • 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.

Releases

No releases published

Packages

No packages published

Languages