自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

importSUC的专栏

厚积薄发

  • 博客(61)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

原创 协程中的流

协程中的异步流 基础一.什么是异步流​ 可以连续返回多个值​ 与集合的区别:集合可以返回多个计算好的值,但是只能一次性返回​ 与Rxjava 的流是同一个概念二.如何创建异步流1.最基础的流构建器 flow{}flow { … } 构建块中的代码可以挂起,不再需要 suspend 修饰符。emit 发射, collect 收集。flow 构建器中的代码直到流被收集的时候才运行不阻塞线程collect在哪个协程中调用,如果没有特殊操作,则flow代码块也在相同协程中运行``f

2021-08-30 10:09:04 273

原创 Kotlin 协程基础Coroutine

Kotlin 协程基础Coroutine [kəruː’tiːn]需要了解的概念,类1.协程与线程的区别本质上,协程是轻量级的线程一个线程中可以有N个协程。协程中也可以有N个子协程。2.Dispatchers类 -调度器,指定协程运行在哪个线程中@JvmStatic //与IO共享线程池,区别在于Default限制了最大并发数,最少2个,最大为cpu的核数public actual val Default: CoroutineDispatcher = createDefaultDispatch

2021-06-07 09:45:05 309

原创 ARouter初始化及跳转原理

Arouter初始化及跳转原理编译后生成文件仓库类``class Warehouse { // Cache route and metas static Map<String, Class<? extends IRouteGroup>> groupsIndex = new HashMap<>(); static Map<String, RouteMeta> routes = new HashMap<>();

2021-04-02 15:54:29 615

原创 搞懂Android Jetpack ViewModel 使用及原理

ViewModel 的官方解释ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存ViewModel 的用处暂存数据根据官方简介,ViewModel可以暂存数据,当界面发生横竖屏切换时,viewmodel中的数据不会发生变化。只有当Activity或者Fragment被销毁时,ViewModel才会被销毁。ViewModel的生命结束周期是与Activity/Fragment一致的,所以不存在内存泄漏的问题。V

2020-10-22 20:50:18 724

原创 Activity启动流程图解

参考:https://www.jianshu.com/p/733664614fa2https://blog.csdn.net/zhaokaiqiang1992/article/details/49428287###

2019-10-10 11:01:27 212

原创 一张图搞懂Android中分辨率,DPI,DP与PX的关系

2019-04-16 16:29:51 1410

原创 封装Android带Lottie动画的底部导航栏

什么是Lottie动画Lottie 是Airbnb开源的一个面向 iOS、Android、React Native 的动画库,能分析 Adobe After Effects 导出的动画,并且能让原生 App 像使用静态素材一样使用这些动画,完美实现动画效果,动画效果比原生动画要优美很多。Lottie动画由UI提供,UI给到我们的是xxx.json文件,这个文件就是动画文件。优点:动画效果好...

2019-04-02 10:46:26 5100 8

原创 Android Studio3.3 之 Navigation Editor 详解

Android Studio3.3 Navigation Editor(导航编辑器)简单使用AS 3.3更新后,最大的看点就是Navigation Editor, 根据官方文档学习了一下,在这记录一下,帮助不能翻墙的同学学习这个新功能。导入Navigation Editor在app中的build.gradle中加入 def nav_version = &amp;amp;amp;quot;1.0.0-alpha0...

2019-01-22 15:23:18 3425

原创 Android 获取mac地址方法

/** * 通过网络接口获取MAC地址 *type = eth0,获取有线mac * type=wlan0,获取无线mac * @return */ public static String getMac(String type) { try { List all = Collections.list

2018-01-18 11:21:16 1595

原创 Android Tv 背景动态改变,带过渡效果

在Android TV 中,当选中某一个item时,背景切换成模糊处理后的该资源图片,切换时不能很突兀,要有过渡效果. 实现步骤获取当前选中item中的图片:首先获取当前焦点所在的View,通过ViewTreeObserver.OnGlobalFocusChangeListener监听全局焦点,当焦点移动时,获取焦点所在View,如果按键间隔时间低于350ms,则不执行。

2018-01-18 10:50:26 2161 2

原创 ImageLoader 框架 图片下载失败重试

设置下载监听public static ImageLoadingListener getDefaultListener() { if (imageLoadingListener == null) { synchronized (ImageLoaderUtils.class) { imageLoadingListener = ne

2017-10-26 14:20:11 1021

原创 Android 反射获取私有方法,成员变量

public class AppInfo { private String mAppName; public String getAppName() { return mAppName; } public void setAppName(String appName) { this.mAppName = appName; }} p

2017-09-27 10:12:48 5395

原创 Android Tv 开机没有焦点

在项目中发现,Android Tv开机后,会没有焦点。但是获取焦点的代码是执行过的,也就是说,代码没起作用。这是因为开机后,系统默认是Touch Mode,即触摸模式。此模式下没有焦点。当按遥控器时,退出Touch Mode,焦点出现。所以当我们开机时第一次无论按哪个按键都不会有响应,第二次及以后才会有响应。 解决办法:发送模拟按键事件。/** * 开机时系统处于touch m

2017-09-22 13:29:43 1360 2

原创 Gson 解析泛型出现ClassCastException

在项目中使用了Rxjava+Retrofit 作为网络框架,在使用中遇到遇到Gson无法解析泛型,出现ClassCastException。从代码看这个问题是由于Gson 拿不到我们要它解析的那个实体类的类型。本质上时因为Java的泛型擦除机制导致。 解决办法:将要解析的类型明确的传给gson仿照GsonConverterFactory 写一个解析器,具体代码可以参考GsonConverterFa

2017-09-22 13:20:29 787

原创 App跨平台开发框架分析

所谓的跨平台app开发就是一套代码写完以后可以多端发布运行到各个平台,比如:安卓、iOS、web。 原生开发是一对一的,安卓、iOS需要分别写两套代码,学习成本高、开发成本高、后期维护麻烦;跨平台APP开发是一套代码可以同时生成安卓和iOS两个包,学习难度低、成本低、开发快速、后期维护方便。 目前移动端App有很多都已经采用跨平台开发技术。流行的技术有Html5混合开发和Reat Nativ

2017-09-11 20:52:39 2349

原创 Android TV RecyclerView 焦点处理及获取焦点的Item保持在中间

原生RecyclerView 在Tv中的焦点处理很不好,经常找不到焦点或者焦点丢失。原因是因为当item未显示时即未加载时时不能获取焦点的。所以当我们按上下键时经常丢失焦点或者焦点乱跳。要解决这个问题我们必须要手动控制RecyclerView 的按键和焦点移动。package com.phicomm.ottbox.view;import android.content.Context;impor

2017-09-11 20:29:48 21821 9

原创 Android TV item 选中 放大,加边框

Android Tv 的交互是通过遥控器来进行的,焦点移动是用户操作后的直观感受。如何让用户直观的操控Tv是本文的重点介绍内容。 1. Tv开发一般都会有自定义的Launcher,launcher中显示媒体资源数据。类似下图 每个item选中后会有个边框,并且会变大。下面将如何实现这个效果。放大效果首先item的布局,以LinearLayout为例,我们要的效果是当Lin

2017-09-11 20:15:24 5899 5

原创 Android GridView 设置间距不起作用

注意添加如下两个属性android:numColumns="auto_fit"android:stretchMode="columnWidth"之后就可以设置间距了android:verticalSpacing = "10dp"或者代码中gridview.setVerticalSpacing(10);

2017-09-11 19:07:42 4391

原创 Android 自定义seekbar

在开发时经常会使用自定义的seekbar,毕竟系统自带的很难看。每次都是从网上找一些方法,但是每次都会试好几个才会实现效果。现在记录下来,备用。两个重要的属性:android:progressDrawable:进度条的颜色android:thumb:滑块的drawable要修改的就是这两个属性。首先在drawable文件夹下新建一个seekbar_define_style.xml,作为progre

2017-03-03 09:52:43 835

原创 ROS:开机自启动

Ubuntu14.04网上很多资料说在/etc/rc.local中添加脚本,实验之后完全没用。可能是系统版本不对。 解决: Ubuntu14.04 开机项命令: gnome-session-properties 点击”add” name : 名字 command : 命令,eg:gnome-terminal -x your_command.sh 注意:sh文件的

2016-12-14 17:07:40 16454 5

原创 ROS nodelet 使用详解

本文以nodelet_tutorial_math为例来了解nodelet的原理及使用方法,理论知识参考http://blog.csdn.net/zyh821351004/article/details/52143309 代码地址:https://github.com/ros/common_tutorials/tree/hydro-devel/nodelet_tutorial_math nodel

2016-11-23 18:04:11 14495 6

原创 ros:kcf算法+行人检测 = 让机器人自动识别并追踪行人

实现目标:机器人检测到有人走过来,迎上去并开始追踪。 追踪算法使用kcf算法,关于kcf追踪的ros库在github地址 https://github.com/TianyeAlex/tracker_kcf_ros,kcf算法是目前追踪算法中比较好的,程序跑起来后效果也是不错的。我能力有限,在这里不作介绍。有兴趣的可以去研究一下。这里主要讲一下在次基础上添加行人检测,做到自动追踪。 追踪的代码

2016-11-23 12:23:00 33846 55

原创 ROS openni_tracker:骨架追踪

ROS 中的openni_tracker 骨架跟踪学习资料整理。 代码注释比较详细:// openni_tracker.cpp#include <ros/ros.h>#include <ros/package.h>#include <tf/transform_broadcaster.h>#include <kdl/frames.hpp>#include <XnOpenNI.h>#inclu

2016-11-10 13:55:32 5758 4

原创 ROS 运行 openni_tracker 出现 USB interface is not supported!

按照Robot by Example 第 10.9小节的教程安装完毕后运行openni_tracker节点出现USB interface is not supported! 解决办法: 运行 sudo apt-get install libopenni-dev libopenni-sensor-primesense-dev 如果还是不行,请执行下面命令 dpkg -l|grep openn

2016-11-09 17:28:36 2349 1

原创 ROS turtlebot_follower :让机器人跟随我们移动

ROS turtlebot_follower 学习 首先在catkin_ws/src目录下载源码,地址:https://github.com/turtlebot/turtlebot_apps.git 了解代码见注释(其中有些地方我也不是很明白) follower.cpp#include #include #

2016-11-08 18:01:38 21446 13

原创 ROS roslaunch 学习

roslaunch 用处:将多个rosnode 结合起来,一起运行。这样就不需要一个个的运行。roslaunch格式 (add_two.launch)<launch> <node pkg="beginner_tutorials" name="add_two_ints_server" type="add_two_ints_server"/> <node pkg="beginner_t

2016-10-27 20:01:25 6407 4

原创 ROS :发送一个目标位置,机器人自动规划路线,移动到该位置。

ROS :发送一个目标,机器人自动规划路线,移动到该位置。使用 Action :move_base_msgs::MoveBaseAction(move_base在world中的目标)新建send_goal.cpp/* * send_goal.cpp * * Created on: Aug 10, 2016 * Author: unicorn */#include <ros/r

2016-10-22 14:02:17 24185 6

原创 ROS 导航 :make_plan (路线规划)

以下是在学习ROS 导航时,按照自己的理解整理的资料,有不对的地方请指出。 路径规划:从一个点到另一个点,规划出最优的路线。用到service :make_plan (nav_msgs/GetPlan) 服务名为move_base_node/make_plan nav_msgs/GetPlan api: # Get a plan from the current position to the

2016-10-22 11:53:58 6074 4

原创 ROS 使用stage进行(LaserScan)激光扫描仿真

以my_stage为例 创建工程名为my_stage的package。 运行以下命令:cd ~/catkin_ws/srccatkin_create_pkg my_stage std_msgs roscppstd_msgs roscpp 为依赖包在my_stage 中的src中新建my_stage.cpp文件/* * my_stage.cpp * * Created on: Ju

2016-10-21 18:41:44 6820 4

原创 Android 耳机按键与拔插监听

按键监听:public class MyMediaButtonReceiver extends BroadcastReceiver{ private AudioManager mAudioManger; @Override public void onReceive(Context context, Intent intent) { String intentA

2016-07-28 21:12:01 2201

原创 android 数据库升级(保留原先数据)

在onUpgrade()中处理 db.execSQL("CREATE TABLE " + "'post2' (" + //post2 为暂存文件名,可以在这里添加字段或者删除字段 "'_id' INTEGER PRIMARY KEY ," + "'SONG_ID' INTEGER UNIQUE ," +

2016-06-29 20:54:38 971

原创 ImageLoader 加载本地图片与视频的缩略图

加载本地图片与视频的缩略图与加载网络图片的区别在于 我们要将文件的路径转换成Uri。Uri uri = Uri.fromFile(new File(path));ImageLoader.getInstance().displayImage(uri+"", viewHolder.image,getImageOptions());ImageLoader 会生成视频的缩略图,不需要我们处理。我们只需要在

2016-03-30 16:41:20 4586

原创 android 实现录像时拍照

实现思路:点击拍照按钮后,获取摄像头的一帧数据,转换成jpg格式,保存到文件中。 Activity 继承Camera.PreviewCallback 重写public void onPreviewFrame(byte[] data, Camera camera); 首先创建MediaRecorder,Camera实例创建cameraif (mCamera == null) {

2016-03-16 18:35:34 3916 3

原创 HttpPost 访问网络

String httpUrl = "http://apicn.faceplusplus.com/v2/detection/landmark"; //HttpPost连接对象 HttpPost httpRequest = new HttpPost(httpUrl); //使用NameValuePair来保存要传递的Post参

2016-02-29 12:17:27 517

原创 android 在图片上涂鸦(添加水印同理)

public Bitmap getNoseInfo(float x,float y,Bitmap srcBitmap){ Log.i("wangchao","x=="+x+",y=="+y); Bitmap tmp; tmp =srcBitmap.copy(Bitmap.Config.ARGB_8888, true); Canvas

2016-02-29 12:15:02 905

原创 Android 根据URI获取图片(从相册选择图片后返回)

private Bitmap getBitmapFromUri(Uri uri) { Bitmap bitmap = null; try { BitmapFactory.Options options = new BitmapFactory.Options(); int picWidth = options.outWid

2016-02-29 12:13:06 1936

原创 Android 实现预览,录像,拍照

package com.demo;import java.io.BufferedOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import a

2016-02-18 16:03:39 1041 1

原创 Android 轻量级sqlite orm 框架

Android 轻量级sqlite orm 框架 可以方便我们对数据库的操作,只要几行代码就可以实现对数据库的增删改查。 下载 kkorm-library-1.0.jar ,导入工程。package com.kkorm.activity;import java.util.List;import com.example.kkorm_demo.R;import com.kkorm.data.Enti

2016-01-13 20:20:09 658

原创 Android 调用闪光灯

1.打开闪光灯try { Log.i("tag", "~~~~~~~~~~~打开闪光灯~~~~~~~~~~~"); camera = Camera.open(); camera.startPreview(); Parameters parameters = camera.g

2016-01-13 20:00:04 2049 1

转载 android Asynctask 和Handler的优缺点

一 Asynctask的优缺点?AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.优点:1.简单,快捷2.过程可控3.使用的缺点:缺点: 在使用多个异步操作和并需要进行Ui变更时,就变得复杂起来.Android的AsyncTask比Handle

2016-01-13 18:14:26 1045

Lottie动画资源json文件

https://blog.csdn.net/yiranhaiziqi/article/details/88965548,此博客所需动画资源

2019-04-02

git命令逻辑图+命令

git命令的两张图,包含一张思维导图,可以清晰的掌握git的所有命令。

2019-01-21

Excle 表格合并工具

操作Excel的工具类,对于不熟悉Excel 的同学很方便,可以直接点击操作,避免设置麻烦的宏或者公式.

2018-05-07

行人检测训练库行人检测训练库

行人检测训练库,负样本12000,正样本2400.

2016-12-14

最新最全的全国城市地区数据库

2016年最新最全的全国城市地区数据库

2016-09-14

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除