- 博客(54)
- 问答 (1)
- 收藏
- 关注

原创 编译安装适用于树梅派4B的android系统
n:创建新的四个分区(/root /system /vendor /data),都是primary分区类型,设置分区大小时输入需要的MB。一般来说需要通过storage.googleapis.com 下载,但是由于网络限制的原因,采用通过清华源镜像来下载。4. 下载android 12 源码,增加树梅派相关代码配置 可参考。t:改变分区的类型(W95 FAT32 (LBA),Linux)2.将SD分区(最好用命令行分区,试过用Gparted不行)4.复制固件到boot分区 (直接复制不需要命令行)
2023-11-20 22:29:03
2983
3

原创 android 配合scrollview 解决键盘遮挡EditText的问题
1.BaseActivity.javapackage com.ange.keyboardhidedemo;import android.app.Activity;import android.os.Bundle;import android.support.annotation.Nullable;import android.util.Log;import and...
2018-07-13 18:37:23
6699
原创 树梅派4B android系统在Framework层创建SystemService
树梅派4B android系统在Framework层创建SystemService
2025-02-13 00:28:09
108
原创 Android 系统配置修改
刷机国外android rom 修改配置的常用命令,Android 系统网络、时间服务器配置修改,adb 配置
2024-07-03 23:19:22
1243
1
原创 树莓派4B android系统,Led三色灯驱动添加
在内核源码根目录,我的源码目录为kernel,在kernel/common/drivers/char下添加LedDriver目录,并在LedDriver目录下添加文件Kconfig,led_drv.c,Makefile。连接方式参考下图,red 脚连GPIO17,green 脚连GPIO 18,blue 脚连GPIO19,GND脚连任意的GND。对照图片的引脚进行连接。做完这一步,可以通过以下步骤验证led是否能点亮,以下可以点亮红灯。一、去淘宝买一个led 三色灯配件,三色灯连接GPIO 接口。
2024-03-16 11:59:22
632
1
原创 rxjava 任务在activity 和fragment destroy时自动解除
rxjava 任务在activity 和fragment destroy时自动解除,防止内存泄漏
2022-11-07 15:37:07
748
原创 WorkManager 简单使用
1.在AndroidManifest.xml 添加<provider android:name="androidx.startup.InitializationProvider" android:authorities="${applicationId}.androidx-startup" android:directBootAware="false" android:exported="false"
2021-12-23 14:34:03
1913
原创 在GSYVideoPlayer中实现VLC 内核
GSYVideoPlayer 是一个比较火的开源框架。其支持Android 系统中的MediaPlayer内核,ExoPlayer 内核, ijkPlayer 内核。 在我使用的过程中发现不支持h265格式的avi 文件播放,所以我实现了一个VLC内核。import android.content.Context;import android.net.Uri;import android.os.Handler;import android.view.Surface;import android
2021-12-17 18:19:37
2743
原创 ubuntu 上编译安装ffmpeg的脚本
install-ffmpeg.shsudo apt-get install build-essential git-core checkinstall yasm texi2html libvorbis-dev libx11-dev libvpx-dev libxfixes-dev zlib1g-dev pkg-config netcat libncurses5-devFFMPEG_VERSION=4.1.4cd /usr/local/srcif [ ! -d "/usr/local
2021-11-14 18:42:58
138
原创 ubuntu编译ijkplayer-android
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).export PKG_CONFIG=/usr/bin/pkg-configexport PKG_CONFIG_PATH=/usr/local/lib/pkgconfigexport PATH=/usr/local/ffmpeg/.
2021-11-13 15:21:18
2325
原创 ubuntu ffmpeg 录制系统音频
1.安装 kmodsudo apt-get install kmod2.sudo modprobe snd-aloop3.ffmpeg -f alsa -i hw:Loopback,1,0 rec.wav参考:Linux上用ALSA aloop driver实现录制其他程序播放的声音_lsheevyfg的专栏-优快云博客没有用ffmpeg-alsa环回录制音频_三行代码http://ask.sov5.cn/q/2UI7VnFUpG...
2021-10-30 21:24:35
1501
原创 androidstudio 下载并配置缓存路径
这个我用过比较好的android开发工具下载网站,支持下载android stduio ,ndk ,sdk。修改文件android-studio\bin\idea.properties。修改缓存路径,默认是在c盘,
2021-10-19 14:32:20
7030
原创 nodejs 创建http服务
101.34.125.2101.34sud.125.244sudsudo apt install nodejs //安装nodejssudo apt install npm //安装npmnpm config set registry http://registry.npm.taobao.org //修改镜像sudo npm install -g npm@6.4.1 //升级npm
2021-08-20 10:41:11
209
1
原创 安装forever失败(Missing required argument #1)解决方案
原版本信息:nodejs:8.10.0 npm :3.5.2解决方案:sudo npm install -g npm@6.4.1 //升级npmsudo npm install forever -g
2021-08-20 10:30:06
1405
原创 SVN E170013, E230001
svn出现以下错误:svn: E170013: Unable to connect to a repository at URL 'https://xxxxxx'svn: E230001: Server SSL certificate verification failed: certificate has expired, certificate issued for a different hostname, issuer is not trusted解决办法:点击clear...
2021-07-19 16:26:29
1462
原创 android监听键盘弹出
public class GlobalLayoutListener implements ViewTreeObserver.OnGlobalLayoutListener { private final Rect mVisibleViewArea; private final int mMinKeyboardHeightDetected; private int mKeyboardHeight = 0; /** * Activity的根布局(Activity#s.
2021-07-14 18:25:41
149
1
原创 android使用theme修改状z态栏文字颜色(黑白切换)
<style name="editTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">@color/white</item> <item name="colorPrimaryDark">@color/white</item> <item name="colorAccent">@col...
2021-05-19 17:26:07
517
原创 密码中至少包含一个特殊字符,数字,字母,的8-16位密码的正则表达式
private boolean isAvailablePassword(String password) { return password.matches( "^(?=.*[A-Za-z])(?=.*[0-9])(?=.*[~!@#$%^&*()_+|<>,.?/\\\\:;'\\[\\]{}\"]).{8,16}$"); }
2021-05-08 16:37:48
2112
原创 Rxjava简单原理说明
Rxjava 本质上是 观察者模式框架。被观察者(Observable)->传递数据-> 观察者(observer)在调用subscribe ()方法进行订阅时,会把observer 层层往上构造出新的observer。例如:Observable.create().map().subscribe(observer) ,observer会先被new MapObserver(observer),用MapObserver接收事件源,再传递到原始的observer。...
2021-03-09 00:06:05
410
原创 activity window对象创建过程及其作用
activity里持有成员变量mWidow,在attach里初始化,并设置windowManageractivity的attach方法在ActivityThread 的performLaunchActivity方法里被调用activity被创建后,activity的attach方法被调用Window.java 里面有几个重要的成员变量,mAppTo...
2020-12-23 00:33:39
916
1
原创 Android activity 的taskAffinity属性
1.默认情况下一个activity的taskAffinity的值为app包名2.在app中设置一个activity 的taskAffinity为非包名+launchMode为singleTask 或者 singleInstance,可以使activity在新的task启动。3.在app中设置一个activity 的taskAffinity为非包名+launchMode为standard,不可以使activity在新的task启动。单纯使用 taskAffinity 不能导致 Activity 被
2020-10-22 23:45:05
482
原创 java 偏向锁 轻量级锁 重量级锁
前言:java的线程是映射到操作系统的原生线程上的,如果要阻塞和唤醒线程,需要操作系统帮忙,要从用户态转为核心态,需要花费很多处理器时间。
2020-10-22 23:01:31
142
原创 Synchronized 和 ReentrantLock的区别
1.Synchronized 可以作用于代码块,静态方法 ,实例方法。作用于代码块时锁为Synchronized 括号里的对象,作用于静态方法时,锁为当前类的class 对象。作用于实例方法时,锁为对象实例。Synchronized 的使用比ReentrantLock简单,加锁和释放锁的操作都是由虚拟机完成的。2.ReentrantLock的加锁和解锁操作都需要手动完成。...
2020-10-20 23:09:11
232
原创 android cmake方式引入camera2ndk报错: NOTFOUND
我是这样引入的:find_library(camera2ndk-lib camera2ndk)target_link_libraries(native-lib ${log-lib} ${android-lib} ${camera2ndk-lib} avutil swresample avcodec avdevice avfilter avformat swscale)然后编译时出现:D:\github\FFmpeg\ffmpeg\CMakeLists.txt : C/C++ debug|
2020-09-19 18:09:06
919
原创 ffmpeg 代码实现从视频中1秒截一张图
背景:我这个代码是在我的Android demo 里截取出来的,项目里是实现了从相册里选择一个视频,然后每秒生成一张截图;当然这个代码在非android 项目也是可以使用的。头文件:decode_video_to_img.h#ifndef DEMO_DECODE_VIDEO_TO_IMG_H#define DEMO_DECODE_VIDEO_TO_IMG_Hint createImg(char* inputFileName, char * outputFileName);#endif /
2020-06-16 20:52:55
2112
2
原创 不使用retrofit 情况下用Kotlin 的deferred 封装请求框架?
前言:旧项目没有使用retrofit,但是我又想让自己封装的请求框架支持Kotlin 的deferred ,于是参考了com.jakewharton.retrofit2.adapter.kotlin.coroutines.CoroutineCallAdapterFactory,写出了以下的代码,自测可以使用。override fun <T> excuteOnDef...
2020-02-10 12:58:50
1927
2
原创 Kotlin 类委托(by) 解构HttpUtil
在android 开发中,我们都会用到Http请求框架有很多,偶尔会更新框架,如从volley替换成okhttp,如果没有做好封装,替换的时候需要修改很多地方。下面提供一个封装的思路,做一个httpUtil,当需要替换请求框架,我们只需要重写RequestImpl,而不需要修改很多地方。1.准备一个接口类public interface IRequest { <T>...
2020-02-07 13:12:38
2468
1
原创 android 动画为什么可以在超出view 的范围显示?
前言:我有个同事问我为什么view 执行补间动画时可以超出自身范围绘制,如scaleAniamtion 放大整个view,但实际上view 的width,height都没有发生改变,为什么可以超出自身范围绘制呢? 最后我研究了一下,得出这张图,有说得不对的地方请指正:补间动画图解...
2020-01-12 11:09:45
1078
原创 linux 下静态库的编译与使用
介绍: gcc -g -O2 -o xxx xxx.c -I 文件路径 -L 文件路径 -l 库名-g :输出文件的调试信息-O :对输出文件做指令优化-I :指定头文件位置-L:指定库文件位置-l:指定使用哪个库步骤:1)创建文件:add.h ,add.c , main.cadd.hint add(int a,int b);add.cint ...
2019-07-11 22:50:52
719
Android Compose +Paging+Swiperefresh实现列表的下拉刷新,上拉加载更多功能
2024-12-19
树梅派4B-android12-刷机资源
2023-11-26
TA创建的收藏夹 TA关注的收藏夹
TA关注的人