- 博客(45)
- 收藏
- 关注
原创 ndk-build 在AndroidStudio中配置Tools
Android Studio打开File->Settings->Tools->External Tools->+(加号,用于添加tools)配置javah:Tools Settings中:Program:$JDKPath$\bin\javah.exeArguments:-encoding utf-8 $FileClass$Working directory:$SourcepathEntry$配置 ndk-build:Program: D:\A...
2021-12-23 11:43:12 2060 1
原创 maven-publish 使用方式,android 自定义plugin上传
说明:1.演示如何使用Android Studio开发自定义Plugin和如果正确上传本地参考资料:1、GitHub - Ololoshechkin/plugin-verifier(参考gradle配置)2、https://github.com/Leifzhang/AndroidAutoTrack.git(参考多自定义plugin配置)创建通用发布mavenPublish.gradleapply plugin:"maven-publish"configure(allproj..
2021-10-18 16:14:49 1307
原创 Databinding相关 XXX.inflate(layoutInflater) must not be null问题
问题说明:我的android项目结构:ModuleA(application)依赖ModuleB(library),ModuleB依赖ModuleC(library); 其中ModuleA和ModuleC开启了 dataBinding { enabled = true }或者 buildFeatures{ dataBinding = true viewBinding = true }但是ModuleB没有开启的.
2021-08-17 19:19:47 1124
原创 软键盘弹出后的布局上移处理
在EditText 比较多的情况下,为了避免软键盘弹出,遮盖部分EditText;特别对于平板这种设备时,可以通过以下方式将根布局整体setTranslationY进行上移,软键盘消失时再恢复。软键盘监听管理类:public class SoftKeyBroadManager implements ViewTreeObserver.OnGlobalLayoutListener{ public interface SoftKeyboardStateListener {
2021-07-20 11:46:21 651
原创 kotlin 通用工具,持续更新,个人笔记
~~~fun<T> T.ifNotIs(compareValue:T):T?{ return if (this != compareValue) { this } else { null }}fun<T> T?.then(block:(T)->Unit) { if (this != null) { try { block(this) } catch
2021-07-06 10:20:52 387
原创 jetpack navigation fragment切换生命周期
BaseFragment--onAttach CallPatientAFragment{249d69f4} BaseFragment--onCreate CallPatientAFragment{249d69f4} BaseFragment--onCreateView CallPatientAFragment{249d69f4} BaseFragment--onViewCreated CallPatientAFragment{249d69f4} BaseFragment--onActivityC.
2021-04-21 16:48:44 787
原创 使用MAT分析安卓内存泄漏步骤
第一步,判断是否存在内存泄露1.使用linux脚本或手动循环打印meminfo#!/bin/bashwhile true;doadb shell echo -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
2021-01-12 21:15:34 396
原创 粒子发生器示例
来源与glfw源码example目录下的particles.c//========================================================================// A simple particle engine with threaded physics// Copyright (c) Marcus Geelnard// Copyright (c) Camilla Löwy <elmindreda@glfw.org>//// Th
2021-01-07 21:19:52 331
原创 glReadPixels使用示例
来源于glfw源码example目录中的offscreen.c .会在同级目录下生成渲染后的图片//========================================================================// Offscreen rendering example// Copyright (c) Camilla Löwy <elmindreda@glfw.org>//// This software is provided 'as-is', w
2021-01-07 20:46:43 1167 1
原创 glBufferSubData使用实例
来源与glfw源码example目录下的heightmap.c//========================================================================// Heightmap example program using OpenGL 3 core profile// Copyright (c) 2010 Olivier Delannoy//// This software is provided 'as-is', without any
2021-01-07 20:34:47 735 2
原创 AsyncTask 复用
说明线程请求数据,ui线程显示数据的实现有很多种途径.这里介绍的是如何修改AsyncTask让其实例能够重复使用.由于AsyncTask每次执行的时候只能通过new一个实例来调用execute.在项目中使用的时候个人感觉有点难受.比如如果设计了如下的fragment基类,用于后台请求和ui线程处理的话,如果使用普通AsyncTask就不得不断的new AsyncTask.public abstract class FragmentBase<AsyncTaskParams, AsyncTaskP
2020-12-10 09:58:55 498
原创 Modern C++
现代C++知识点记录nullptr\color{red}{nullptr}nullptr为了解决这个问题,C++11\color{red}{C++11}C++11 引入了 nullptr\color{red}{nullptr}nullptr 关键字,专门用来区分空指针、0。而 nullptr 的类型为 nullptr_t,能够隐式的转换为任何指针或成员指针的类型,也能和他们进行相等或者不等的比较。#include <iostream>#include <type_traits
2020-08-15 18:34:45 452
原创 ApplicationPackageManager实现静默安装,需要系统权限
## 背景介绍条件:1.不使用Process process = Runtime.getRuntime().exec(pm install -r ....)执行shell命令。为什么不使用是因为su拿得到前提是系统支持。2.需要拥有系统权限,即系统签名+android:sharedUserId="android.uid.system"。## 实现方式1.使用eclipse打系统jar只包含如下,打系统jar包的时候,只复制如下几个文件,然后忽略所有error直接export jar包
2020-07-28 19:13:45 2381 1
原创 android onKeyDown禁音
????:环境android版本:7.1.2使用场景:机顶盒问题描述:需要解决onKeyDown 遥控器按键无声android源码:参考API 25条件:1.android:soundEffectsEnabled无用的前提下。2.在不使用系统设置里的全局按键音关闭或系统权限的条件下说明:源码是按照API25来的,不同的api版本源码略有差异,请自己具体分析,这里只是抛砖引玉????OnKeyDown产生声音定位android.view.ViewRootImpl.processKeyEvent
2020-06-20 12:33:38 330
原创 Godot water shader 2
????:更加真实的水面源项目地址: https://github.com/sunkper/Project-Summer-Island????复杂water shader/*Realistic Water Shader for GODOT 3.1.1Copyright (c) 2019 UnionBytes, Achim Menzel (alias AiYori)Permission is hereby granted, free of charge, to any person obtain
2020-06-02 23:21:14 560
原创 Rhino engine null不能使用android.uid.system
Rhino简介Rhino 是‘Give access to RhinoScriptEngine from the JSR223 interfaces on Android JRE.’,可以在android上使用js.(项目地址https://github.com/APISENSE/rhino-android)sample地址: https://github.com/aveuiller/RhinoSampleAppengine返回null问题测试发现Rhino不能使用系统签名,如果使用返回null
2020-06-02 09:32:58 317
原创 Godot water shader
:underage:原链接(贴在这里方便查找):https://www.youtube.com/watch?v=5MfcliFqjnE&list=PLtcDUwlxDv2K8KQ8WdFi6KUwizc-x_ZG9&index=3使用Godot产生低模水面:波浪效果所使用的shader:shader_type spatial;uniform vec4 out_color :hint_color =vec4(0.0,0.2,1.0,1.0);uniform flo.
2020-05-24 22:56:37 557
原创 android Sqlite 单引号冲突问题正确解决思路
# 仅提供问题解决思路## 问题:update book_table SET title='Tome's book' where book_id='1008'则会出现单引号的冲突,Tome's 的单引号会被解释为结束,后面的内容就是错误的了## 错解:网上一般都在说带入title的时候将单引号替换为双单引号等等。之所以这样做还是因为他们仅仅使用了SQLiteDa...
2020-04-08 10:12:34 287
原创 opengl 球体
理论:球的参数方程https://baike.baidu.com/item/%E7%90%83%E9%9D%A2/5889102?fr=aladdin不过我这里是y 与z的参数方程交换了关系式。即y=Rcos(φ),注意我这里代码没有实现计算法向量数组,如果后期我用到了再加。(个人笔记,不喜勿喷)效果:画球代码:int H=40, V=40;//H x-z平面圆分成多少...
2019-11-17 00:27:04 1041 1
原创 android 自定义资源id,aapt2,public.xml,支持最新gradle 5.4.1
1.创建public.xmlpublic.xml2.创建public-xml.gradle工程目录结构:完整public-xml.gradle如下:import org.gradle.util.GFileUtilsapply plugin: PublicPluginclass PublicPlugin implements Plugin<Projec...
2019-10-24 09:52:00 1794 6
原创 windows dos/cmd 脚本示例,set ,choice,xcopy,notepad
简单的window的批处理.bat脚本编辑实例,用于笔记,不喜勿喷。@echo offecho -----------TDZ IS PLEASURE TO ASSIST YOU :)-----------echo.echo.echo -----------Choose your platform!!!-----------echo.echo.set message=[1]Aml...
2019-09-25 21:27:02 341
原创 Android资源文件属性总结
仅作为个人笔记,不喜勿喷!!!一、drawable目录下的xml可选属性这些博客不错大家可以参考下:https://www.jianshu.com/p/39f09ea26430https://blog.csdn.net/weixin_33854644/article/details/881871611.animated-rotate使用实例 https://www.cnblogs.com...
2019-06-14 11:22:56 157
原创 获取视频帧图片,FFmpegMediaMetadataRetriever修改,优化,提高加载速度
一、背景因为工作需要制作视频预览功能,使用网上开源代码发现加载第一个视频时,比较耗时,差不多三秒左右,所以对其进行了部分修改,并重新编译使用新ffmpeg 4.1.3https://github.com/wseemann/FFmpegMediaMetadataRetriever二、编译FFmpeg-n4.1.31.环境ubuntu 16ndk:android_ndk_17c(编ffm...
2019-06-03 15:18:29 3483 1
原创 .bmp文件24/32位java工具
工具介绍由于项目需要,从 https://github.com/kswlee/Android-BitmapEx 找到bmp处理的类,但是因为只支持32位,所以对其进行了修改兼容24/32参考 https://blog.csdn.net/chaojiangluo/article/details/79703486#bmp图片格式代码import java.io.DataOutputStre...
2019-05-06 22:34:08 283
原创 Kotlin学习
Kotlin数组Array初始化方式网上有很多关于kotlin Array初始化的方式,我就不一一介绍了(很多网上写的方式IDE是会弹提示的,也就是说不完全符合标准)Array的正确使用方式如下,其他类型以此类推:(Lambda写在小括号外,否则IDE有提示信息) var array =Array(10){""}//Array<String> var array1 =Ar...
2019-04-19 23:29:47 166
原创 adb 调试
真机no permission解决方式adb shellrun-as com.your.package参考:https://blog.csdn.net/yangzl2008/article/details/8498196常用adb调试命令https://developer.android.com/studio/command-line/adb?hl=zh-cn...
2019-04-17 19:48:59 105
原创 简单自定义Dialog类,百分比中的应用
场景结合百分比布局,如何自定义Dialog的方式。基础Dialog类package XXX;import android.app.Dialog;import android.content.Context;import android.content.res.Resources;import android.support.annotation.LayoutRes;import ...
2019-01-11 10:01:06 194
原创 javah找不到类问题
Jni生成头文件步骤: 1. F:\ dirTest\com\test\utils>javac Test.java (utils目录下生成Test.class) 2. F:\ dirTest\com\test\utils>cd F:\ dirTest\ (如果直接在utils目录下执行javah就会找不到类) 3. F:\dir...
2018-08-02 15:05:59 810
原创 python 爬网页RGB demo
环境window10 python3.6.5 库:lxml,BeautifulSoup,requests(pip install xxx导入这些) 目标http://www.wahart.com.hk/rgb.htm背景做android项目时想从网页上找rgb颜色放在colors.xml中,但懒得复制,就写了一个简单的python 获取这些内容,别问我为什么,因为闲的蛋疼!...
2018-04-06 18:47:57 264
原创 ijkplayer播放本地ts
编译环境ubuntu 14.04LTS SDK:android-sdk_r24.4.1-linux.tgz NDK: r10eijkplayer使用播放器ijkplayer version:k0.8.8提醒:ijkplayer中的编译有三种: 1.more codec/format使用module-default.sh(.so 4.7M) 可以播放本地ts ...
2018-03-23 11:28:19 2996
原创 Android 7.0 静默安装
/** * void installPackageAsUser(in String originPath, * in IPackageInstallObserver2 observer, * int flags, * in String installerPackageName, * int userId); * @param insta
2017-12-21 15:26:22 3172
原创 JmDNS 多设备注册及查找
由于mdns官方sample中是JmDNS.create()创建的,但是我就遇到了有的客户端设备可以被发现有的不可以被发现,所以就尝试用JmDNS.create(InetAddress.getByName(ip),"RegisterDevices");才让所以设备都能正常。供参考。希望如果遇到同样的问题时,你可以试试这个。注册客户端:public class RegisterMdns
2017-10-19 20:53:00 1391 1
原创 使用Runtime类 识别 sdcard和U盘android 6.0 存储路径识别
注意:一般手机可能不适用!!!理论:proc/partitions可以获取主设备和次设备号(sd[a/b/c]为u盘,mmcblk[数字][p为分区]),proc/mounts可以获取/dev/block/vold/public:179,129 /mnt/media_rw/0403-0201 也包含了主设备和次设备号(注意凡是外部存储(sdcard 和u盘)都是/dev/block/v
2017-09-21 20:39:56 1232
原创 UDP 发送 MediaPlayer播放
未处理播放丢帧,码率,仅供参考发送端:public class UdpSend { static String destAddressStr = "224.0.0.1"; static int destPortInt = 9998; static int TTLTime = 4; private final static String mPath = "/s
2017-09-19 10:55:01 2587 2
原创 UDP MediaPlayer 组播 地址
public static String ADDRESS = "udp://@224.0.0.1:9998"; public void startUdp(Context context){ try { UdpSend.start(); mMediaPlayer.reset(); mMediaPlayer.setA
2017-09-19 10:48:44 2554
原创 XShell,乱码,串口
使用串口连接时,出现乱码的解决方法:遇到windows 下使用XShell 创建连接linux设备串口任务的session,但是发现乱码,而且无论如何设置语言编码集都无用,后来找到问题是:Baud Rate默认是9600 ,只要调节为115200即可。
2017-04-28 20:22:59 5773
原创 apk,静默安装,linux命令
import android.content.Context;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;public class LinuxCmdUtil { private static final String closeEth0="busyb
2017-04-26 09:42:26 611
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人