什么是Lambda表达式? Lambda表达式,其实就是匿名函数。而函数其实就是功能(function),匿名函数,就是匿名的功能代码了。在Kotlin当中,函数也是作为类型的一种出现的,尽管在当前的版本中,函数类型的灵活性还不如Python这样的语言,不过它也是可以被赋值和传递的,这主要就体现在Lambda表达式上。 我们先来看一个Lambda表达式的例子: funmain(args:Array<String>){ vallambda={ left:Int,right:Int -> left+right } println(lambda(2,3)) } 大家可以看到我们...

  ygkfWHMRKw4x   2023年11月05日   26   0   0 KotlinjavajavaKotlin

Flutter简介 Flutter是一款移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能、高保真的应用程序。Flutter目标是使开发人员能够交付在不同平台上都感觉自然流畅的高性能应用程序。我们兼容滚动行为、排版、图标等方面的差异。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。 Flutter原理 相比ReactNative和Weex,Flutter实现跨平台采用了更为彻底的方案(参考移动跨平台技术方案总结)。它既没有采用WebView也没有采用JavaScript,而是自己实现了一台UI框架,然后直接系统更底层渲染系...

  ygkfWHMRKw4x   2023年11月05日   22   0   0 androidDartDartUIUIandroid

DrawerLayout是实现了侧滑菜单效果的控件。 DawerLayout分为侧边菜单和主内容区两部分: 主内容区要放在侧边菜单前面,还有就是主内容区最好以DrawerLayout最好为界面的根布局,否则可能会出现触摸事件被屏蔽的问题。 侧滑菜单部分的布局必须设置layout_gravity属性,表示侧滑菜单是在左边还是右边,设置了layout_gravity="start/left"的视图才会被认为是侧滑菜单。 使用的注意事项 主内容视图一定要是DrawerLayout的第一个子视图 主内容视图宽度和高度需要match_parent 必须显示指定侧滑视图的android:layou...

  ygkfWHMRKw4x   2023年11月02日   45   0   0 android侧滑栏侧滑栏ideideandroid

AndroidStudio如何使用 本文主要讲解一下AndroidStudio使用方法 步骤: 1.建立项目 首先点击new——newproject新建项目 选择想要创建的Android的模板,建议选择emptyactivity(空模板),然后next Name:给你的项目起一个名字 APIlevel:选择Android虚拟机的版本,版本越低运行起来越快 剩下的就按默认的就行,点击finish (由于版本不一样,步骤2和步骤3的顺序可能交换,大家注意一下就好啦) android项目创建完成了,包含三个主要的文件 activity:提供了用户与屏幕之间的互动,以便于用户进行操...

  ygkfWHMRKw4x   2023年11月02日   20   0   0 androidxmlxmlandroid

每当新技术潮流兴起时,总会有人声称它们将使"程序员"失业,例如云服务、低代码等等...云原生的出现甚至引发了一种观点,认为很多程序员工作将会集体下岗,生成式技术正在颠覆多个行业,有专家预言在三年内编程将终结... 今年,随着技术的不断突破和创新,它们具备更加完善的能力,可以应用于多个工作领域。媒体们纷纷预测这将给全球劳动力市场带来巨大的颠覆,预计全球将有三亿个工作岗位被生成式技术取代。这些言论显然增加了"失业焦虑",让很多人担心自己会失去工作。 作为身处其中的我们,是否曾经有过一瞬间,感到失业焦虑的恐慌和无力感呢? 今年初,许多正在求职的人会发现,尽管疫情已经过去,但找工作的难度丝毫没有减轻...

编译工具:AndroidStudio各种工具其实大同小异开发环境的搭建还有项目新建这里就不过多说明了,网上有很多教程。项目新建按照需求来就好,我这里选用空的界面(EmptyActivity)和Android4.0.3,大家一定要注意安卓版本匹配问题鸭,之前每次新建项目都报错,最后才发现是版本匹配问题。话不多说,进入正题吧! HelloWorld! 新建好项目以后,我们首先认识几个主要用到的界面。 MainActivity.java页面,这个页面相当于我们的主视图。res文件夹是资源文件的配置文件。文件夹里面有layout用来存放布局文件。以上就是基本用到的文件,而如果此时项目没有报错,那么直...

  ygkfWHMRKw4x   2023年11月02日   42   0   0 androidxmlxmlandroid

很多同学接触到了Android开发并进行了学习。工欲善其事必先利其器,那么在学习Android开发中我也使用到了很多的工具,今天就来记录一下,这些工具使用的场合及其发挥的作用,同时也想记录一下在Android开发中要具备的一些基本知识,以及一些个人学习心得。 开发Android所需电脑配置要求 在介绍工具之前,我认为很重要的是要先说明一下进行Android开发所需要的电脑配置条件等方面的要求。 在我个人进行Android开发练习的时候,通过使用AndroidStudio和其他的工具,也发现要想用好这些工具,必须要保证自己的电脑配置能跟得上,采用的笔记本电脑在硬件方面最好能够拥有: 内存要...

AndroidStudio如何使用 本文主要讲解一下AndroidStudio使用方法 步骤: 1.建立项目 首先点击new——newproject新建项目 选择想要创建的Android的模板,建议选择emptyactivity(空模板),然后next Name:给你的项目起一个名字 APIlevel:选择Android虚拟机的版本,版本越低运行起来越快 剩下的就按默认的就行,点击finish (由于版本不一样,步骤2和步骤3的顺序可能交换,大家注意一下就好啦) android项目创建完成了,包含三个主要的文件 activity:提供了用户与屏幕之间的互动,以便于用户进行...

很喜欢这么一句话 半杯水之所以叫你不舒服,是因为你弄不清,它是无力斟满,还是剩下的。 每个人都有半杯水的时候,但有些人一直都是半杯水。 半杯水的日子 那是接触Android也接近一年的时间,于是找了个软件公式实习,说到实习,总体来说在里面还是学到了一些实用的东西的,比如说程序员的工作环境,工作流程,以及一些需要的工作软件,看了很多优秀的代码,明确了自己以后还需要继续学习加强的知识。在纸上明确了要学习的东西,毕竟是实习,有些事情你自己不想着去做谁也不会给你找事情(老板基本上就是让人带一带,其他的也不会管,你自己怎么样,学什么可不得靠自身)于是乎,这个实习很愉快的结束了,自己时不时能摸鱼到...

记得去年我在往MySQL存入emoji表情😲😳时,一直出错,无法导入。后来找到办法-通过把utf8改成utf8mb4就可以了,并没有深究。 一年后,我看到一篇文章讲到emoji文字占4个字节,通常要用utf-8去接收才行,其他编码可能会出错。我突然想到去年操作MySQL把utf8改成utf8mb4的事儿。 嗯?他本身不就是utf8编码么!那我当时还改个锤子? 难道,MySQL的utf8不是真正的UTF-8编码吗??!卧槽这。。MySQL有bug! 带着疑问查询了很多相关材料,才发现这竟然是MySQL的一个历史遗留问题 我笑了,没想到这么牛B的MySQL也会有这段往事。 一、报错回顾 将e...

  ygkfWHMRKw4x   2023年11月02日   71   0   0 ico开发者icomysql开发者mysql

前言 在Android开发过程中,想要开发一个完整功能的App,各个地方的内容都要涉及到,比如获取App的系统版本号就是必须要有的功能。Android的App版本号相关内容比iOS的App版本号内容要多,而且iOS版的App版本信息跟Android的还不一样。本篇文章就来介绍一下Android开发中获取App版本号的方法步骤,方便以后使用。获取App版本号常用的有两个方法,这两种方式都能获取到系统版本号,请根据实际需求或者偏好来选择任何一种方法即可。 方法一: 1、打开项目工程,找到左侧项目目录里面的app目录下的build.gradle文件,然后单击进入,然后找到defaultConf...

  ygkfWHMRKw4x   2023年11月02日   55   0   0 androidApp版本号Appandroid版本号

最近开始看Android的HAL开发方面的东东,发现现在国内研究这个的并不多,来自台湾的Jollen可能是走在AndroidHAL研究的最前沿,这也和他以前专注做嵌入式linux(openmoko)的工作经历有关,毕竟Android的application开发是基于Java的,而之前Jollen做的更多的还是C/C开发,因此选择从HAL作为进入Android的shortcut还是很明智的,我以前也主要是做linuxkernel以及基于C/C的app开发,现在转作Android,发现它的HAL比较有意思,也是可以研究的一个很好的方向。 由于自己并没有参加Jollen的HAL整合培训,不过手头有这...

  ygkfWHMRKw4x   2023年11月02日   49   0   0 androidlinuxjavalinuxjavaandroid

在上一篇文章中,我们看到了如何撰写HAL层的用户硬件驱动程序,我们每也知道,最终该代码会被编译成动态链接库提供给service(jni)使用,那么我们下面来看看service(jni)是如何与HAL通信的。 一般service的jni代码位于framework/base/service/jni/中,我们看看mokoid的ledservice是如何实现的: framework/base/service/jni/com_mokoid_server_LedService.cpp 1.staticconstJNINativeMethodgMethods[]={ 2.{"_init","()Z",...

前言 年中的时候帮部门招人,发现很多候选人对于我们部门还是很青睐的。也对鸡架部门做的事比较感兴趣,所以今天这篇水文主要就给大家梳理下基架的面试题以及基础架构组涉及的sdk相关。 因为最近几年面试经常被人吊打,所以也有了总结面试题的习惯。之后加上之前帮候选人的面试总结,今天给大家再卷一波。 也不是别的啥就是想要毛面试题的流量了呢。 面试的时候我觉得哦,这些sdk有任意其实你研究的比较深入就行了,应该能在面试中表现的很好了。还有就是个人建议最好还是在单一方向研究的更深入一点,别的只要大概知道干什么的就行了。 配置中心以及灰度测试 app必备工具之一,配置中心主要负责的就是动态化的配置,比如文本...

  ygkfWHMRKw4x   2023年11月02日   25   0   0 androidjavajavaideideandroid

一、概要 Android应用程序显示的过程:Android应用程序调用SurfaceFlinger服务把经过测量、布局和绘制后的Surface渲染到显示屏幕上。 SurfaceFlinger:android系统服务,负责管理android系统的帧缓冲区,即显示屏幕。Surface:android应用的每个窗口对应一个画布(Canvas),即Surface,可以理解为android应用程序的一个窗口。 Android应用程序的显示过程包含了两个部分(应用侧绘制、系统侧渲染)、两个机制(进程间通讯机制、显示刷新机制)。 二、应用侧绘制 一个android应用程序窗口里面包含了很多UI元素,这些元...

为什么会出现内存泄漏问题呢? 分析 Handler使用是用来进行线程间通信的,所以新开启的线程是会持有Handler引用的,如果在Activity等中创建Handler,并且是非静态内部类的形式,就有可能造成内存泄漏 非静态内部类是会隐式持有外部类的引用,所以当其他线程持有了该Handler,线程没有被销毁,则意味着Activity会一直被Handler持有引用而无法导致回收 MessageQueue中如果存在未处理完的Message,Message的target也是对Activity等的持有引用,也会造成内存泄漏 解决的办法 使用静态内部类+弱引用的方式 静态内部类不会持...

一.camera启动 一个activity启动调用流程: onCreate()-->onStart()-->onResume() onCreate(): 1.可添加所需布局文件,画界面。 2.开启线程,启动硬件摄像头,调用CameraHolder.instance().open()得到一个android.hardwareCamera实例mCameraDeviceensureCameraDevice()-->CameraHolder.instance().open()-->mCameraDevice.getParameters();确保摄像头存在,并将摄像头打开。s...

  ygkfWHMRKw4x   2023年11月02日   44   0   0 javajavaidexmlidexml

怎么做编译优化,当时说了个方案,就是编译时将所有的模块依赖修改为aar,然后每次编译将变动的模块改成源码依赖,同时编译完成再将修改模块上传为aar,这样可以始终做到仅有最少的模块参与源码编译,从而提升编译速度。 当然说起来轻松,做起来没有那么容易,终于有位小伙伴将上述描述开发成一个开源方案了,非常值得大家学习和借鉴。 1.背景描述 在项目体量越来越大的情况下,编译速度也随着增长,有时候一个修改需要等待长达好几分钟的编译时间。 基于这种普遍的情况,推出了RocketX,通过在编译流程动态修改项目依赖关系,动态替换module为aar,做到只编译改动模块,其他模块不参与编译,无需改动原有项目任何...

Android上层提供了一些内存共享工具类,比如MemoryFile。你使用过吗?知道它的实现原理吗? MemoryFile是Java层对Ashmem的一个封装,下面来一起学习MemoryFile,掌握它的使用姿势和底层原理。 MemoryFile使用方法大致如下: 「进程A中申请一块共享内存写入数据,并准备好文件描述符:」 MemoryFilememoryFile=newMemoryFile(name,size); memoryFile.getOutputStream().write(data); Methodmethod=MemoryFile.class.getDeclaredMe...

  ygkfWHMRKw4x   2023年11月02日   31   0   0 共享内存MemoryMemory共享内存bcbc

引言 在Docker中,容器的数据读写默认发生在容器的存储层,当容器被删除时其上的数据将会丢失。要想实现数据的持久化,需要将数据从宿主机挂载到容器中。目前Docker提供了三种方式将数据从宿主机挂载到容器中。 Volume 普通数据卷,映射到/var/lib/docekr/volumes目录下。 bindmounts 绑定数据卷,映射到宿主机指定路径下 tmpfsmounts 临时卷,只存在于宿主机内存中 三种方式的示意图如下所示: 一、Volume的基本使用 1、创建数据卷 1、创建一个Volume [root@qll251]dockervolumecreatefor_ng...

  ygkfWHMRKw4x   2023年11月02日   18   0   0 nginxdockernginx数据Docker数据
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~