代码转换:一段程序代码写完以后是如何转换成有操作界面的软件的?

我是从事安卓APP开发的搜索大全,这里就用安卓举例说明下我们的代码是怎么变成可视化界面的代码转换

一段程序代码写完以后是如何转换成有操作界面的软件的?

安卓编程代码

一段程序代码写完以后是如何转换成有操作界面的软件的?

安卓早期采用java做为第一编程语言seo快速排名软件,现在是主推kotlin,还可以用flutter或者其他混合框架开发,这里不做多介绍代码转换

一段程序代码写完以后是如何转换成有操作界面的软件的?

上图是简单的控件展示,基本涵盖主要的交互功能代码转换。文字的大小颜色包括控件的间距都是可以通过代码调节。

图中的控件是谷歌编写好的,开发者可以直接使用,如果这些控件满足不了需求,你还可以自定义控件通过canvas实现代码转换。

通过源码可以知道代码转换,其实谷歌提供的这些控件也都是自定义控件。

那么java层面的代码是不能转换成可视化的界面的,那安卓是怎么实现的呢?

其实是通过调用底层(C语言)接口实现的。

底层(C语言)接口

我们自定义控件使用的就是最上面的canvas.java

类实现的,最终会调用到底层的libskia.so

文件,所以java层面的canvas实际上是封装的native层的方法。

可以这样理解,java层只是描述界面,具体实现由native层实现。

那么native层是怎么实现的呢?安卓底层使用C语言编写,里面有个SurfaceFlinger类,这个类获取界面宽,高,点密度,颜色分量的大小等信息后,交给硬件帧缓冲区去。

硬件帧缓冲区属于硬件驱动范畴了,超出了本人知识结界,这里就不BB了。

总结不用设备有不同的图形驱动,编码只是实现界面的形状大小等描述,最终都会交给图形驱动层去渲染。编码层是为了更好的方便开发者。