- 博客(141)
- 资源 (2)
- 收藏
- 关注
原创 ImageView显示叠加图
layout_food_add_icon.xml:叠加两个drawable;针对ic_add_food设置外边距。imageView显示叠加图:背景是绿色,中间为add图标。
2024-04-08 17:20:08
305
原创 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
599
原创 关于批量安装多个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
971
原创 驱动层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
901
原创 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
527
原创 adb常用指令
1.Android Studio报错集锦(一)Android Studio报错集锦(二)Android Studio报错集锦(三)Android Studio报错集锦(四)
2021-06-03 19:07:10
542
原创 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
1237
原创 AS4.x中java/kotlin使用objectBox数据库无法找到MyObjectBox类
java下引入https://github.com/objectbox/objectbox-java
2021-05-30 16:43:38
512
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
216
原创 Session和Cookie学习笔记
CookieCookie 是服务器保存在浏览器的一小段文本信息,一般大小不能超过4KB。浏览器每次向服务器发出请求,就会自动附上这段信息。Cookie 主要保存状态信息,以下是一些主要用途。对话(session)管理:保存登录、购物车等需要记录的信息。个性化信息:保存用户的偏好,比如网页的字体大小、背景色等等。追踪用户:记录和分析用户行为。Cookie 不是一种理想的客户端储存机制。它的容量很小(4KB),缺乏数据操作接口,而且会影响性能。客户端储存应该使用 Web storage API
2021-03-24 17:52:53
153
原创 鸿蒙学习笔记
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
1683
原创 Android10(Android Q)适配
1. 相机相册无法正常获取图片在清单文件中添加 <application tools:targetApi="q" android:requestLegacyExternalStorage="true">
2021-01-23 16:44:30
425
原创 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
2531
原创 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
158
原创 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
309
原创 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
256
原创 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
409
原创 学习笔记: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
270
原创 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
1036
原创 可水平居中的TextView
View 的事件分发机制主要涉及到以下方法:dispatchTouchEvent ,这个方法主要是用来分发事件onInterceptTouchEvent,这个方法主要是用来拦截事件的(需要注意的是ViewGroup才有这个方法,View没有onInterceptTouchEvent这个方法onTouchEvent,这个方法主要是用来处理事件的requestDisallowInterceptTouchEvent(true),这个方法能够影响父ViewGroup是否拦截事件,true表示 不拦截事件,f
2020-10-06 11:37:58
315
原创 h5开发工具问题集锦
一、sublime text 中 open in browser 无效1.路径中有中文2.html文件默认的打开方式为谷歌/IE等浏览器
2020-09-24 16:30:34
137
原创 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
3350
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
8413
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
2776
原创 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
874
原创 自定义控件之流式布局
实现如上效果。实现思路:控件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
263
原创 HTML的&ldquo转为Java的双引号
“ 和 ” 是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
2979
原创 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
1437
原创 使用java操作Excel替换xml中的翻译文案
一、概述海外APP,经常会翻译国外语言,项目中间突然加入一门新语言,一般海外市场部会提供一个翻译好的Excel表格,里边包含了所有的字符串和对应的翻译,如下所示:如果项目不断迭代,对应的字符串也可能会有N多个表。手动翻译翻译,需要在项目的strings.xml文件和Excel表格中来回切换,逐条搜索替换,很不方便,使用java语言,来操作Excel表格,代码处理,可以减少了繁琐劳动,降...
2020-03-14 23:03:49
664
原创 读写文件工具类
public class Utils { private static String path1 = Environment.getExternalStorageDirectory().getAbsolutePath(); private static String path2 = Environment.getDownloadCacheDirectory().getAbsolu...
2020-03-14 17:33:09
246
原创 自定义控件中创建对象注意事项
Lint警告:Avoid object allocations during draw/layout operations (preallocate and reuse instead)不要在自定义View的onMeasure、onLayout、onDraw等方法里面做new对象的操作。因为实例化对象是会耗性能的,而这几个方法会被多次调用,所以需要将对象作为属性,在初始化的时候就实例化好对...
2020-03-02 21:07:19
354
原创 java之正则表达式
在其他的语言中(如C),用一个反斜杠 \ 就可以表示转义,而在Java语言,正则表达式中要用两个反斜杠才能表示转义。Java语言中,表示一位数字的正则表达式是 \\d,表示一个普通的反斜杠是 \\\\。以座机号码的正则表达式来分析如下:private void testForRegExp() { String[] s = {"120", "10086", "+86-010-55...
2020-02-23 16:32:10
253
原创 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
2173
2
原创 系统语言为繁体中文时适配APP
有些机型可以设置语言和地域,有些只能设置语言。以汉语为例,有香港繁体、台湾繁体、简体等几种语言。若只需要APP根据当前语言来适配(此时和地域无关),比如只要手机系统设置了繁体(不管地域选择的是中国、中国香港、中国台湾),APP就显示繁体,系统设置了简体(不管地域选择的是中国、中国香港、中国台湾),APP显示英文。此时就要使用Locale的languageTag字段 Lo...
2020-02-12 11:31:18
1868
原创 WebView的onReceivedSslError()方法
Android应用中WebView访问https SSL证书网页时,Google Play 总是报 WebView 的 onReceivedSslError 错误。为避免谷歌安全警告,要重写WebView的onReceivedSslError方法,此时要弹框提示用户,是否忽略SSL错误,继续访问网页。@Overridepublic void onReceivedSslError(WebVi...
2020-01-20 09:57:22
11908
原创 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
390
原创 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
23701
原创 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
7703
原创 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
1463
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人