人品计算器的设计

来源:互联网 发布:怎么p淘宝的代收货 编辑:程序博客网 时间:2024/04/30 20:50

人品计算器


  其实关于人品计算器的原理实现非常简单,其基本原理就是取出字符串的哈希值,将哈希值对101求余,得到的余数就是对应的人品值。但是这样设置有一个问题就是每次得到的结果都相同,为了解决这个问题可以使用一个随机数来增加结果的不确定性,但是这样的问题就是每次得到的结果都不相同,例如测试完张三后,继续测试张三,发现两次结果不同,为了保证在相近的测试中结果相同可以这样设计。
1.在第一个activity的onCreate方法中产生一个随机数。
2.将随机数和获取到的姓名传递给显示结果的activity
3.在结果的activity中取出随机数和名字,把名字的哈希值和随机数进行操作之后得到一个新的数值。让这个数对101求余得到人品值。
这样做既保证了结果的随机性和邻近测试中的确定性,同一个名字在同一次打开应用的测试结果中相同,在不是一次打开的测试结果中不同。


这样一个人品计算器的基本功能就具备了,在基本功能完成后如何设置黑白名单呢?
其实设置黑白名单功能的实现也非常简单,就是创建一个数据库,在数据库的表单中存储一个名字的信息并用标志变量表示属于黑名单还是白名单,这里想必大家会有疑问为什么不用两张表单分别存储黑名单和白名单呢?
其实这样做也不是不行,只不过是太麻烦了,个人比较懒,所以就偷懒使用了一张表单。使用两张表单首先是数据显示麻烦,其次是如果张三在黑名单和白名单中均有记录就难办了,所以存储时需要检查也很麻烦。
创建好数据库之后,用一个lisiview将所有数据展示在界面上就行了。如果加入白名单就将变量设置为1,黑名单就设置为2。


黑白名单设置之后,下一个问题就是点击listview中的条目可以将名字自动填充到输入区,这样方便用户操作。
实现这一功能其实也不难,就是为listview夹一个监听器,当有点击事件时取出view中的对象,将名字从对象中取出填充到输入区即可。

       现在人品计算器的所有功能就基本完成了。
这里只是一些粗略的介绍,如果想要深入了解相关的设计,请下载源代码,里面有着非常详细的注释。
注意,本源代码仅供学习使用,严禁用于商业用途。

获取最新版应用以及下载源代码:人品计算器






0 0