
Android
csdm_admin
热爱生活,痴迷科学技术
展开
-
MQTT断线重连及订阅消息恢复
MQTT断线重连及订阅消息恢复工具MQTT客户端是用的 paho http://www.eclipse.org/paho/问题采用以下配置connOpts = new MqttConnectOptions(); connOpts.setCleanSession(true); connOpts.setConnectionTimeout(10); connOpts.setKeepAliveInterval(90); connOpts.setAutomaticRecon原创 2021-08-26 18:06:49 · 6328 阅读 · 0 评论 -
android protobuf使用
protobuf序列化使用参考:README.mdhttps://github.com/google/protobuf-gradle-pluginhttps://jingyan.baidu.com/article/925f8cb8a6c21ac0dce0566e.htmlhttps://www.jianshu.com/p/0f047e1b7e16开发环境Android studio 3.6.1jdk 1.8gradle 5.6.4gradle 插件 3.6.11.引入插件在工程目录下的原创 2021-08-16 18:15:14 · 804 阅读 · 0 评论 -
ImmersionBar状态栏下多出状态栏高度的白条
ImmersionBar白条bug,解决方法我出bug的代码 public static void setColorImmersionBar(Activity activity, boolean isDark) { if (isDark) { ImmersionBar.with(activity) .navigationBarColor(R.color.black_theme)原创 2021-07-15 15:18:52 · 688 阅读 · 0 评论 -
Gson json数组转集合
Gson 数组转集合正常使用,一堆难以理解的TypeTokenGson gson = new Gson();List<Person> statusLs = gson.fromJson(result, new TypeToken<List<Person>>(){}.getType());自己写的工具类用法 //data是Person的json数组 List<SensorType> list = JsonUtils.jsonArray2List(原创 2021-05-13 15:48:20 · 761 阅读 · 0 评论 -
Android studio英文翻译插件Translation
搜索安装插件:使用:选择需要翻译的单词后句子,右键-》Translate原创 2021-02-11 17:46:19 · 1203 阅读 · 0 评论 -
Activity跳转动画,overridePendingTransition第一次启动时无效
overridePendingTransition第一次启动时无效首次打开app时由启动页跳转登录页时, 我设置了Activity跳转动画,可以不生效private void openNextActivity() { boolean firstLaunch = SpUtils.isFirstLaunch(); if (firstLaunch) { startActivity(new Intent(SplashActivity.this, Guide原创 2021-01-30 10:37:59 · 614 阅读 · 3 评论 -
Android Error:Execution failed for task ‘:app:compileDebugJavaWithJavac‘ 解决方案
参考:https://blog.youkuaiyun.com/qq_36910634/article/details/94322697把命令gradlew compileDebug --stacktrace 改成 gradlew compileDebugJavaWithJavac编译器提示:java1.8缺少目标版本build.gradle中添加 compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targe原创 2021-01-20 09:52:07 · 377 阅读 · 0 评论 -
Android无需上下文context获取当前Application和Resources
无需上下文context获取当前ApplicationAndroid使用反射获取当前Application没有Activity,没有Application,快速获取当前应用的Application。当个工具类用,再也不烦恼,目前在Android Q上并且是targetSdk为29也能获取到,已验证可用。 /** * 获取当前应用的Application * 先使用ActivityThread里获取Application的方法,如果没有获取到, * 再使用AppGlobal原创 2020-09-23 20:18:26 · 1930 阅读 · 2 评论 -
判断字符串是否使用ISO-8859-1码表
判断字符串是否使用ISO-8859-1码表如果是,就转成utf-8编码 try { //解决乱码问题, 判断当前字符串是否是使用ISO-8859-1码表, 如果不是就不会走到if里 String title = new String("哈哈".getBytes(), "ISO-8859-1"); Log.e("----TAG", "title: " + title); if (title.equals(n原创 2020-07-11 16:43:41 · 975 阅读 · 0 评论 -
ThreadLocal详解
参考: https://blog.youkuaiyun.com/hzw19920329/article/details/51707232说明: 参考源码为Android2.3-4.4,请读者注意 , 不同的版本有所差异!今天在复习Handler消息处理机制原理的时候,发现自己对android的ThreadLocal部分理解还不是很到位,在此做个总结,先来说说为什么会在Handler消息处理机制中出现ThreadLocal这个东西吧,我们都知道Handler发送消息到MessageQueue中,Looper从Mess原创 2020-07-09 16:07:44 · 208 阅读 · 0 评论 -
Looper.loop()方法跑的是死循环, 为什么我们的Activity生命周期方法还能在主线程中运行?
参考: https://www.jianshu.com/p/733b1cc9b457ActivityThread就是我们常说的主线程或UI线程,ActivityThread的main方法是整个APP的入口MainLooper在它的main方法中被创建。 //ActivityThread的main方法 public static void main(String[] args) { ...... Looper.prepareMainLooper(); //原创 2020-07-06 18:15:58 · 493 阅读 · 0 评论 -
ubuntu桌面版安装jdk
安装jdk$: chmod 777 xxxx.bin //修改权限,获取读写执行权限$: ./xxxx.bin //执行当前目录该文件安装完成配置环境变量修改当前用户的 .profile文件, 环境变量只对当前用户有效cd ~/vi .profilectrl + h //显示隐藏文件export JAVA_HOME=/home/kavin/kavin/install/jdk1.6.0_45/export PATH=$JAVA_HOME/bin:$PATHexport原创 2020-07-04 20:36:07 · 569 阅读 · 0 评论 -
could not parse error string安装失败
could not parse error string无法解析错误字符串因为apk有中文, 把中文去掉就可以成功安装原创 2020-05-24 01:17:47 · 2450 阅读 · 0 评论 -
android兼容包中类对应androidx中的类对照表
文章来自https://developer.android.google.cn/jetpack/androidx/migrate/class-mappings类映射下表列出了从旧支持库软件包到新 androidx 软件包的当前映射关系。您也可以下载包含这些映射信息的 CSV 格式文件。android.archandroid.arch.core支持库类 AndroidX 类core.ex...原创 2020-03-17 20:45:12 · 635 阅读 · 0 评论 -
android圆角正方形裁剪view.setOvalview方法的使用
目标: 圆角正方形1.布局<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" x...原创 2020-03-09 21:03:59 · 704 阅读 · 0 评论 -
android圆形图片裁剪view.setOvalview方法的使用
目标: 把一张正方形的图片裁剪成为圆形的图片1.第一步布局好.xml文件在RelativeLayout 相对布局中放置两个一样大的图片控件: imageView2覆盖在imageView1上面<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android...原创 2020-03-09 20:43:24 · 538 阅读 · 0 评论 -
Android studio插件集合
请参考:Android studio插件集合https://www.cnblogs.com/Awangzhen/p/8906335.html1. adb-idea可以一键清理缓存并重启APP2. JVM Debugger Memory ViewAndroid Studio和IDEA中一个很有用的内存调试插件详细文章可参考说一说Android Studio和IDEA中一个很有用的内存调...原创 2020-03-08 19:20:05 · 388 阅读 · 0 评论 -
android studio 安装完成插件ButterKnife,但无法使用?
1.在设置里找到插件正常安装好2.选择activity_main右键Generate菜单中没有相应的插件选项3.我们需要导入相应的依赖包implementation ‘com.github.stephanenicolas:butterknife:10.0.0.6’4.在右键试一下ok行了,有相应的ButterKnife插件选项了5.点击选项自动生成代码6.需要注意要是.java...原创 2020-03-07 18:02:18 · 3254 阅读 · 8 评论 -
Android4.4源码编译总结
一、源码编译前的准备工作1. 从window中拷贝Android源码和jdk到ubuntuAndroid源码为:android4.4_src.7zjdk为:jdk-6u45-linux-i586.bin(1) 在/home/kavin下创建install目录 (2) 把android源码和jdk复制到/home/kavin/install目录下 (3) 解压android4.4.7z到ins原创 2016-12-23 10:53:20 · 4202 阅读 · 0 评论 -
安卓ADB Unable to chmod ***: Read-only file system问题的解决方法
安卓ADB Unable to chmod *: Read-only file system问题的解决方法Read-only file system : adb remount 或者 mount -o rw,remount yaffs2 /systemUnable to chmod *: Read-only file system问题的解决方法mount -o rw,remount -t yaffs转载 2016-12-27 16:39:04 · 17095 阅读 · 0 评论 -
Android给ListView添加一个入场动画
动画是一个App体现良好交互的一种手段,通常的我们会看到很多App的ListView的Item都有一个入场动画例如: 可以看到,当进入界面加载ListView的Item的时候有一个向左滑动显示,并且淡入的动画。下面介绍一下实现方法:<ListView xmlns:android="http://schemas.android.com/apk/res/android"转载 2017-02-10 16:28:25 · 583 阅读 · 0 评论 -
Android自定义控件
开发自定义控件的步骤: 1、了解View的工作原理 2、 编写继承自View的子类 3、 为自定义View类增加属性 4、 绘制控件 5、 响应用户消息 6 、自定义回调函数 一、View结构原理 Android系统的视图结构的设计也采用了组合模式,即View作为所有图形的基类,Viewgroup对View继承扩展为视图容器类。 View定义了绘图的基本操作 基本操作由三个转载 2017-02-10 22:22:54 · 178 阅读 · 0 评论 -
在linux环境中编译JNI的文件为.so包
当然我这里是在win10环境中安装虚拟机,Ubuntu12.04的环境中编译的;1.安装虚拟机vmware; 2.在虚拟机上安装Ubauntu12.04; 3.下载安装linux下编译器 4.将jni文件夹里的.c和.h文件编译成.so文件 5.将编译好的.so文件放到android工程的lib->armeabi文件目录下 6.就酱紫可以调用.so包里的本地方法了。如需详情请听下回分析原创 2017-01-23 16:43:47 · 1582 阅读 · 0 评论 -
java.lang.UnsupportedClassVersionError
java.lang.UnsupportedClassVersionError: com/android/dx/command/Main : Unsupported major.minor versio******我刚刚也遇到这个问题,现在解决了:在这里面查看 compileSdKVersion 和 buildToosVersion 版本是否对上号我之前的buildToosVersion是24的 你写原创 2017-01-23 17:24:01 · 656 阅读 · 0 评论 -
按比例自适应手机尺寸listview的item项控件
在开发中我们一般会把listview的item高度写死,而宽度匹配屏幕宽度,那么问题来了? 有的屏幕宽有的屏幕窄,图片的宽度就会有被拉伸的可能高宽比会发生变化,拉伸图片就会变形影响美观,下面我就定义一个高度与宽度成比例缩放的控件RatioLayout 。自定义属性有3部曲: 1.在attrs.xml中自定义属性:ratio 宽高比<?xml version="1.0" encoding="UTF原创 2017-02-15 23:56:29 · 908 阅读 · 0 评论 -
Android DiskLruCache缓存完全解析
http://blog.youkuaiyun.com/lwyygydx/article/details/40401211转载 2017-02-16 10:47:10 · 567 阅读 · 0 评论 -
从原理角度解析Android (Java) http 文件上传
转载请标明出处:http://blog.youkuaiyun.com/lmj623565791/article/details/23781773 文件上传是我们项目中经常使用的功能,一般我们的服务器可能都是web服务器,当我们使用非浏览器客户端上传文件时,比如手机(Android)等上传,可能就需要对传输的数据进行规范化的拼接,说白了,就是我们得自己完成浏览器帮我们做的事。 我首先写了服务器端代码,用来接收转载 2016-11-15 11:47:46 · 297 阅读 · 0 评论