美文网首页
(2) AppInventor高级组件之JavaReflecto

(2) AppInventor高级组件之JavaReflecto

作者: zhangzq | 来源:发表于2020-02-22 12:53 被阅读0次

    在appinventor中,一直以来都缺少自带ASCII码的编码与解码的功能,一般代替方法就是使用JSON数组存放ASCII表,使用查表法来实现ascii的编码与解码的难题。本章,我们将使用JavaReflector组件来解决ascii的编码解码的难题。

    界面设计

    界面设计

    我们在上面的文本框输入一个字符或字符串,点击编码,编码结果将显示编码后都ascii代码。
    我们在下面的文本框输入ascii代码,点击解码,解码结果将显示解码后都字符。

    逻辑设计

    接口定义

    ASCII编码与解码的实现

    我们先这样定义两个函数,先不写其中具体的实现,在以往我们一般是在其中放置查找列表/字典的相关逻辑,稍后我们将考虑在其中放置JavaReflector相关逻辑,这里我们先假设这两个块是可用的,先去写其他业务逻辑代码。

    相关的业务逻辑代码

    编码与解码的按钮事件

    如上图,为编码与解码的按钮的点击事件的实现。

    实现ascii的编码与解码的功能

    BuildChar文档

    根据文档所说,charData可以传入文本,也可以传入数字,最终都会构造出char数据。

    据此,我们很容易写出以下代码,其中ToString(object)方法用于将任意对象转化为字符串表示形式,这里是将char数据转换为ai的字符串类型。


    ascii解码

    现在,我们来实现另一个函数

    字符转ascii码(字符)

    首先,我们需要将字符文本转化为char数据,如图


    字符2char数据

    char数据的包装数据类型为java.lang.Character,据此,java.lang.Character.hashCode()规定,char的包装对象的hashCode均为一个相等的代码,在0-127范围内,与ascii编码一一对应,所以我们可以编写如下图的代码


    字符转ascii码(字符)

    这样一个ASCII的编码与解码的一个案例就完成了。

    相关文章

      网友评论

          本文标题:(2) AppInventor高级组件之JavaReflecto

          本文链接:https://www.haomeiwen.com/subject/wsewqctx.html