
日常笔记
天宇365
沉淀~
展开
-
上海天文馆简要攻略
一、购入馆门票+球幕电影票周末人较多,票比较难抢,so决定工作日去的,可提前在公众号“上海天文馆”购买,门票9:30开放购买,电影票10点开放购买。门票和电影票都还好买,提前几天都有,只是电影票如果要好位置,需要提前买好,个人感觉位置区别不大。需要注意的是购买电影票需要提前购买门票,小孩子也需要进行“免费人群预约”。二、停车虹桥这边开车过去的,过去预计1个半小时,回来赶上了晚高峰,花了2小时。停车参考下图,我停的是上海中学停车场,大概800米的距离,蛮空的,就是当天风大。问了下天文馆原创 2021-12-19 18:10:49 · 2174 阅读 · 0 评论 -
ExoPlayer在开启循环播放时 统计播放次数和索引
1. 应用场景视频播放要循环播放,另外要在视频第一遍播放结束时出现某种提示。循环播放:我们可以通过设置setRepeatMode() 进行设置。另外在Player.EventListener的onPlaybackStateChanged(int state) 对播放过程进行监听。具体过程如下: public void onPlaybackStateChanged(int state) { Log.d(TAG, "onPlaybackStateChanged 播放转载 2021-05-06 14:31:21 · 1725 阅读 · 0 评论 -
android shape实现阴影或模糊边效果
android实现阴影的方式有很多,1. Android 在 API21(5.0)添加了 elevation,可以很方便的在 View 上实现阴影。但是这个只在 >= API21 的手机上可以看到阴影效果,低于这个版本的就没有阴影效果。2.CardView 也可以实现阴影效果,项目中一般都是使用这种方式实现卡片式的效果并带有阴影。使用 CardView 确实很不错,但是它在使用的时候也是需要有注意的地方: (1) CardView 实现阴影效果的布局,在 >= API 21 ...转载 2021-04-12 16:59:07 · 845 阅读 · 0 评论 -
上海中福会少年宫的前世今生
曾经在上海长大的孩子都知道上海有个中国福利会少年宫,它地处静安寺地区的延安西路64号。上世纪5,60年代,少年宫大门紧锁,给人以一种神秘且高大的感觉。少年儿童都很向往着可以去少年宫看看。去少年宫成为一种奖励。只有表现好的孩子才有这个资格可以进到里面去。我曾经进去过两次,其它印象已经很淡薄,唯有那勇敢者的道路给我留下了深刻的记忆。 少年宫原名嘉道理爵士公馆,俗称为大理石宫。始建于1924年,占地达14000平方米,建筑面积为4700平方米。曾是英籍犹太富商,香港上海大酒店有限公司及半岛酒店创...转载 2021-03-06 14:00:00 · 2470 阅读 · 0 评论 -
什么是语法糖?
之所以叫「语法」糖,不只是因为加糖后的代码功能与加糖前保持一致,更重要的是,糖在不改变其所在位置的语法结构的前提下,实现了运行时等价。可以简单理解为,加糖后的代码编译后跟加糖前一毛一样。之所以叫语法「糖」,是因为加糖后的代码写起来很爽,包括但不限于:代码更简洁流畅,代码更语义自然... 写得爽,看着爽,就像吃了糖。效率高,错误少,老公回家早...PS: 据说还有一种叫做「语法盐」的东西,主要目的是通过反人类的语法,让你更痛苦的写代码。其实它同样能达到避免代码书写错误的效果,但编程效率应该是降低了,毕转载 2021-02-20 18:03:06 · 2549 阅读 · 1 评论 -
浅析class文件字节码【JVM虚拟机(一)】
前言分析之前的说明:1、一位十六进制的数等于四位二进制的数。一个字节等于8位二进制数,2位16进制为一个字节。2、这张图是一张java字节码的总览图,我们也就是按照上面的顺序来对字节码进行解读的。一共含有10部分,包含魔数,版本号,常量池等等,接下来我们按照顺序一步一步解读。3、了解一下常量池的项目类型表4、ASCII开始1、首先上一个测试的java代码。package com.demo;public class Demo { private int a原创 2021-02-08 14:40:20 · 158 阅读 · 0 评论 -
Android各种圆角的实现
1、普通的控件使用sharp corners,设置背景实现圆角<?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <solid android:width="1dp" android:color="#F6F7FC".原创 2021-01-21 14:14:41 · 778 阅读 · 3 评论 -
GitHub clone慢问题最简单最有效的解决方法
把clone链接里面的github.com改为镜像网站的github.com.cnpmjs.org,例如:https://github.com/zhumj/RxEasyHttp.git改为https://github.com.cnpmjs.org/zhumj/RxEasyHttp.git修改前速度基本10kb/s左右:修改后轻松达到2M/s以上,我最高达到5M/s:...转载 2021-01-20 17:41:38 · 178 阅读 · 1 评论 -
提交file文件时 no multipart boundary param in Content-Type
上传图片时报错400.no multipart boundary param in Content-Type解决方法:把 headers 里的 content-type 清空Retrofit的注解也去掉。 @Headers("Content-Type: application/json")原创 2021-01-14 12:09:30 · 6826 阅读 · 0 评论 -
Xcode使用技巧
本文翻译自 Paul Hudson 的 Xcode Tips系列1 class成员构造函数生成★ Swift 可以为 struct 合成成员构造函数,但不能为 class 合成。Xcode 可以帮助生成代码,先选中类名,然后选择菜单 Editor —> Refactor —> Generate Memberwise Initializer。 2 设置App的“外观”★ 运行 App 到模拟器以后可以找到环境面板,点开它可以设置 Dynamic Type size, 暗..原创 2020-12-25 19:02:55 · 375 阅读 · 0 评论 -
OC调用Swift framework
在此记录下OC如何调Swift framework! 新建工程OCCallSwift,语言选择OC,如图: image.png 新建lib_swift module,语言选择Swift,如图: image.png 新建测试对象TestMethod.swfit,如下:import Foundationpublic typealias complete = (_ v1:Int,_ v2:Int)-> Intpublic class T...转载 2020-12-22 15:53:27 · 923 阅读 · 0 评论 -
基于webrtc的多人连麦直播开源框架 Janus-gateway-iOS
低延时、地卡顿、高音画质是直播技术方向追求的方向,webrtc属于业内良心开源项目,绝大多数连麦直播技术基于此项目,连麦技术架构有Mesh、MCU、SFU三种技术架构。三种技术架构优缺点各异,大家可以自行查阅。但是基于目前的直播状况,现在最合适的,也是使用比较多的是SFU架构。但是SFU架构除了客户端的webrtc需要完成,更重要的服务器也需要搭建。如果你需要多人连麦直播 Janus-gateway-iOS是一个基于janus-gateway 服务器的sfu架构的连麦直播iOS客户端框架,封装了w转载 2020-12-08 09:41:29 · 1943 阅读 · 0 评论 -
macOS上,实现Wireshark手机抓包
1. 需要的硬件: Macbook Edimax EW-7822UAC无线网卡(如果买其他型号网卡,查看一下网卡的官网,确认有macOS的驱动) 需要的软件: Wireshark for macOS2. 安装网卡驱动,重启动后,设置外置无线网卡EW-7822UAC连接到wifi网络。3. 设置共享网络。注意,一定要把EW-7822UAC设置为“共享以下来源的连接”,把内置网卡用于“用以下端口共享给电脑”,如下图点击上图的“...转载 2020-12-02 17:17:42 · 1915 阅读 · 2 评论 -
iOS OC 中常用的占位符
常用的占位符记录一下:%@ 对象 %d, %i 整数 %u 无符整形 %f 浮点/双字 %x, %X 二进制整数 %o 八进制整数 %zu size_t %p 指针 %e 浮点/双字 (科学计算) %g 浮点/双字 %s C 字符串 %.*s Pascal字符串 %c 字符 %C unichar %lld 64位长整数(long long) %llu 无符64位长整数 %Lf 64位双字 %e 是实数,用科学计数法计的\a - Sound alert \b - 退格原创 2020-11-21 17:50:32 · 773 阅读 · 0 评论 -
石家庄出差-软硬件调试小记
背景公司项目实施,涉及到软硬件调试,需要到现场安装以及测试,软件实际已经开发和测试完成,只是产品负责人担心新的硬件会有兼容问题,于是拉上我一起去现场。过程第一天飞机直达目的地,刚下飞机,就看到对接的技术发来测试结果:硬件A安装软件顺利,只是语音识别不能工作。于是下飞机到现场的路上已经在思考可能是讯飞的唤醒和阿里识别冲突了。于是到现场立马开好电脑,准备切换到百度的唤醒和识别服务,这块之前代码都有的,只是没有给项目配置。寻找账号赶紧弄好配置,然后测试一下,可以唤醒和识别。只是唤醒词是老.原创 2020-11-02 17:30:58 · 227 阅读 · 0 评论 -
升级macOs: 将安装器信息下载到目标宗卷失败
近期需要用mac pro 开发一个ios的小东西,然后把尘封已久的mac(Mac Book Retina, 13-inch, Early2015,15年买的)拿出来,弄了一下xcode和模拟器等环境,然后安装把app到手机(iphone7和8p,版本有os12和os13)上测试,结果显示xcode版本太老,不能安装,然后下载了最新的xocde又不能安装,提示系统版本太老(MacOS Sierra 10.12.6), so准备把mac系统升级到最新。实际今年5-6月份的时候有升级过一次。然后当时升级到Ma原创 2020-10-19 15:40:13 · 2232 阅读 · 0 评论 -
Android AudioRecord每帧200ms数据量持续采集
背景这两天在对接某公司的asr(自动语音识别),但是他们没有提供android sdk,只提供了功能API。其中关键的一个步骤就是开始识别后,持续发送音频数据流,每200ms为单位的发送一次音频数据。很显然需要用到AudioRecord,可以输出未处理的裸PCM数据.PCM:PCM(Pulse Code Modulation)也被称为脉冲编码调制。PCM音频数据是未经压缩的音频采样数据裸流,它是由模拟信号经过采样、量化、编码转换成的标准的数字音频数据。基础知识准备音频开发经...原创 2020-09-15 18:08:07 · 1931 阅读 · 0 评论 -
RecycleView4种定位滚动方式演示
相信大家在项目中使用RecyclerView时,经常会遇到这样的需求:将RecyclerView滑动到指定位置,或者检索RecyclerView的某一项(各个项的高度不确定),然后定位滚动这到一项,将它显示。下面就讲解4种RecyclerView定位滚动的方式及具体效果演示。scrollByrecyclerView.scrollBy(x, y)使用:recyclerView.scrollBy(x, y)scrollBy(x, y)这个方法是自己去控制移动的距离,单位是像素,所以在使转载 2020-07-16 15:06:43 · 266 阅读 · 0 评论 -
Android ConstraintLayout app:layout_constraintHorizontal_bias详解
想必大家都对Google新贵ConstrainLayout的使用爱不释手。今天在使用app:layout_constraintHorizontal_bias属性的时候遇到点小疑问,研究了一会儿才知晓bias值的意义:即bias值=子View左相关的长度/(子View左相关的长度+其右相关的长度),默认值为0.5。在此记录并分享以下两种示例:假设子view的宽度是父布局的1/2,父布局的宽度视作...转载 2020-04-13 17:50:35 · 5524 阅读 · 0 评论 -
Android M(API23)以后需要动态申请权限的那些坑
1. Android 6.0权限的基本知识,以下是需要单独申请的权限,共分为9组,每组只要有一个权限申请成功了,就默认整组权限都可以使用了。 group:android.permission-group.CONTACTS permission:android.permission.WRITE_CONTACTS permission:android.permission.GE...转载 2020-04-13 17:48:54 · 173 阅读 · 0 评论 -
Android Studio3.3.2中Kotlin没有语法提示问题
问题描述:在Android Studio3.3.2,编写kotlin代码,相关的语法提示出不来,如数组里的sort函数死活点不出来,手动敲出来,代码编译能过如下图,数组的sort相关函数出不来。在idea里面可以点出来。解决办法:先以为是as3.3的bug,后面下载as3.2,然后还是不行,反复卸载-安装搞了几次,还是没用。最后快放弃的时候尝试把c:/User/用户名 下面的...原创 2019-04-09 15:02:53 · 2861 阅读 · 0 评论 -
volatile关键字
volatile关键字的特性:1、共享变量的内存可见性;2、防止重排序;3、不能保证变量的“原子性”;4、不具备“互斥性”。内存可见性:以多核CPU为例(两核),我们知道CPU的速度比内存要快得多,为了弥补这个性能差异,CPU内核都会有自己的高速缓存区,当内核运行的线程执行一段代码时,首先将这段代码的指令集进行缓存行填充到高速缓存,如果非volatil变量当CPU...原创 2019-03-04 15:30:48 · 169 阅读 · 0 评论