星尘计算器开发日志

博主自初三接触编程,从Java ME平台着手开发计算器,因对计算器的兴趣,逐步完善功能,包括高精度运算、自然书写显示等。在大学期间,将项目迁移到Android平台,持续优化,添加自然书写、高斯定积分等功能,同时担任项目的全职开发者,面临UI设计、算法研究等挑战。
摘要由CSDN通过智能技术生成

我是初三的时候开始接触编程的。第一次接触的语言是Mobile Basic 高一的时候开始接触Java ME的编程,便产生了写一个计算器的想法,主要是因为自己对计算器的兴趣、热情和了解,同时在当时的Java ME平台上没有好用的计算器。当时每周回家只有几个小时的电脑时间,甚至有时只能用手机写代码,在学校的时候经常拿出本子手写代码,作为一种放松方式。这是一个缓慢艰难但有趣的过程,并且我也享受其中。于是断断续续地,终于写出一个雏形来了,支持常见的函数和数值微积分,简单的编程(do,while,自定义函数和变量),有3000~4000行,然后写了一个简单的界面,随便弄了一个图标和启动画面,加上名字“星尘计算器”,看起来就像模像样了。等到高三的时候,也就没怎么捣鼓了。

后来,在大一第一学期期中考,我感觉安卓的计算器也没有哪个比较好用,要么不够强大,要么没有自然书写,要么输入很麻烦,于是产生了继续写星尘计算器的想法。Java 的代码很容易被移植到安卓,但是没有自然书写,功能也不够强大,因此在以后的课余时间里,又断断续续地继续写了。有时连续一周下课后都在 写,有时好几周都没写,这其中还写了另一个小软件,但我还是希望能尽快写完星尘计算器,至少在大一暑假要将它完成并发布。

一个人做项目经理,做美工,做程序员,做算法工程师,这感觉真是酸爽。有时为了弄一个图标都要一个下午(然而我并不会PS T.T),有时为了寻找一种高效的数值算法要看好几遍英文论文,有时为了解决安卓的莫名其妙的错误要查找很多资料甚至翻看安卓的源代码,有时因为依赖包等等问题都要弄配置弄好久,有时为了键盘的按键安排反反复复地修改和测试,而直到现在也没有弄出一个像样的Logo和启动画面来。。。

在这里当个记录和激励吧~ 先把贴吧的开发日志搬运过来,贴吧的帖子也就不再更新了。

2013~2014

基本运算以及部分常见函数,包括:

◎基本运算 + - * / ^ abs

逻辑运算== != >= <= > < & | ~

三角函数 sin cos tan arcsin arccos arctan cot arccot deg rad pi

双曲函数 sinh cosh tanh arsinh arcosh artanh cosh arcosh

简单编程 do while if args argnum    = 自定义函数(允许重载和迭代)

对数指数 exp ln lg log sqrt cbrt e

其他常见函数 int(积分) diff (微分)sum prod solve(解方程) gcd lcm max min ranInt rand ceil floor ! mod !! %

◎高精度运算(仅支持 四则运算)

? ~ 2015.11.8

★自然书写显示 Natural View

线性文本、括号、分数线、根号(代表基本自然书写类型)及其组合的自然书写显示。

★eigenmath C语言开源库移植

2015.11.10

★将自己实现的BigDecimal和BigInteger更换为java自带的

2015.11.11

★添加 上述常见函数的高精度计算支持

优化 错误捕捉与处理机制 避免使用try...catch降低效率

2015.11.13

★修复 分数线显示BUG

★优化 自然书写分析逻辑

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
作者hyb1996,源码Auto.js,一个主要由无障碍服务实现的不需要Root权限的类似按键精灵的自动操作软件,可以实现自动点击、滑动、输入文字、打开应用等。 同时有Sublime Text 插件可提供基础的在桌面开发的功能。 下载地址:酷安 Alpha版本:Releases 特性 简单易用的自动操作函数 悬浮窗录制和运行 更专业&强大的选择器API,提供对屏幕上的控件的寻找、遍历、获取信息、操作等。类似于Google的UI测试框架UiAutomator,您也可以把他当做移动版UI测试框架使用 采用JavaScript为脚本语言,并支持代码补全、变量重命名、代码格式化、查找替换等功能,可以作为一个JavaScript IDE使用 支持使用e4x编写界面,并可以将JavaScript打包为apk文件,您可以用它来开发小工具应用 支持使用Root权限以提供更强大的屏幕点击、滑动、录制功能和运行shell命令。录制录制可产生js文件或二进制文件,录制动作的回放比较流畅 提供截取屏幕、保存截图、图片找色等函数,可进行简单的游戏脚本制作;未来将加入找图功能 可作为Tasker插件使用,结合Tasker可胜任日常工作流 带有界面分析工具,类似Android Studio的LayoutInspector,可以分析界面层次和范围、获取界面上的控件信息 与脚本精灵、按键精灵等软件的区别是: Auto.js主要以自动化、工作流为目标,更多地是方便日常生活工作,例如启动游戏时自动屏蔽通知、一键与特定联系人微信视频(知乎上出现过该问题,老人难以进行复杂的操作和子女进行微信视频)等 Auto.js兼容性更好。以坐标为基础的按键精灵、脚本精灵很容易出现分辨率问题,而以控件为基础的Auto.js则没有这个问题 Auto.js执行大部分任务不需要root权限。只有需要精确坐标点击、滑动的相关函数才需要root权限 尽管如此,Auto.js的大部分用户仍然是用来点赞、签到、刷游戏的:)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值