![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
SnowWindTDZ
书中自有黄金屋
展开
-
learning video+opengl
1.视频通过opengl显示的一般流程原创 2022-03-04 14:59:57 · 138 阅读 · 0 评论 -
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 · 2032 阅读 · 1 评论 -
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 · 1055 阅读 · 0 评论 -
软键盘弹出后的布局上移处理
在EditText 比较多的情况下,为了避免软键盘弹出,遮盖部分EditText;特别对于平板这种设备时,可以通过以下方式将根布局整体setTranslationY进行上移,软键盘消失时再恢复。软键盘监听管理类:public class SoftKeyBroadManager implements ViewTreeObserver.OnGlobalLayoutListener{ public interface SoftKeyboardStateListener {原创 2021-07-20 11:46:21 · 630 阅读 · 0 评论 -
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 · 753 阅读 · 0 评论 -
使用MAT分析安卓内存泄漏步骤
第一步,判断是否存在内存泄露1.使用linux脚本或手动循环打印meminfo#!/bin/bashwhile true;doadb shell echo -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------原创 2021-01-12 21:15:34 · 358 阅读 · 0 评论 -
AsyncTask 复用
说明线程请求数据,ui线程显示数据的实现有很多种途径.这里介绍的是如何修改AsyncTask让其实例能够重复使用.由于AsyncTask每次执行的时候只能通过new一个实例来调用execute.在项目中使用的时候个人感觉有点难受.比如如果设计了如下的fragment基类,用于后台请求和ui线程处理的话,如果使用普通AsyncTask就不得不断的new AsyncTask.public abstract class FragmentBase<AsyncTaskParams, AsyncTaskP原创 2020-12-10 09:58:55 · 353 阅读 · 0 评论 -
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 · 2299 阅读 · 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 · 302 阅读 · 0 评论 -
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 · 297 阅读 · 0 评论 -
android Sqlite 单引号冲突问题正确解决思路
# 仅提供问题解决思路## 问题:update book_table SET title='Tome's book' where book_id='1008'则会出现单引号的冲突,Tome's 的单引号会被解释为结束,后面的内容就是错误的了## 错解:网上一般都在说带入title的时候将单引号替换为双单引号等等。之所以这样做还是因为他们仅仅使用了SQLiteDa...原创 2020-04-08 10:12:34 · 264 阅读 · 0 评论 -
android查看资源id
原创 2019-10-24 10:31:04 · 703 阅读 · 0 评论 -
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 · 1685 阅读 · 6 评论 -
获取视频帧图片,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 · 3404 阅读 · 1 评论 -
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 · 140 阅读 · 0 评论 -
.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 · 259 阅读 · 0 评论 -
Kotlin学习
Kotlin数组Array初始化方式网上有很多关于kotlin Array初始化的方式,我就不一一介绍了(很多网上写的方式IDE是会弹提示的,也就是说不完全符合标准)Array的正确使用方式如下,其他类型以此类推:(Lambda写在小括号外,否则IDE有提示信息) var array =Array(10){""}//Array<String> var array1 =Ar...原创 2019-04-19 23:29:47 · 139 阅读 · 0 评论 -
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 · 94 阅读 · 0 评论 -
Eclipse打android framework jar,Android Studio 配置使用framework jar 包
原创 2019-04-03 12:06:57 · 286 阅读 · 1 评论 -
java,android更改,设置系统时间
权限: AlarmManager alarmManager= (AlarmManager) getSystemService(Context.ALARM_SERVICE); alarmManager.setTimeZone("GMT+13");原创 2017-04-18 11:27:55 · 1570 阅读 · 1 评论 -
Android studio[INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES]
!!!!!不喜勿喷,仅作为个人笔记1.http://blog.imallen.wang/blog/2015/09/25/install-parse-failed-inconsistent-certificates-jie-jue-fang-fa/2.http://stackoverflow.com/questions/3185444/how-to-deal-with-install-par原创 2017-04-14 19:46:46 · 826 阅读 · 1 评论 -
如何让service死不掉
http://zhoujianghua.com/2015/07/28/black_technology_in_alipay/原创 2017-04-25 15:05:54 · 339 阅读 · 0 评论 -
弹框,安装apk
public static void installApkFromFilePath(Context context,String filePath){ Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.fromFile(new File(filePath+"app.apk")), "a原创 2017-04-25 19:45:34 · 368 阅读 · 0 评论 -
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 · 594 阅读 · 0 评论 -
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 · 2496 阅读 · 0 评论 -
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 · 2553 阅读 · 2 评论 -
使用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 · 1212 阅读 · 0 评论 -
JmDNS 多设备注册及查找
由于mdns官方sample中是JmDNS.create()创建的,但是我就遇到了有的客户端设备可以被发现有的不可以被发现,所以就尝试用JmDNS.create(InetAddress.getByName(ip),"RegisterDevices");才让所以设备都能正常。供参考。希望如果遇到同样的问题时,你可以试试这个。注册客户端:public class RegisterMdns原创 2017-10-19 20:53:00 · 1346 阅读 · 1 评论 -
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 · 3141 阅读 · 0 评论 -
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 · 2934 阅读 · 0 评论 -
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 · 792 阅读 · 0 评论 -
简单自定义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 · 176 阅读 · 0 评论 -
R文件找不到,报红问题
先查看drawable,layout,values等资源文件夹有没有显红的错误。找到错误后更改,然后clean工程,再make project,即可。R文件找不到的问题本质上就是values文件错误导致的,需要排查。原创 2017-04-18 11:23:06 · 602 阅读 · 0 评论