总结 kotlin data class 返回值最佳实践,使用ks! 字段全写默认值,不可空,取消全部问号! ks速度更快 并且支持N多数据类型 protobuf + json kt默认值只有两种方式可以获取 使用kapt, 就是使用注解 使用kt专属的反射包 ks 基于kapt注解 ks无论后端返回不返回或者返回null他都不会null,最
Android加载库的方式有多种 (1)本地library (2)jar包,仅有class文件和清单文件,仅能调用不含资源的方法 (3)arr包,包裹class文件、清单文件,以及resource资源文件,可以调用arr包中样式、图片等资源文件 (4)maven,implement三方库
# Start TRANSLATE with x English Arabic Hebrew Polish Bulgarian Hindi Portuguese Catalan Hmong Daw Romanian Chinese Simplified Hungarian Russian Chinese Traditional Indonesian Slovak Czech Italian Slovenian Danish Japanese Spanish
1 public static void hideKeyboard(View view){ 2 InputMethodManager imm = (InputMethodManager) view.getContext() 3 .getSystemService(Context.INPUT_METHOD_SERVICE); 4 if (imm != null) { 5 imm.hideSoftInpu
不要使用 Android SDK 中的 adb,删除原先的 Android SDK 环境变量。添加夜神模拟器的环境变量
原文链接 XPath高级定位技巧 XPath 简介 XPath 的英文全称为:XML Path Language,意旨对 XML 中的元素进行路径定位的一种语言,它可适用 XML 标记语言,Html 标记语言,app Dom 结构。XPath 是自动化工具的定位基础,可适用于 Selenium 工具,Appium 工具,Appcrawler 工具。由于前面章节已经对
1:页面布局就一个返回的图标,使用的是imageView<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:too
//自行替换自己的recyclerView val recyclerView = RecyclerView(this) val linearLayoutManager = LinearLayoutManager(this) recyclerView.layoutManager = linearLayoutManager //view的位置 var mutativePosition: Int
无论Android还是iOS,Webview都具有与js交互的能力,这使得我们可以利用混合开发(原生+h5)满足相对复杂的业务需求。但是由于Android和iOS系统的差异,原生App在与js交互时,js需要判断不同的系统从而调用不同的代码,从而使js代码的维护成本更高。 原生与js交互的传统做法 android一般
对于/storage/emulated/0没没有权限访问的问题进行如下解决: 1、加入文件读写、和存储管理权限 READ_EXTERNAL_STORAGE MANAGE_EXTERNAL_STORAGE requestLegacyExternalStorage <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.
前言: 这里打算开一个新的专栏,就是关于Android面试相关的一些知识点的学习,其实前几年已经有相关专栏了: 只是未对外开放,我记得当时本来是开放着的,但是因为当时去某厂去面试【很遗憾,至今未能进大厂】时被一面试官给了个建议,说博客上别把面试准备相关的东东放上面,这样会让人看了你的
本方法适用于Android PDA开发,通常Android PDA支持开放所用权限给使用者,因此PDA不会限制App开机自动运行。 修改config.xml,添加监听开机启动的权限 <platform name="android"> <config-file target="AndroidManifest.xml" parent="/*"> <uses-permi
最变成我最爱的一个问题,但一直没思考真正的回答思路是什么样的; 面试者有提到,但不全面,特此整理。 ps.80%面试者都会回答没什么区别…每次和他们聊都觉得是培训出来的;特别最近有个4年工作经验的小姐姐,问她iOS的测试包在哪下载,她不知道
请点赞关注,你的支持对我意义重大。
前言 详细记录一下android基础知识 包括但不限于 EDL(9008) bootloader fastboot工具 adb 工具 android分区 ··· 拓展 boot 分区损坏 system 分区损坏 vendor 分区 厂商定制app +库文件
路径 'XXXXXXX\Shared\MainLayout.razor.css' 将导致应用程序包之外的文件并且无法使用 Description The error happens with Blazor MAUI Hybrid Project. Project compile and runs without error for Android, Android Local device & windows emulator platform and even work
Android连接云平台获取数据及控制设备 Android连接ADAM4017获取数据 Android连接ADAM4150获取数据以及控制设备 Android教程 Android语音播报教程 Android连接LED屏并发送数据 Android连接RFID并获取数据 Android连接Zigbee协调器教程 大赛设备摄像头配置教程及Android连接控制摄
上一篇:android日记(九) 1.Math.abs()一定返回正数吗? int型范围 -2^31 ~ 2^31 - 1 ,也就是 -2147483648 ~ 2147483647。 通常来说一个负int整数,经过Math.abs()后,会得到相应的正整数。 但是对于-2147483648就比较特殊,因为在int范围内,不存在2147483648的正数。当最小负数加绝对值后,已
一、android日记(一) 关于Java版本 什么是类名.class Android混淆 自定义注解@interface用于混淆 理解kotlin注解@JvmStatic和@JvmFiled Android富文本有什么骚操作 bindView新特性 关于Activity重建 关于App异常重启 如何科学添加fragment 二、android日记(二) 在AndroidStudio中
虚拟人妆容换装功能简介 ZEGO Avatar SDK 虚拟人SDK提供了多种妆容配饰(如美瞳、口红、眼镜、胡子等)等美术素材,支持在虚拟形象上实时渲染、自然替换,打造符合自己品味的专属虚拟形象。 虚拟人妆容换装功能-实现前提条件 在实现虚拟人“妆容换装”功能之前,请确保: 已在项目中集成了
尝试从微内核角度去理解Android系统的设计 微内核的实现会带来哪些问题: 优先级翻转 在用户态的系统服务使用多线程的模式向多个进程提供系统服务的场景下, 如果低优先级的进程获取了一把锁,之后高优先级的进程尝试获取锁,也必须等待,从而造成了优先级的翻转
Android为什么使用binder通信 Android系统中,涉及到多进程间的通信底层都是依赖于Binder IPC机制。例如当进程A中的Activity要向进程B中的Service通信,这便需要依赖于Binder IPC。不仅于此,整个Android系统架构中,大量采用了Binder机制作为IPC(进程间通信)方案。 当然也存在部分其他的IP
Shape在Android中设定各种形状,今天记录下,由于比较简单直接贴代码。 Shape子属性简单说明一下: gradient -- 对应颜色渐变。 startcolor、endcolor就不多说了。 android:angle是指从哪个角度开始变. solid -- 填充。 stroke -- 描边。 corners -- 圆角。 padding -- 定义内容
不管你是Android菜鸟还是Android高手,一定能够找到一本适合自己阅读的书籍。下面为大家推荐8本书。 《Android进阶之光》 《Android进阶之光》详细并深入讲解Android开发者必备的和前沿的知识,2017年7月出版,适合有一定开发基础的开发者阅读,这有助于提高技术水平;同时,《Android进阶
我们现在有两个APP(ApkA,ApkB),APKB中定义了一个service,APKA启动这个service 1、首先在ApkB中定义service类 package com.example.test001; import android.app.Service; import android.content.Intent; import android.os.Binder; import android.os.IBinder; import android.uti