bcoder

Flutter记录之GridView

 分类:Uncategorized 阅读 (84)  Flutter记录之GridView已关闭评论
1月 092024
 

GridView继承自BoxScrollView,BoxScrollView继承自ScrollView

GridView有多种构建函数

GridView

GridView.builder

GridView.count

GridView.custom

GridView.extent

 Posted by on 2024-01-09

Sqlite中将时间戳转换为带秒或者秒的时间

 分类:Database, Sqlite 阅读 (858)  Sqlite中将时间戳转换为带秒或者秒的时间已关闭评论
3月 302023
 

将长度为10位的时间戳(秒级)转换为时间:

将长度为13位的时间戳(毫秒级)转换为时间(秒级):

将长度为13位的时间戳(毫秒级)转换为时间(毫秒级):

 

 Posted by on 2023-03-30

yarn : 无法加载文件 d:\nodejs\yarn.ps1,因为在此系统上禁止运行脚本。

 分类:Android, Java, Others, Others 阅读 (90)  yarn : 无法加载文件 d:\nodejs\yarn.ps1,因为在此系统上禁止运行脚本。已关闭评论
1月 122023
 

执行yarn android出现如下错误

解决办法:

  1. 打开“开始”菜单,搜索powershell,在powershell菜单上右键,点击“以管理员身份运行”
  2. 在打开的powershell命令行窗口中输入get-ExecutionPolicy,可以查看返回的是Restricted,这个意思是管理员权限是禁用的
  3. 在命令行窗口中输入set-ExecutionPolicy remotesigned,按照提示输入y,回车,就可以执行yarn相关命令了
 Posted by on 2023-01-12

Android Studio编译报:app:checkDebugManifest错误的解决办法

 分类:Uncategorized 阅读 (102)  Android Studio编译报:app:checkDebugManifest错误的解决办法已关闭评论
1月 112023
 

将项目的原来的gradle版本由5.1.1升级到7.2版本后再编译就报如下错误

网上搜索大部分说是把使用的gradle的版本降到原来的版本,但是因为ide升级原因?版本不能降

后来搜索到一个方法是把项目里的build.gradle中的gradle插件的版本升级一下,由原来的3.4.1版本升级到4.2.0再编译就好了

 

 Posted by on 2023-01-11

General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘=’

 分类:Database, MySQL 阅读 (571)  General error: 1267 Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation ‘=’已关闭评论
11月 162022
 

出现这个问题的原因是两个表的字符集不一致

解决方法有两个:

1. 在select的时候对字段进行转码,如下:

select os.*, ob.obulatitude, ob.obulongtitude from OBU_status os  left join obudevices as ob on CONVERT(os.device_ID USING utf8) COLLATE utf8_unicode_ci=ob.obuhardware

其中CONVERT(os.device_ID USING utf8) COLLATE utf8_unicode_ci使用convert函数对字段进行了转码

2. 修改表的字符集

这个比较麻烦,如果是新项目没有问题,如果是已经在运行的项目,要考虑对其他地方是不是有影响

 Posted by on 2022-11-16

复习一些几何知识

 分类:Others, Others 阅读 (641)  复习一些几何知识已关闭评论
11月 112022
 

1. 已知三角形三边长度,计算面积

三边长度:a, b, c

半周长:p = (a + b + c) / 2

三角形面积:S = √[p(p-a)(p-b)(p-c)] =(1/4)√[(a+b+c)(a+b-c)(a+c-b)(b+c-a)]

2. 已知三角形各边长度,求其中某个顶点到对边的距离

三边长度:a, b, c,求a到bc边的距离ad

根据上面公式得出三角形面积,

由公式S = 1/2 (底 x 高),则ad = 2*S / bc

3. 设三角形三边分别为a、b、c,内切圆半径为r,则三角形面积=(a+b+c)r/2

4. 已知三角形两边a,b,这两边夹角C,则S=1/2 * absinC

 Posted by on 2022-11-11

Python中使用subprocess创建的进程杀不掉的问题

 分类:Others, Python 阅读 (1,579)  Python中使用subprocess创建的进程杀不掉的问题已关闭评论
8月 232022
 

使用subprocess的Popen函数创建了一个进程

使用Popen的kill和terminate函数都杀不掉这个进程

后来发现是因为Popen的时候使用了shell=True参数,如果不使用这个参数可以杀掉

后来百度找到了其他方法

想要杀掉进程的时候使用这个kill参数并传入子进程的pid就可以了

 

参考链接:http://www.dovov.com/shell-truepythonsubprocess.html

 

 Posted by on 2022-08-23

Python读取mysql出现TypeError: tuple indices must be integers or slices, not str错误

 分类:Others, Python 阅读 (1,058)  Python读取mysql出现TypeError: tuple indices must be integers or slices, not str错误已关闭评论
8月 232022
 

使用下面的代码读取mysql数据时出现TypeError: tuple indices must be integers or slices, not str错误

获取cursor时未指定cursor类型,默认使用tuple类型返回,将cur = conn.cursor()这一行修改为如下就可以了

 

 Posted by on 2022-08-23

Laravel Unknown column ‘updated_at’ in ‘field list’

 分类:PHP 阅读 (623)  Laravel Unknown column ‘updated_at’ in ‘field list’已关闭评论
8月 092022
 

因为数据表不是通过Laravel的migration建的,所以没有updated_at字段

使用Model对象save的时候就会报上面的错误,解决方法就是在Model里增加const UPDATED_AT = null;,如下代码所示:

 

 Posted by on 2022-08-09

MediaRecorder方法属性详解

 分类:Android, Java 阅读 (1,199)  MediaRecorder方法属性详解已关闭评论
6月 282022
 

基本Android sdk28版本编写

一、方法

setMaxDuration(int max_duration_ms)

  设置最大录像时长(单位:毫秒),需要在setOutFormat()之后prepare()之前调用。当录像时长达到这个时长,将触发MediaRecorder.OnInfoListener事件,事件的what参数为MEDIA_RECORDER_INFO_MAX_DURATION_REACHED,并且录像停止。停止动作是异步执行的,不能保证收到OnInfoListener时停止操作已完成。

setMaxFileSize(long max_filesize_bytes)

  设置最大录像文件大小(单位:字节),需要在setOutFormat()之后prepare()之前调用。当录像时长达到这个时长,将触发MediaRecorder.OnInfoListener事件,事件的what参数为MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED,并且录像停止。停止动作是异步执行的,不能保证收到OnInfoListener时停止操作已完成。

setNextOutputFile(File file)

  当setOutputFile或者setNextOutputFile所设置的输出文件达到最大文件尺寸时,使用此函数设置下一个输出文件。文件应该是可查找的(seekable)?当设置了next output file后,程序在调用mediarecorder.stop之前不要使用这个文件。程序应该在收到what参数为MEDIA_RECORDER_INFO_MAX_FILESIZE_APPROACHING的OnInfoListener事件之后,what参数为MEDIA_RECORDER_INFO_MAX_FILESIZE_REACHED的OnInfoListener之前调用setNextOutputFile函数。当收到what参数为MEDIA_RECORDER_INFO_NEXT_OUTPUT_FILE_STARTED的OnInfoListener事件后,此函数设置的文件才开始被录制。当之前设置的文件未被使用时,是不能设置新的输出文件的。当调用stop停止录像时,程序负责清理未使用的文件。

setPreviewDisplay(Surface sv)

  设置一个Surface用于预览正在录制的视频。需要在prepare函数前调用此函数。

  如果使用了setCamera(camera),并且camera对象已经设置了surface,程序就不用再调用此函数设置surface了,如果使用了一个非null值的surface作为参数调用了此函数,camera的预览surface将被新设置的surface代替;如果根本没有调用此函数或者传入了一个为null的surface,media recorder不会改变camera的surface。

 Posted by on 2022-06-28