Android Studio
喜闻樂见
学无止境
展开
-
Android - 代码生成远程依赖库(阿里云)
Android上传代码生成远程依赖库如何配置原创 2023-02-21 19:23:28 · 724 阅读 · 1 评论 -
Android - GreenDao数据库降级方案
数据库降级处理原创 2023-01-31 23:01:09 · 688 阅读 · 0 评论 -
Android - AgentWeb监听事件向下处理
说白了,就是在 Activity调用 dispatchKeyEvent,你会监听不到(不过在模拟器上是可以正常监听到的)有时候监听事件,想在 Android本身程序上监听事件处理,但使用了 AgentWeb,会优先响应就不向下传递了。重新布局,把 AgentWebl套进去。原创 2022-10-09 19:20:15 · 386 阅读 · 0 评论 -
Android - Compilation failed; see the compiler error output for details
Compilation failed; see the compiler error output for details.原创 2022-09-02 18:15:00 · 767 阅读 · 0 评论 -
Android - 修改Jar包里面的代码
详细教程:利用 Android Studio 修改Jar包里面的源码原创 2022-07-27 18:15:00 · 2195 阅读 · 0 评论 -
Android - assembleRelease导包生成 app-release-ungigned.apk问题
assembleRelease 生成apk的路径在 build —> outputs —> apk —> release —> app-release.apk一、生成一个普通apk原创 2022-04-29 16:54:03 · 1467 阅读 · 0 评论 -
Android - error:mqtt 报空异常
问题:使用这个 mqtt依赖:implementation ‘org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.1.0’网络更换或网线拔插的时候,会报空异常和闪退解决更换依赖版本implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0'参考博客...原创 2022-03-21 14:51:27 · 3175 阅读 · 0 评论 -
Android - 简单网络音频播放
AndroidManifest.xml<!-- 添加网络权限 --><uses-permission android:name="android.permission.INTERNET" /><!-- 在 <application 添加一段代码> ... </application> --><application ... android:usesCleartextTraffic="true" ...>原创 2022-02-22 11:39:03 · 3301 阅读 · 0 评论 -
Android Studio - 在IDE中,输入法切换不了中文
坑die(ide) 就莫名奇妙的突然输入法切换不了中文,就算手动切换回来了,也打不出来这很好解决,使用万能重启法(当然,不是重启电脑,是重启IDE)结果,你会发现,下次出现,你还得这样做 while(true)那有没有一劳永逸的方法呢,有,当然有一、首先找到安装IDE的文件夹(忘记在哪的可以搜索一下文件夹的关键词) ,然后进去 bin目录里面二、找到 “studio.bat” 这个文件,右键“编辑”如图,这里就截几行出来看看三、在2 3行添加下面代码(保存).原创 2022-02-15 14:57:17 · 3014 阅读 · 2 评论 -
Android - 【全局】点击外部区域隐藏输入法
设置在主要的 activity中就行了对应的 fragment和 activity上的都可以实现java@Overridepublic boolean dispatchTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { View v = getCurrentFocus(); if ( v instanceof EditText) { .原创 2021-12-28 13:35:47 · 301 阅读 · 0 评论 -
Android - 获取屏幕分辨率
kotlinval windowManager = window.windowManagerval point = Point() windowManager.defaultDisplay.getRealSize(point)//屏幕实际宽度(像素个数)val width: Int = point.x//屏幕实际高度(像素个数)val height: Int = point.yjavaWindowManager windowManager = getWindow().getWindowM原创 2021-12-16 13:45:00 · 2655 阅读 · 0 评论 -
Android - 创建横 / 竖 / 方屏
如图调用方式一//使用 DataBinding是自动转换的//kotlin ➕ dataBinding ➕ activity val binding = DataBindingUtil.setContentView(this,R.layout.activity_main)//kotlin ➕ dataBinding ➕ fragmentval binding = FragmentMainBinding.inflate(inflater, container, false)调用原创 2021-12-15 16:17:52 · 1949 阅读 · 0 评论 -
e: org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumeratorBase$CorruptedException: Persistent
Android studio出现错误e: org.jetbrains.kotlin.com.intellij.util.io.PersistentEnumeratorBase$CorruptedException: PersistentEnumerator storage corrupted E:\GuangLing\E\JiaotongUniversity\JiaotongUniversity\app\build\kotlin\kaptGenerateStubsDebugKotlin\caches-j原创 2021-10-12 15:06:46 · 898 阅读 · 0 评论 -
AndroidStudio Cannot fit requested classes in a single dex file (# methods: 72633 > 65536)
minSdkVersion设置为21参考链接原创 2021-09-19 18:08:57 · 185 阅读 · 0 评论 -
Android - 添加依赖库时,出现各种问题的解决办法之一
以下方法,能解决添加依赖库时出现80%的问题(乱说的)不过可以尝试一下,万一可以了呢添加地方 — gradle.properties# 这是因为混合支持库。通过添加这些行选择androidX作为您的支持库android.useAndroidX=trueandroid.enableJetifier=true...原创 2021-08-10 09:07:44 · 450 阅读 · 0 评论 -
OpenCv - 图像清晰度评价(相机自动对焦)
OpenCV 图像清晰度评价(相机自动对焦) 相机的自动对焦要求相机根据拍摄环境和场景的变化,通过相机内部的微型驱动马达,自动调节相机镜头和CCD之间的距离,保证像平面正好投影到CCD的成像表面上。这时候物体的成像比较清晰,图像细节信息丰富。相机自动对焦的过程,其实就是对成像清晰度评价的过程,对焦不准确,拍摄出来的图像清晰度低,视觉效果模糊,如果是在工业检测测量领域,对焦不准导致的后果可能是...转载 2020-08-12 15:57:30 · 1505 阅读 · 0 评论 -
摄像头 - 对焦算法实现总结
对焦模式常用的模式:CAF、TOUCH focus、auto focus。CAF:1、判断条件:环境亮度变化、陀螺仪之类传感器数据变化2、检测到环境亮度或者传感器数据变化超过一定阀值3、继续检测到环境亮度或者传感器数据变化已经稳定4、触发CAFTouch focus 1、点击预览界面时候触发 2、点击位置坐标为对焦点,传入对焦算法中。auto focus: 1、点击拍照时候触发 2、对焦点为预览界面中心。对焦算法结构1、获得当前帧图像2、图像清晰度计算转载 2020-08-12 15:07:01 · 4109 阅读 · 1 评论 -
Android - Navigation的初步运用
一、添加依赖build.gradle(Module:XXX) —> dependencies{ … }dependencies { ... implementation "android.arch.navigation:navigation-fragment-ktx:1.0.0-alpha04" implementation "android.arch.navigation:navigation-ui-ktx:1.0.0-alpha04"}二、创建navigation原创 2021-07-29 19:30:37 · 406 阅读 · 0 评论 -
Android - 隐藏状态栏 / 去掉导航条 / 屏幕常亮
//隐藏状态栏(放到setContentView前) requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); setContentView(R.layout.activity_main)..原创 2021-07-29 14:19:04 · 412 阅读 · 0 评论 -
Android - NDK - sqlite
(开发历程:关于AS开发NDK的博客并不多,资源也比较少,。对于刚开始接触相关知识也是摸了很多次坑,自己慢慢摸索出来)数据库的简单操作1. 开发需要libsqliteX.soclasses.jarsqlite3.h(官网下载:https://www.sqlite.org/download.html)2. 新建 Native C++工程* 这里没有其他需求的话就一直next,最后finish* 之后导入class.jar包及so库,把sqlite3.h(头文件)直接复制在.cpp文件的同一原创 2020-07-19 21:28:45 · 1016 阅读 · 0 评论 -
Java - 稀疏数组
一、线性结构线性结构是最常用的数据结构,其特点是数据元素之间存在一对一的线性关系线性结构有两种不同存储结构,即顺序存储结构和链式存储结构顺序存储的线性表称为顺序表,顺序表中的存储元素是连续的,即在内存中是连续的,例如数组链式存储的线性表称为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息,但好处是可以充分利用碎片地址线性结构常见的有:数组、队列、链表和栈,后面我们会详细讲解.二、非线性结构非线性结构不是一对一的关系, 非线性结构包括:转载 2020-09-08 11:59:04 · 116 阅读 · 0 评论 -
Java类型转换
byte[ ] ——> BitmapByte[] data2 = new Byte[1024];Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);原创 2020-08-20 12:22:32 · 187 阅读 · 0 评论 -
Android - 手动解析Json数据(学习笔记一)
腾讯课堂 —> 尚硅谷Android视频《JSON解析》布局activity_main.xml <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/bt1" android:text="json格式的字符串转Java对象"/> <Button .原创 2020-09-03 12:34:19 · 438 阅读 · 0 评论 -
Android - SeekBar - 拖动条(拖动改变数值)
效果布局 <TextView android:text="当前数值:" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <TextView android:text="20" android:layout_width="wrap_content" android:layout_原创 2020-07-23 16:37:42 · 1960 阅读 · 0 评论 -
error:Unable to load class ‘javax.xml.bind.JAXBException‘.
本文参考博客错误:解决:在 app的 build中添加 javaCompileOptions{ ... } android { … defaultConfig { … //添加如下配置 javaCompileOptions { annotationProcessorOptions { includeCompileClasspath = true } } } …}注:出现此问题的原因有几种,同一个异常,不一定是同一个解决方案,可参考一下博客1原创 2021-05-17 17:37:12 · 22467 阅读 · 11 评论 -
Android - 检测usb
方式一作用:只判断是否存在usb路径使用 adb查看存在 usb时的路径通过 File判断usb是否存在 /** * * @param path 文件夹路径 */ public boolean isExist(String path) { File file = new File(path); //判断文件夹是否存在,如果不存在则创建文件夹 if (!file.exists()) { r原创 2020-09-07 10:57:13 · 1854 阅读 · 0 评论 -
Android - jni - 系统头文件找不到的其中原因之一
问题描述有时候看到这样真的很扎心,又咋回事了有时突然叫你接手老项目,然后在自己的开发环境上运行,都会出现各种各样的问题,这就是其中之一问题解决在build.gradle中,有个gradle的插件这么一个东西,平时都用不上它,新建项目的时候系统都帮你弄好的了具体可看此文章:Android Gradle dependencies 方式:classpath、implementation、api 的区别这是找不到头文件的版本号修改版本号(根据可以运行的项目,对照一下版本号,直接修改就好了)原创 2020-08-11 10:51:42 · 1725 阅读 · 0 评论 -
Android - TextView - 动态显示数据(记录)
//开启线程new Thread() { public void run() { Message message = new Message(); mHandler.sendMessage(message); } }.start();//定义TextView tvHot;tvHot = findViewById(R.id.tv_Hot);//在 Han原创 2020-09-05 14:26:36 · 1609 阅读 · 0 评论 -
Android 6.0 - 申请动态权限
AndroidManifest.xml <!--加读写权限--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>Java //定义请求码 private static final int原创 2020-07-11 16:54:44 · 1656 阅读 · 2 评论 -
Android - NDK - CMake - 生成so库(方式二)
小白开发之生成so库(方式二)原创 2020-07-04 23:34:07 · 1497 阅读 · 2 评论 -
Android - 程序开机自启动
Android进阶之路 - 开机自启动原创 2021-07-14 10:59:39 · 284 阅读 · 1 评论 -
Android - error - dalvik.system.PathClassLoader[DexPathList[[zip file “/system/framework/org.a ...
参考文章问题描述:关键报错信息: java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/org.apache.http.legacy.boot.jar", zip file "/data/app/com.cpzx.test-3gHrIpyum0XwN37-l0r0hQ==/base.apk"],nativeLibraryDirectories=[原创 2020-08-10 18:59:48 · 1396 阅读 · 0 评论 -
Android - jni - error:More than one file was found with OS independent path ‘lib/*so‘
编译JNI项目时,遇到了这样的错误:More than one file was found with OS independent path 'lib/x86_64/libopencv_java4.so'. If you are using jniLibs and CMake IMPORTED targets, see https://developer.android.com/studio/preview/features#automatic_packaging_of_prebuilt_depend原创 2020-07-09 13:32:03 · 1521 阅读 · 0 评论 -
Android - 布局使用gif动图
build.gradle dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) //添加依赖 compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.+'} xml <pl.droidsonroids.gif.GifImageView android:layout_width="match_parent"原创 2020-09-05 14:24:07 · 561 阅读 · 0 评论 -
Android - 利用超时方法,解决 read堵塞问题
超时方法 //超时 Timer timer; class MyTimerTask extends TimerTask{ @Override public void run() { handler.sendEmptyMessage(0); } } private static void checkTimeOut(){ try{ timer = new Timer原创 2020-09-07 11:25:43 · 983 阅读 · 0 评论 -
Android技巧 - 选中代码,快速封装在一个方法中(快捷键Ctrl + Shift + M)
选择代码快捷键Ctrl + Shift + M,选择 Extract method填写方法名成型原创 2021-03-15 19:22:23 · 669 阅读 · 0 评论 -
Android - H.264 - MediaCodec硬编码
int framerate = 5; int width = 640; int height = 480; NV21Convertor mConvertor; MediaCodec mMediaCodec; // 初始化/设置/开始执行 ---> 编码器 public static void initMediaCodec() { int dgree = getDgree(mContext); // bitrate 比特率 .原创 2020-07-25 12:08:01 · 775 阅读 · 0 评论 -
Fragment - 点击其他部位隐藏软键盘⌨
不知,有没有小伙伴们遇到这么一个问题?问题:使用 EditView控件时,在一些设备上会给你弹出软键盘供你使用,不过它也很不智能,需要点击返回键或重启才能退出这软键盘。需求:点击 EditView及软键盘,以外的地方就能实现退出这软键盘只需要添加以下这大串代码,你就能拥有这功能(注:在onCreateView中添加) @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, .原创 2021-07-06 20:41:48 · 713 阅读 · 2 评论 -
Git - 使用Android-studio上传
在 GitHub上,创建一个仓库(AS)1. 克隆远程仓库到本地库2. AS新建一个项目项目放到克隆下来的仓库中可以看到项目中的文件都被 git追踪3. 修改代码(这一步不操作也行)4. 把项目添加到暂存区(重点)这一步等同于命令:git add .颜色变成绿色5. 添加注释(重点)这一步等同于命令:git commit -m “说明内容”颜色变为白色,不过这里字体颜色是黑色,看不出来可以查看提交记录6. 上传代码.原创 2020-07-29 18:43:30 · 208 阅读 · 0 评论 -
Anroid - Camera - 调用系统摄像头
1. 添加摄像头权限Android 6.0 - 申请动态权限------AndroidManifest.xml------<!--添加摄像头权限--><uses-permission android:name="android.permission.CAMERA" />2.原创 2020-07-24 10:36:38 · 510 阅读 · 0 评论