Skip to content

Repository files navigation

BaseConversion

面向程序员的纯本地、零广告安卓进制转换器。打开即用,在二进制 / 八进制 / 十进制 / 十六进制之间实时联动转换,支持大整数、补码与 IEEE 754 浮点数位模式,无需点击“转换”按钮。

特性

  • 整数模式:四进制框双向实时联动;BigInteger 任意精度;固定位宽 8/16/32/64 有符号补码,支持 signed/unsigned 切换,超范围自动截断并提示。
  • 浮点模式:十进制输值,实时显示 float32 / float64 的 IEEE 754 位模式与实际存储值;支持 NaN / ±Infinity / -0.0。
  • 智能键盘:应用内自定义键盘,按进制动态禁用非法键、分区配色;长按退格连续删除;一键复制 / 粘贴(自动识别 0x / 0b / 0o 前缀,粘贴内容自动净化)。
  • 设置:主题模式(跟随系统 / 深 / 浅)、强调色(绿 / 蓝 / 紫)、默认模式 / 进制 / 位宽 / 精度、按键音效与震动反馈;默认值改动即时生效(不打断正在进行的输入)。
  • 检查更新:通过 GitHub Releases API 手动 / 自动检查新版本(仅此功能联网,默认关闭自动检查)。
  • 体验:中英双语、数值等宽字体、深浅色主题、TalkBack 无障碍语义;转换状态在进程被回收后自动恢复。

下载

从 Releases 下载最新签名 APK(R8 优化,约 2 MB),安装即用,无需任何权限配置。

技术栈

Kotlin 2.0+ · Jetpack Compose (Material 3) · ViewModel + StateFlow (MVI) · Gradle Kotlin DSL · minSdk 29 (Android 10)

构建

环境要求:JDK 17+(本项目使用 21)、Android SDK 36。

./gradlew assembleDebug    # 调试 APK
./gradlew assembleRelease  # 发布 APK(R8 代码压缩 + 资源收缩,需自备签名,见下)
./gradlew test             # 单元测试

签名密钥不入库。发布打包需在项目根目录提供 keystore/baseconversion-release.jks 与 keystore/keystore.properties(含 storeFile / storePassword / keyAlias / keyPassword),否则 release 包不签名。

项目结构

app/src/main/java/com/baseconversion/app/
├── MainActivity.kt
├── data/        # settings / update
├── ui/          # Compose UI(theme / converter / settings)
├── model/       # Radix / NumberMode / BitWidth
└── domain/      # 纯 Kotlin 转换算法
app/src/test/    # JUnit 单元测试

许可证

MIT

About

Offline base converter for programmers (integer/float, zero ads)

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages