自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(141)
  • 资源 (2)
  • 收藏
  • 关注

原创 ImageView显示叠加图

layout_food_add_icon.xml:叠加两个drawable;针对ic_add_food设置外边距。imageView显示叠加图:背景是绿色,中间为add图标。

2024-04-08 17:20:08 122

原创 Color.parseColor解析颜色的替代方案

Color.parseColor()和R.color.x 结果不同,和resources.getColor(R.color.x)结果一样,因getColor()过时,用ContextCompat.getColor(this, R.color.x)

2024-03-22 10:36:32 186

原创 Android Studio Iguana | 2023.2.1设置不自动运行到run标签

2024-03-15 13:13:02 334 1

原创 关于批量安装多个apk

最新版本的platform-tools下载地址:https://developer.android.google.cn/studio/command-line/adb?hl=zh-cn,里边包含最新的adb。adb install -r apks地址/1.apk && adb install -r apks地址/2.apk。for %i in (apks地址/*.apk);install-multi-package - 暂时nok。说是在33.0.3版本修复了,但是并没有。

2023-09-13 16:26:54 330

原创 驱动层KEY_U和上层KeyEvent.KEYCODE_U的映射

我们每次按键会有四个输出,前两行为按下,后两行为抬起,0001指按键(也存在其他设备类型,这里我们不关心),0016是对应的十六进制按键值,这里就是驱动所设置的按键值,可以去找驱动提供头文件查看该值所对应的按键名称。3. 在Activity里重写onKeyDown/onKeyUp,手掌按下,获取KeyEvent和keyCode值,KeyEvent的getScanCode()方法可以拿到该keyCode对应KEY真实值。这里即将驱动上报的KEY_U转成了Android的KEYCODE_U按键。

2022-11-22 19:24:25 807 1

原创 Json字符串在使用过程中的注意事项

JsonObject 中的int、long、float、double都被转成了double类型 : 用 fastJsonput 的key值顺序会乱掉:Feature.OrderedFieldJSONObject object = new JSONObject(new LinkedHashMap<>()); mBodyMap = JSONObject.parseObject(body, LinkedHashMap.class, Feature.OrderedField);java中..

2022-01-03 15:26:42 463

原创 adb常用指令

1.Android Studio报错集锦(一)Android Studio报错集锦(二)Android Studio报错集锦(三)Android Studio报错集锦(四)

2021-06-03 19:07:10 453

原创 Android Studio报错集锦(四)

使用objectBox后,用系统签名文件签名,安装提示:Failed to extract native libraries, res=-2晚上都说是在AndroidManifest.xml加上android:extractNativeLibs="true"属性编译,提示Manifest merger failed : Attribute application@extractNativeLibs value=(true) from AndroidManifest.xml:13:9-41 ...

2021-06-03 18:50:36 910

原创 AS4.x中java/kotlin使用objectBox数据库无法找到MyObjectBox类

java下引入https://github.com/objectbox/objectbox-java

2021-05-30 16:43:38 437 2

原创 React事件处理绑定this和JS中的this学习

React 元素描述的是虚拟DOM的结构,react会根据虚拟DOM渲染出真实DOMReact 元素就是 普通的js对象 (俗称:虚拟DOM) 。----https://www.jianshu.com/p/95a3568c7d57事件处理中,未绑定this,无法获取、使用<div onTouchStart={this.touchStart}/>touchStart(){ console.log('lyl123 this1 = ' + this);//un...

2021-03-30 11:17:35 166

原创 Session和Cookie学习笔记

CookieCookie 是服务器保存在浏览器的一小段文本信息,一般大小不能超过4KB。浏览器每次向服务器发出请求,就会自动附上这段信息。Cookie 主要保存状态信息,以下是一些主要用途。对话(session)管理:保存登录、购物车等需要记录的信息。个性化信息:保存用户的偏好,比如网页的字体大小、背景色等等。追踪用户:记录和分析用户行为。Cookie 不是一种理想的客户端储存机制。它的容量很小(4KB),缺乏数据操作接口,而且会影响性能。客户端储存应该使用 Web storage API

2021-03-24 17:52:53 124

原创 鸿蒙学习笔记

1. INSTALL_FAILED_PROVISIONING_BUNDLE_NAME_INVALID鸿蒙系统的手机,设备要添加在对应项目下,该项目的包名和APP的包名一致File-Project Structure-Models-Signing Configs下配置才能跑起来helloworld真机设备运行流程开发入门2. 大小模糊匹配File--->Settings--->General--->Code Completion,不勾选Match case.

2021-02-27 10:33:45 1525

原创 Android10(Android Q)适配

1. 相机相册无法正常获取图片在清单文件中添加 <application tools:targetApi="q" android:requestLegacyExternalStorage="true">

2021-01-23 16:44:30 355

原创 Android CPU架构学习笔记

Intel使用CISC(复杂指令集计算机)ARM使用RISC(精简指令集计算机)1. Android目前有以下七种cpu架构,其区别是指令集不同ARMv5 第5/6代的ARM处理器,缺少对浮点数计算的硬件支持,使用软件浮点运算,在需要大量计算时有性能瓶颈。只支持armeabi。虽然速度慢,但通用性强,仍需要兼容。ARMv7 第7代及以上的ARM处理器,目前主流版本。使用硬件浮点运算,具有高级扩展功能。支持 armeabi-v7a 和 armeabi。ARMv8 第8代、...

2020-11-17 14:56:03 2456

原创 React 子传父-带参

父<Senior calculate={(name,value)=>{this.calculate(name,value);}}/>//前边的calculate是子的,后边的calculate()是父的,父的方法可以是别的名字calculate(name,value) { console.log('look1', name, value);}子触发点击事件后,把值通过calculate()方法传给父 onItemClick(status){ cons...

2020-11-13 09:53:01 123

原创 DialogFragment学习笔记

DialogFragment是Android3.0之后引入的一种特殊的Fragment,官方建议使用DialogFragment代替Dialog或者AllertDialog来实现弹框的功能,因为它可以更好的管理Dialog的生命周期以及可以更好复用。使用DialogFragment至少需要实现onCreateView或者onCreateDialog方法。onCreateView是使用定义的xml布局文件展示Dialog。onCreateDialog是利用AlertDialog或者Dialog创建出Di.

2020-10-21 21:49:33 256

原创 WebView学习笔记

WebView的使用大概涉及到以下几点 a. 进度条 - WebViewClient / WebChromeClientb. goBack 和 物理按键 - onKeyDownc. 缓存设置等d. 出错界面e. 超时处理f. 资源销毁 - onDestroy注意事项:1. 若要WebView loadUrl时,不调用系统浏览器,始终在WebView里打开网页,需要设置自己的WebViewClient。mWebView.setWebViewClient(mWebViewCli...

2020-10-11 16:48:34 220

原创 BadTokenException: is your activity running?

android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy is not valid; is your activity running?静态的Activity类型的Context作为参数传入Dialog,APP退出,Dialog调用dismiss()后,Context没有置null。再次进入APP,Dialog的参数Context,还是APP退出前的Activi..

2020-10-07 21:37:31 337

原创 学习笔记:view的绘制流程

绘制View的背景,内容,绘制子View,还有前景跟滚动条。1:drawBackground(canvas): 作用就是绘制 View 的背景。2:onDraw(canvas) :绘制 View 的内容。View 的内容是根据自己需求自己绘制的,该方法是一个空方法,View的继承类自己复写实现绘制内容。(每个View都需要重载该方法,ViewGroup不需要实现该方法)3:dispatchDraw(canvas):遍历子View进行绘制内容。dispatchDraw()方法内部会遍历每个子视图.

2020-10-06 18:19:19 211

原创 ScrollView+RecyclerView实现悬停导航栏

一. 导航栏可以正常的滑动到顶部 ScrollView LinearLayout LinearLayout - banner : h1 LinearLayout - 导航栏 : h2 RecyclerView - content : h3 = 屏幕高度-(h1+h2) 1. RecyclerView的layout_height设置为match_parent或wrap_content,加载的ite...

2020-10-06 18:15:42 838

原创 可水平居中的TextView

View 的事件分发机制主要涉及到以下方法:dispatchTouchEvent ,这个方法主要是用来分发事件onInterceptTouchEvent,这个方法主要是用来拦截事件的(需要注意的是ViewGroup才有这个方法,View没有onInterceptTouchEvent这个方法onTouchEvent,这个方法主要是用来处理事件的requestDisallowInterceptTouchEvent(true),这个方法能够影响父ViewGroup是否拦截事件,true表示 不拦截事件,f

2020-10-06 11:37:58 273

原创 h5开发工具问题集锦

一、sublime text 中 open in browser 无效1.路径中有中文2.html文件默认的打开方式为谷歌/IE等浏览器

2020-09-24 16:30:34 101

原创 8位有符号数(signed char)转10进制

说明:1. signed char为8bit=1Byte,bit[0]w为符号位,0表示结果是正数,为0表示结果是负数。2. 原码、反码、补码之间的变换都和符号位无关,之和后7位有关3. 正数的三种编码方式的结果都相同:[+1] = [00000001]原 = [00000001]反 = [00000001]补角度数据采用8位有符号数(signed char),单位:度(°),范围: -90°~ 90°//角度20//[+20] = [0001 0100]原 = [0001 010...

2020-09-21 10:57:17 2869 1

原创 16位无符号数(unsigned short)转10进制

16位无符号数(unsigned short)转10进制://信号强度采用16位无符号数(unsigned short),数值越大信号越强, 单位db0x00,0x19 ->25db16位unsigned short为2Byte,且无符号,则为0*16^3 + 0*16^2 + 1*16^1 + 9*16^0 = 25思路是:(0x00,0x19)对应的高位为num[high]=0x00=0,低位为num[low]=0x19=25,要先把(0,25)->(0019)-,然后再计算结.

2020-09-21 10:26:14 7949 1

原创 antd-mobile的Slider控件使用总结

1.滑块样式滑块样式为handleStyle,官网给的示例为圆点,若要替换为特定的图片,可使用backgroundImage属性。其中图片要先使用require加载,然后使用ES6的新特性-模板对象,即可。let sliderBlockImg=require('../../assets/img/xxx.png'); <Slider style={{ marginTop:'28px'}} value={this.windSlide?this.state.windValue:..

2020-09-16 18:20:01 2510

原创 React使用小技巧

1. React 中Toast的使用方法所在文件夹:node_modules/antd-mobile/lib/toast/index.d.ts导入: import { List, Button, Modal, Toast } from 'antd-mobile';使用: Toast.info('解绑?', 1);//参1,提示;参2,显示的秒数 show/info/success/fail/offline/loading/hide/config2. 页面...

2020-07-17 16:16:20 734

原创 自定义控件之流式布局

实现如上效果。实现思路:控件FlowLayout继承自ViewGroup,重写onMeasure[测量]、onLayout[布局]方法。addItem()方法用于增加String类型的list注意事项:1. 测量子View的宽和高时,要先调用measureChild,child.getMeasuredHeight();才能获取到值2.onMeasure中元素换行时的处理。用arr存储每行的第一个元素所对应的index,便于onLayout使用3.onLayout中每行的第一...

2020-07-08 15:38:40 218

原创 HTML的&ldquo转为Java的双引号

&ldquo; 和 &rdquo; 是HTML中的双引号,在java中要使用StringEscapeUtils的unescapeHtml4()方法进行转换1.添加依赖implementation 'org.apache.commons:commons-lang3:3.9'2.导包import org.apache.commons.lang3.StringEscapeUtils发现lang3.StringEscapeUtils已经弃用3.需要添加implementation '.

2020-05-17 11:32:12 2782

原创 Android Studio报错集锦(三)

一、依赖包无法正常下载 / 一致卡在"Download maven-metadata.xml" /无法获取pom文件项目的build.gradlebuildscript { repositories { maven{ url 'https://maven.aliyun.com/repository/public/' } maven{ url 'h...

2020-04-20 22:06:26 1281

原创 使用java操作Excel替换xml中的翻译文案

一、概述海外APP,经常会翻译国外语言,项目中间突然加入一门新语言,一般海外市场部会提供一个翻译好的Excel表格,里边包含了所有的字符串和对应的翻译,如下所示:如果项目不断迭代,对应的字符串也可能会有N多个表。手动翻译翻译,需要在项目的strings.xml文件和Excel表格中来回切换,逐条搜索替换,很不方便,使用java语言,来操作Excel表格,代码处理,可以减少了繁琐劳动,降...

2020-03-14 23:03:49 564

原创 读写文件工具类

public class Utils { private static String path1 = Environment.getExternalStorageDirectory().getAbsolutePath(); private static String path2 = Environment.getDownloadCacheDirectory().getAbsolu...

2020-03-14 17:33:09 205

原创 自定义控件中创建对象注意事项

Lint警告:Avoid object allocations during draw/layout operations (preallocate and reuse instead)不要在自定义View的onMeasure、onLayout、onDraw等方法里面做new对象的操作。因为实例化对象是会耗性能的,而这几个方法会被多次调用,所以需要将对象作为属性,在初始化的时候就实例化好对...

2020-03-02 21:07:19 318

原创 java之正则表达式

在其他的语言中(如C),用一个反斜杠 \ 就可以表示转义,而在Java语言,正则表达式中要用两个反斜杠才能表示转义。Java语言中,表示一位数字的正则表达式是 \\d,表示一个普通的反斜杠是 \\\\。以座机号码的正则表达式来分析如下:private void testForRegExp() { String[] s = {"120", "10086", "+86-010-55...

2020-02-23 16:32:10 201

原创 Android Studio3.1的Tools下面没有Android,怎么打开ddms?

在AS自带的命令行工具Terminal中输入monitor后回车即可。如果还是没启动说明没配环境变量, 找到sdk安装目录,tools,复制monitor的全路径到terminal就可以了。若此时报错:Java was started but returned exit code = 13查看java的版本信息:java -version,安装的是32位的jdk,和64位的AS...

2020-02-18 14:38:09 1975 2

原创 系统语言为繁体中文时适配APP

有些机型可以设置语言和地域,有些只能设置语言。以汉语为例,有香港繁体、台湾繁体、简体等几种语言。若只需要APP根据当前语言来适配(此时和地域无关),比如只要手机系统设置了繁体(不管地域选择的是中国、中国香港、中国台湾),APP就显示繁体,系统设置了简体(不管地域选择的是中国、中国香港、中国台湾),APP显示英文。此时就要使用Locale的languageTag字段 Lo...

2020-02-12 11:31:18 1583

原创 WebView的onReceivedSslError()方法

Android应用中WebView访问https SSL证书网页时,Google Play 总是报 WebView 的 onReceivedSslError 错误。为避免谷歌安全警告,要重写WebView的onReceivedSslError方法,此时要弹框提示用户,是否忽略SSL错误,继续访问网页。@Overridepublic void onReceivedSslError(WebVi...

2020-01-20 09:57:22 11088

原创 Android9(Android P)上遇到的问题

1. java.net.UnknownServiceException: CLEARTEXT communication to xxx.xxx.xxx not permitted by network security policy由于 Android P 限制了明文流量的网络请求,非加密的流量请求都会被系统禁止掉。方法1:在 res 下新建一个 xml 目录,然后创建network_se...

2020-01-19 14:43:26 362

原创 bat文件执行时提示“系统找不到指定的文件”

删除特定路径下的文件时,提示:系统找不到指定的文件,可能是路径中含有空格,把路径加上空格即可。@echo offecho deleting......del /f /s /q C:\Users\xxx 123\*.xmlecho 打完收工!echo. & pauseps:bat脚本中包含中文,运行乱码 :把UTF-8保存为ANSI 格式即可...

2020-01-18 22:21:22 22307

原创 rm: xxx: Read-only file system

删除文件:rm xxx删除文件夹:rm -r xxx删除时,提示"rm: xxx: Read-only file system"。解决如下:1. (adb环境下,下同):adb remountadb shellchmod 777 system如果还有目标路径,对应修改权限即可。大部分机子只要adb remount一次就可以,无需进行chmod修改权限即可进行PUSH操作。...

2020-01-14 21:10:05 7277

原创 getLayoutParams().width/getMeasuredWidth()/getWidth()

1.getLayoutParams().widthgetLayoutParams().width可以在onMesure()方法中获取 。若在xml文件中定义了该view的具体宽度,如android:layout_width="500dp",view.getLayoutParams().width就为500;若定义为android:layout_width="match_parent",则v...

2020-01-02 21:42:39 1355 1

四级缓存.xmind

xmind文件,是RecycleView的四级缓存的梳理,便于学习。不需积分就可下载,有问题请不吝赐教,共同进步。

2020-11-09

RotateCircle

通过自定义控件使图片旋转,以及旋转动画的两种实现方式。

2019-01-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除