
android之路
文章平均质量分 69
凯皇
尽人事,听天命
展开
-
Android平台OpenCV入门
yuv格式的数组要先按单通道位图构建mat,再通过Imgproc.cvtColor()进行格式转换。**参数:**flags,当不写时,默认为Imgcodecs.IMREAD_COLOR。以CV_64FC2为例,64指64位,F指浮点数,C指通道,2为2通道。输入可为相对路径也可为绝对路径,自动通过后缀名识别文件的格式。别忘记把libopencv_java3.so添加进来。根据数组的存储格式和宽高导入,格式见前文。可根据文件名的后缀自行保存。CvType 数据类型。原创 2023-05-30 15:25:55 · 1080 阅读 · 0 评论 -
Android bitmap保姆级教学
Bitmap是一个final类,因此不能被继承。Bitmap只有一个构造方法,且该构造方法是没有任何访问权限修饰符修饰,也就是说该构造方法是friendly,但是谷歌称Bitmap的构造方法是private(私有的),感觉有点不严谨。不管怎样,一般情况下,我们不能通过构造方法直接新建一个Bitmap对象。Bitmap是Android系统中的图像处理中最重要类之一。Bitmap可以获取图像文件信息,对图像进行剪切、旋转、缩放,压缩等操作,并可以以指定格式保存图像文件。原创 2023-05-30 15:22:31 · 798 阅读 · 0 评论 -
Logcat用法详解
平常用logcat看日志或copy日志,实际是在logcat的一个可视化窗口上进行简单的read和copy,这个窗口是由logcat工具支撑的,并不是logcat的全部。Android 日志记录系统是系统进程 logd 维护的一组结构化环形缓冲区。这组可用的缓冲区是固定的,并由系统定义。最相关的缓冲区为:main(用于存储大多数应用日志)、system(用于存储源自 Android 操作系统的消息)和 crash(用于存储崩溃日志)。每个日志条目都包含一个优先级、一个标识日志来源的标记以及实际的日志消息。原创 2023-05-30 15:07:41 · 1329 阅读 · 0 评论 -
Thread.sleep(0)的作用
Thread.sleep(0)可以让线程进入 Safepoint,从而触发GC。原创 2022-09-21 14:43:30 · 1875 阅读 · 0 评论 -
Connect to maven.google.com:443 [maven.google.com] failed: Connection timed out: connect
Android studio 编译报错:Connect to maven.google.com:443 [maven.google.com] failed: Connection timed out: connect解决办法:把build.gradle里面的默认配置:google() 和 jcenter() 各自改为:maven { url ‘https://maven.aliyun.com/repository/google’ }maven { url ‘https://maven.aliyun原创 2021-10-11 17:11:06 · 2263 阅读 · 0 评论 -
Android Studio 4编译报错信息乱码
在build.gradle中加入:tasks.withType(JavaCompile) { options.fork = true options.forkOptions.jvmArgs += ["-Duser.language=en"]}原创 2021-07-20 13:26:04 · 589 阅读 · 0 评论 -
scrcpy Device disconnected报错
scrcpy,安卓设备在PC上投屏的神器,开源项目地址:scrcpy开源git地址使用的时候有个坑要避免,报错如下:[server] INFO: Device: samsung SM-A305GT (Android 10)INFO: OpenGL shaders: ENABLEDINFO: Created renderer: openglINFO: Renderer: openglINFO: OpenGL version: 3.1.0 - Build 9.17.10.4459INFO: Tri原创 2020-12-25 13:25:19 · 5273 阅读 · 2 评论 -
Android9和10 UVC设备权限问题
开源库:saki4510t/UVCCamera:https://github.com/saki4510t/UVCCameraAndroid7和8都正常运行,Android 9和10需要加一个camera 权限:android.permission.CAMERA代码中加 **checkPermissionCamera();**即可,开源库已经给你封装好了。...原创 2020-11-23 15:40:32 · 1885 阅读 · 6 评论 -
Android 保存short数组
保存short类型,官方只提供了一个writeShort()的接口,这个接口一次只能写一个字符,不能写数组,于是就是如下代码://保存short格式的文件public static void saveShortArrayToBin(short[] vArr, String vPath) { FileOutputStream fos; DataOutputStream dos; try { fos = new FileOutputStream(vPath);原创 2020-09-30 09:56:01 · 952 阅读 · 0 评论 -
android studio项目加载超时 找不到包等解决办法
加载的时候保存:Caused by: org.gradle.xxx: Could not find…,还不提供解决办法的,一般是因为墙的问题,下载不到,这时候可以改一下源。去掉Google的,换成aliyun的allprojects { repositories { jcenter()// maven {// url 'https://maven.google.com/'// name 'Google'//原创 2020-06-12 16:42:47 · 1018 阅读 · 0 评论 -
Java 数据类型
Java语言提供了八种基本类型。六种数字类型(四个整数型,两个浮点型),一种字符类型,还有一种布尔型。byte:byte 数据类型是 8 位、有符号的,以二进制补码表示的整数;最小值是 -128(-2^7);最大值是 127(2^7-1);默认值是 0;byte 类型用在大型数组中节约空间,主要代替整数,因为 byte 变量占用的空间只有 int 类型的四分之一;例子:byte a = 100,byte b = -50。short:short 数据类型是 16 位、有符号的以二进制补原创 2020-05-21 14:14:10 · 196 阅读 · 0 评论 -
android byte格式文件保存,追加保存
上一篇说了float类型的保存:java float数组与文件之间的转换 大端转小端里面说到了大端小端的问题,如果用byte格式保存就可以完美避免这个问题。public static void saveByte(byte[] bytes, String str){ FileOutputStream fos = null; try { fos = new Fil...原创 2020-03-25 16:48:26 · 1290 阅读 · 0 评论 -
Android 保存float数组 大端转小端
1、用二进制保存到文件public void saveFloatArray2Bin(float[] vArr, String vPath) { FileOutputStream fos = null; DataOutputStream dos = null; try { // 新建文件流 fos = new FileOutputStream...原创 2020-03-25 16:34:20 · 1662 阅读 · 0 评论 -
Android 8 Notification工具类 NotificationUtil
兼容android 8的Notification工具类,分代码和用用法:代码import android.app.NotificationChannel;import android.app.NotificationManager;import android.app.PendingIntent;import android.content.Context;import android...原创 2020-01-15 19:25:55 · 2336 阅读 · 1 评论 -
android 文件分享 基于provider
android 7.0以后为了提高私有目录的安全性,防止应用信息的泄漏,从 Android 7.0 开始,应用私有目录的访问权限被做限制。具体表现为,开发人员不能够再简单地通过 file:// URI 访问其他应用的私有目录文件或者让其他应用访问自己的私有目录文件。作为四大组件之一的 ContentProvider,一直扮演着应用间共享资源的角色。这里我们要使用到的 FileProvider,...原创 2019-11-22 15:57:13 · 1040 阅读 · 0 评论 -
Android Notification(通知)(含兼容问题)
https://www.jianshu.com/p/cb8426620e74转载 2019-10-28 11:35:19 · 351 阅读 · 0 评论 -
Ubuntu14.04搭建android源码编译环境
之前编译环境是刚进公司的时候老同志帮我搞定的,现在离职以后第一次要遍android源码,提供源码的人还只给了我一个地址https://source.android.com/source/initializing.html,蛋疼的是需要翻墙才能登,没办法只能问万能的度娘,于是乎找到这篇博客,感谢这位大神解了我燃眉之急,小弟在此写过,贴上原博路径:基于Ubuntu14.04系统搭建Android源码编转载 2016-05-11 10:21:13 · 6669 阅读 · 1 评论 -
android studio报错:ClassLoader referenced unknown path: /data/app/xxxx-1/lib/arm64
前几天测试给我报的一个android平板的bug:crashed while launching it at Profile User.复现的时候发现不仅是Profile的时候会出现,是除了Owner以外全部有这个bug,奇怪的是用eclipse IDE编出来的是ok的,只有android studio编出的来的有这个问题。log显示一大堆,其中有一条:ClassLoader refere原创 2016-05-27 16:07:57 · 25933 阅读 · 6 评论 -
android开发 事件监听
第一种:匿名内部类作为事件监听器类button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { textView.setText("匿名内部类实现监听>>>>>>>>>"); }}); 大部分时候,事件处理器都没有什么利用价值原创 2016-09-14 10:26:15 · 441 阅读 · 0 评论 -
fragment中嵌套viewpager,viewpager中有多个fragment,切换以后不显示
第一层fragment中嵌套viewpager,viewpager中又有第二层fragment,切换第一层fragment以后viewpager不显示,因为切换第一层fragment的时候第二层fragment的生命周期没有发生改变,所以切回来的时候不会重新刷新第二层fragment。实例如下:现在好多应用流行一种布局。底部几个工具栏选项,上面也有类似tab的选项。底部原创 2017-03-03 11:13:15 · 593 阅读 · 0 评论 -
android开发 textview内容过多实现上下滑动
用textview显示一大段文字时,不能再一页里面显示完全,需要上下滑动的方法来实现完全显示。方案如下:1.xml文件中: … android:scrollbars="vertical" ../>2.java文件中textview.setMovementMethod(ScrollingMovementMethod.getInstance());原创 2017-02-27 13:35:05 · 16586 阅读 · 6 评论 -
Android App启动简单流程
Launcher响应我们产生的点击事件后,实际上就是启动一个新的Activity。Launcher将会通过App的快捷方式(ShortcutInfo)得到应用的Intent,并通过这个Intent启动应用的“MainActivity”,从而启动应用。Launcher通过Binder通知ActivityManagerService启动Activity。1. Launcher通过Binde原创 2017-05-02 15:20:09 · 560 阅读 · 0 评论 -
android文件操作——读写文件demo
写文件操作: public void save(String inputText) { FileOutputStream out = null; BufferedWriter writer = null; try { out = openFileOutput("data", Context.MODE_PRIVAT原创 2017-05-08 17:13:43 · 2877 阅读 · 0 评论 -
android音频音乐播放soundpool
在Android开发中我们经常使用MediaPlayer来播放音频文件,但是除了MediaPlayer以外还有SoundPool和AudioTrack可以播放音频:MediaPlayer类——开发者最熟悉的类,常用于播放长音频,拥有更完整的封装和状态控制,但是缺点也很明显:资源占用量较高、延迟时间较长、不支持多个音频同时播放;AudioTrack类——不同于MediaPlayer可以播放多原创 2017-08-23 17:11:17 · 1067 阅读 · 0 评论 -
android获取设备唯一标识
IMEI百度百科解释:IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的“电子串号”,它与每台移动电话机一一对应,而且该码是全世界唯一的。每一只移动电话机在组装完成后都将被赋予一个全球唯一的一组号码,这个号码从生产到交付使用都将被制造生产的厂商所记录。android系统中通常用下面这原创 2017-11-15 14:34:23 · 472 阅读 · 0 评论 -
android 实现mqtt消息推送,以及不停断线重连的问题解决
前段时间项目用到mqtt的消息推送,整理一下代码,代码的原型是网上找的,具体哪个地址已经忘记了。代码的实现是新建了一个MyMqttService,全部功能都在里面实现,包括连服务器,断线重连,订阅消息,处理消息,发布消息等基本操作。首先添加依赖:dependencies { implementation 'org.eclipse.paho:org.eclipse.paho.client.m...原创 2018-04-17 16:39:45 · 18514 阅读 · 6 评论 -
Android 性能优化 阅读笔记
源:Android性能优化典范 - 第1季 http://hukai.me/android-performance-patterns/笔记:Android系统每隔16ms发出VSYNC信号,触发对UI进行渲染,如果每次渲染都成功,这样就能够达到流畅的画面所需要的60fps,为了能够实现60fps,这意味着程序的大多数操作都必须在16ms内完成。但是,layout太过复杂、UI上有层叠太多的绘制单元...原创 2018-04-25 17:20:28 · 271 阅读 · 0 评论 -
切换android SDK版本时出现的编译报错
切换SDK编译环境时修改build.gradle文件,注意version版本原创 2016-04-27 16:18:12 · 2441 阅读 · 0 评论