BennuC_社区达人页

个人头像照片
BennuC
已加入开发者社区2001

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布156篇文章
2条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
  • Linux
擅长领域
技术认证

暂时未有相关云产品技术能力~

Android方面10年以上经验,掘金平台优质作者

暂无精选文章
暂无更多信息

2022年05月

  • 05.14 09:29:01
    发表了文章 2022-05-14 09:29:01

    getExternalFilesDir到底是什么

    getExternalFilesDir对应的目录是/sdcard/Android/data/包名/files/... 可以看到它主要是用来存放应用私有的一些文件。这个目录有几个特性:
  • 05.14 09:28:14
    发表了文章 2022-05-14 09:28:14

    java中try-catch另外一种用法:try(){}语法使用

    今天读代码发现一个try-catch与我们平时写的方式不太一样,如下: try (ZipFile apkFile = new ZipFile(apk)) { ... } catch (Exception e) { e.printStackTrace(); }
  • 05.14 09:27:25
    发表了文章 2022-05-14 09:27:25

    Flutter:onTap不响应

    代码如下: return Stack( children: [ videoWidget, GestureDetector( child: Container( width: double.infinity, height: double.infinity, ), onTap: () { setState(() { showProgress = !showProgress; }); },
  • 05.14 09:26:23
    发表了文章 2022-05-14 09:26:23

    AIDL中的传参及in、out、inout

    今天开发AIDL,新建一个接口,写了一个函数,结果build的时候报错了 Process 'command 'xxx/aidl'' finished with non-zero exit value 1 经过长时间的尝试终于搞定,期间也回顾了不少知识,一起总结一下。
  • 05.14 09:25:08
    发表了文章 2022-05-14 09:25:08

    Android中的拍照camera和camera2

    在android我们可以调用系统的相机来进行照相,当然也可以设计自己的照相页面,通过surface进行预览,通过camera api来进行拍照即可。 在Android 5.0之后google推荐使用的Camera2 Api,但是由于兼容问题我们大部分还在使用Camera Api。这里我们一起简单介绍一下,仅仅是预览拍照,至于细节的设置,比如图像大小比例、对焦、图像旋转等就不一一细说了。 首先我们需要在布局中加入一个SurfaceView
  • 05.14 09:24:04
    发表了文章 2022-05-14 09:24:04

    细说Android apk四代签名:APK v1、APK v2、APK v3、APK v4

    大部分开发者对apk签名还停留在APK v2,对APK v3和APK v4了解很少,而且网上大部分文章讲解的含糊不清,所以根据官网文档重新整理一份。 apk签名从APK v1到APK v2改动很大,是颠覆性的,而APK v3只是对APK v2的一次升级,APK v4则是一个补充。 本篇文章主要参考Android各版本改动: developer.android.google.cn/about/versi…
  • 05.14 09:22:22
    发表了文章 2022-05-14 09:22:22

    Android:解决Button中的文字全部大写

    大家应该发现,当使用Button相关组件的时候,如果内容是英文,无论大写还是小写字母,在显示的时候会全部自动显示为大写,这时候我们需要为Button设置一下
  • 05.14 09:21:37
    发表了文章 2022-05-14 09:21:37

    剖析Fragment的Pause生命周期全过程

    之前遇到一个问题,与Fragment的Pause生命周期有关,所以就研究了一下Fragment的Pause生命周期特点。就有关这篇笔记。 我们知道Fragment的生命周期是依赖Activity的,所以想探究Fragment的Pause过程需要从Activity的Pause下手。
  • 05.14 09:19:47
    发表了文章 2022-05-14 09:19:47

    Unable to resolve dependency for xxx, Could not resolve project

    我们为了在不同的环境使用不同的配置,所以会在gradle中添加buildtypes来区分环境,并且在下面进行不同的配置
  • 05.14 09:18:49
    发表了文章 2022-05-14 09:18:49

    Android 如何获取有效的DeviceId

    从 Android 10 开始,应用必须具有 READ_PRIVILEGED_PHONE_STATE 特许权限才能访问设备的不可重置标识符(包含 IMEI 和序列号)。 而这个权限是系统权限,也就是说一般应用将无法再获取IMEI 和序列号
  • 05.14 09:16:39
    发表了文章 2022-05-14 09:16:39

    Flutter入门:Offstage和Visibility

    flutter有两种方法Offstage和Visibility可以控制widget的隐藏
  • 05.14 09:15:43
    发表了文章 2022-05-14 09:15:43

    Animation插值器:解决Android Animation 循环执行的停顿问题

    在Android开发中,有时候我们需要一个动画一直循环执行下去,常见的如laoding菊花一直旋转,这时候就需要使用Animation的repeat功能
  • 05.14 09:14:29
    发表了文章 2022-05-14 09:14:29

    Flutter Web:运行后console中不停的打印debug日志

    我们用android studio直接运行flutter web项目,会启动chrome来执行,这时候如果我打开开发者工具(右键-》检查),就会发现非常卡 (前提是用Html Render来渲染,用CanvasKit好像就没问题) 在console上边的操作栏上可以看到一个数字在不停的增长,这是因为console默认不显示debug日志,所以这些日志回以计数的形式显示。我们在操作栏的level中将debug选中,就会看到debug日志了。
  • 05.14 09:13:12
    发表了文章 2022-05-14 09:13:12

    Flutter Web:鼠标相关处理

    我们在利用Flutter Web开发pc端可以访问的网站,所以会有一些关于鼠标的处理。
  • 05.14 09:11:43
    发表了文章 2022-05-14 09:11:43

    Flutter入门:设置全局字体

    引入字体 首先在项目中创建fonts目录,然后将将ttf文件放到该目录下,然后在pubspec文件中添加该字体文件
  • 05.14 09:10:39
    发表了文章 2022-05-14 09:10:39

    Flutter入门:动画相关

    动画 在flutter中,如果想让某个widget执行动画,需要用一个动画类的widget封装一下,比如一个图片
  • 05.14 09:09:22
    发表了文章 2022-05-14 09:09:22

    Unable to resolve dependency for xxx, Could not resolve project

    我们为了在不同的环境使用不同的配置,所以会在gradle中添加buildtypes来区分环境,并且在下面进行不同的配置
  • 05.14 09:08:41
    发表了文章 2022-05-14 09:08:41

    FLutter入门:异步加载组件FutureBuilder

    FutureBuilder 在实际开发中,进入一个页面后执行网络请求加载数据并显示是非常普遍的,这时候我们一般会显示loading直到加载完成显示正常页面。在flutter中我们可以在initState中发起异步请求,然后将请求结果赋值给data,并setState刷新页面,在build中可以这样实现
  • 05.14 09:07:25
    发表了文章 2022-05-14 09:07:25

    Flutter入门:Hero共享元素

    在Android中我们知道是可以设置共享元素的,这样在两个页面中相同的元素在转场时就会以一个过渡动画的形式展示,效果炫酷,用户体验上也更好。 那么在Flutter中有同样的功能么? 答案是一定的,在Flutter中它就是Hero,也是一个widget(flutter中万物皆是widget)。Hero指的是可以在路由(页面)之间“飞行”的widget。所以它实现了共享元素转换或共享元素动画的动画风格。
  • 05.14 09:06:16
    发表了文章 2022-05-14 09:06:16

    利用layer-list和shape实现下划线效果

    因为shape如果形状设为line,则是居中的,可以做分割线,但是无法做下划线。 比如我们想为TextView设置一个背景,实现下划线。 需要用layer-list,因为shape的stroke是四周描边的,这里android:left="-4dp"就是指item的drawable(就是shape)从整个画布的-4dp开始绘制, 这样其实显示在画布中的shape就没有左边了,同理,上左右都这么处理就只剩下底边,就实现了下划线效果
  • 05.14 09:05:15
    发表了文章 2022-05-14 09:05:15

    ListView实现倒序显示

    实现聊天列表主要依赖ListView的2个属性android:stackFromBottom和android:transcriptMode
  • 05.14 09:04:21
    发表了文章 2022-05-14 09:04:21

    Android Studio运行报错:无法访问XXX......请删除该文件或确保该文件位于正确的类路径子目录中

    今天运行一个项目发现运行不起来了,报错 错误: 无法访问XXX 错误的类文件: C:\Users\xxx\.gradle\caches\transforms-2\files-2.1\xxx\xxx(xxx/xxx/xxx.class) 错误的 RuntimeInvisibleParameterAnnotations 属性: xxxx 请删除该文件或确保该文件位于正确的类路径子目录中。
  • 05.14 09:03:32
    发表了文章 2022-05-14 09:03:32

    ListView设置EmptyView之后不显示

    在代码里简单设置里一下emptyView后发现根本不显示
  • 05.14 09:02:36
    发表了文章 2022-05-14 09:02:36

    kotlin使用代码javaClass或class.java报错:unresolved reference

    解决方法: 在项目的build.gradle中配置一下即可
  • 05.14 09:01:56
    发表了文章 2022-05-14 09:01:56

    Android如何给通知channel静音

    目前各个市场都要求targetsdkversion要不低于26,也就是android 8.0。 相应的影响很多功能,比如通知。 当targetsdkversion >= 26,需要为通知添加channel
  • 05.14 09:01:05
    发表了文章 2022-05-14 09:01:05

    AS安装APK失败的两种情况

    INSTALL_FAILED_DUPLICATE_PERMISSION 根据网上的结论,在android L即android 5.0之后添加一种机制,主要是针对自定义权限的: 不同签名的app种如果有同样的自定义权限,那么只能安装一个,安装第二个时就会报上面的错误。 经过测试,即使签名相同也不行,不知道是我操作的问题,还是android更高版本有了更严的机制。 总之,使用不同的自定义权限就没问题,一般自定义权限我们都会加入applicationid,即包名,这样就不会冲突
  • 05.14 08:58:05
    发表了文章 2022-05-14 08:58:05

    Android录制和播放PCM数据

    PCM是android系统中的原生音频数据,那么我们如何录制和播放这个格式的byte[]数据呢?
  • 05.14 08:56:52
    发表了文章 2022-05-14 08:56:52
  • 05.14 08:55:27
    发表了文章 2022-05-14 08:55:27

    Android 12:SplashScreen Compat源码解析

    在上一篇文章Android 12 新功能:SplashScreen优化启动体验中我们介绍了Android 12上的一个新功能SplashScreen,同时提到了Google为了兼容低版本也提供了Androidx SplashScreen compat库,但是我们在使用的过程中发现这个库在Android 12和12以下版本表现并不一致,
  • 05.14 08:53:40
    发表了文章 2022-05-14 08:53:40

    Flutter入门:Text问题集锦

    在Row中使用TextField出错 当我们在一个Row组件中添加一个TextField
  • 05.14 08:52:18
    发表了文章 2022-05-14 08:52:18

    Flutter入门:组件Card、SafeArea、PageView、GridView

    Card Card对应Material Design中的CardView,使用很简单 Card的两个特点就是阴影和圆角。
  • 05.14 08:50:25
    发表了文章 2022-05-14 08:50:25

    Flutter入门:Button

    IconButton 如果即是一个图标又想点击,那么就用这个 IconButton( icon: Icon(Icons.close), onPressed: (){ // } )
  • 05.14 08:48:56
    发表了文章 2022-05-14 08:48:56

    resource.arsc解析之 Dynamic package reference

    加载Theme出错 这是一篇补充文章,在做动态替换resId的过程中,我发现bag类型的ResTable_entry在使用过程中存在问题。比如style,其parent解析一直有问题
  • 05.14 08:47:06
    发表了文章 2022-05-14 08:47:06

    gradle编译打包过程分析之ProcessAndroidResources

    引入源码 首先,如何查看gradle源码,我们在项目里依赖com.android.tools.build:gradle即可
  • 05.14 08:39:06
    发表了文章 2022-05-14 08:39:06
  • 05.14 08:37:35
    发表了文章 2022-05-14 08:37:35

    详解Bitmap之ARGB_8888/RGB_565/ALPHA_8/ARGB_4444

    有时会看到别人使用bitmap是用到ARGB_8888/RGB_565这类参数,那么这些参数是什么?对bitmap有什么影响?
  • 05.14 08:35:58
    发表了文章 2022-05-14 08:35:58

    Flutter入门:Image组件

    在flutter中显示图片的就是Image,相当于android中的ImageView,但是要比ImageView功能强大很多。 比如支持gif动图,可以加载网络图片,缓存机制,图片处理等。实际上Image基本上实现了平时我们用到的图片加载框架(如glide)的大部分功能。
  • 05.14 08:34:33
    发表了文章 2022-05-14 08:34:33

    Flutter入门:application、module、package、plugin

    我们用AS创建flutter项目时,会看到几个选项:application、module、package、plugin。
  • 05.14 08:32:28
    发表了文章 2022-05-14 08:32:28

    sleep与wait区别

    第一个区别是在对系统资源的占用上。 wait是Object类的一个函数(也就意味着所有对象都有这个函数),指线程处于进入等待状态,此时线程不占用任何资源,不增加时间限制。wait可以被notify和notifyAll函数唤醒(当然这两个同时也是Object的函数)。 而sleep则是Thread类的一个函数,指线程被调用时,占着CPU不工作。此时,系统的CPU部分资源被占用,其他线程无法进入,会增加时间限制。
  • 05.14 08:26:05
    发表了文章 2022-05-14 08:26:05

    Flutter入门:dart基础

    在dart中构造函数的名字可以是 ClassName 或者 ClassName.identifier
  • 05.14 08:23:19
    发表了文章 2022-05-14 08:23:19

    Gradle中implementation和api的区别

    api关键字与旧的compile关键字完全相同。因此,如果用api替换了所有的compile,是完全ok的
  • 05.14 08:22:41
    发表了文章 2022-05-14 08:22:41

    怎样查看.a和so文件中的接口

    查看.a文件都包含了那些文件
  • 05.14 08:21:16
    发表了文章 2022-05-14 08:21:16

    ProGuard中keep到底有什么作用

    一直以为keep就是不要混淆,近期发现还有另外一个作用
  • 05.14 08:20:24
    发表了文章 2022-05-14 08:20:24

    新建parcel写入数据后,读取数据为null

    最后一定要加上setDataPosition(0),将偏移指回最开始,这样才能正确读取数据,否则会从当前偏移读取,因为已经是最后了,所以读取的都是null
  • 05.13 21:14:24
    发表了文章 2022-05-13 21:14:24

    Android中Bitmap压缩的几种方法的解读

    很久之前研究微信的分享sdk的时候,在缩略图这遇到了一点问题,就做了个笔记,最近才翻出来。 微信分享的缩略图要求是不大于32k,这就需要对图片进行压缩。试了几种方法,一一道来。
  • 05.13 16:53:18
    发表了文章 2022-05-13 16:53:18

    Xcode12在storyboard添加组件和事件,添加新页面及跳转

    Xcode12界面有所改变,导致一些按钮位置变动。比如为storyboard添加组件的按钮移至如下位置:
  • 05.13 15:21:52
    发表了文章 2022-05-13 15:21:52

    Android 12新功能:使用SplashScreen优化启动体验

    由于很多应用在启动时需要进行一些初始化事务,导致在启动应用时有一定的空白延迟,在之前我们一般的做法是通过替换 android:windowBackground 的自定义主题,使应用启动时及时显示一张默认图片来改善启动体验。 在Android 12中,官方添加了SplashScreen API,它可为所有应用启用新的应用启动界面。新的启动界面是瞬时显示的,所以就不必再自定义android:windowBackground 了。新启动页面的样式默认是正中显示应用图标,但是允许我们自定义,以便应用能够保持其独特的品牌。下面我们来看看如何使用它。
  • 05.13 15:20:06
    发表了文章 2022-05-13 15:20:06

    在Xocde12上开发面向低于iOS13的Swift应用

    1、创建项目 在Xocde12上我们创建swift项目的时候Interface有两种选择:SwiftUI 和 Storyboard。其中SwiftUI只支持iOS13以上的系统,所以如果需要面向iOS13以下系统则无法使用。那么只能使用Storyboard,LifeCycle使用UIKit App Delegate。但是Xocde12默认为我们创建的项目
  • 05.13 15:18:43
    发表了文章 2022-05-13 15:18:43

    Swift学习笔记——页面跳转

    创建一个single view app后,项目中有main.storyboard,里面是一个viewcontroller。 那么我们如何实现页面跳转 首先添加一个导航控制器Navigation Controller。点击右上的➕,然后选择控件拖到面板上即可
  • 发表了文章 2022-05-14

    Flutter支持Windows\MacOS\Web等

  • 发表了文章 2022-05-14

    滑动速度监听VelocityTracker

  • 发表了文章 2022-05-14

    解决No version of NDK matched the requested version问题

  • 发表了文章 2022-05-14

    如何为Electron应用实现一个简易的更新功能

  • 发表了文章 2022-05-14

    实现一个悬浮在软键盘上的输入栏

  • 发表了文章 2022-05-14

    Binder机制中的收发消息及线程池

  • 发表了文章 2022-05-14

    攻防:如何防止动态hook绕过jni签名校验

  • 发表了文章 2022-05-14

    Flutter:实现红包晃动效果

  • 发表了文章 2022-05-14

    kotlin学习笔记——类、函数、接口

  • 发表了文章 2022-05-14

    kotlin中学习笔记——null

  • 发表了文章 2022-05-14

    kotlin学习笔记——sqlite(anko)

  • 发表了文章 2022-05-14

    kotlin集合操作符——总数操作符

  • 发表了文章 2022-05-14

    c++学习笔记之数组及vector

  • 发表了文章 2022-05-14

    c++学习笔记之模板

  • 发表了文章 2022-05-14

    c++学习笔记之异常

  • 发表了文章 2022-05-14

    c++学习笔记之继承和多态

  • 发表了文章 2022-05-14

    c++学习笔记之运算符重载

  • 发表了文章 2022-05-14

    c++学习笔记之指针

  • 发表了文章 2022-05-14

    c++学习笔记之类

  • 发表了文章 2022-05-14

    c++学习笔记之基础篇

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息