自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ho博客

至千里 成江海

  • 博客(52)
  • 资源 (6)
  • 收藏
  • 关注

原创 微信小程序生成图片分享朋友圈

前言**目前小程序只支持卡片方式分享到聊天页面,官方不知道何时会新增分享朋友圈方式。最近有个需求要分享到朋友圈,现在大家的通用做法就是通过Canvas生成一张图片后进行保存,然后自行转发朋友圈。最近有个此类需求,至此把开发过程中遇到的坑做个记录,下面先看下效果图。1.打卡成功后后台返回数据,下载要绘制的图片...

2018-09-30 23:03:26 40322 28

原创 【Android NDK开发】Android Studio 编写 JNI (C++)代码无提示

Android Studio 编写C++代码不提示

2023-08-10 20:05:11 383

原创 【 Android11 无线热点开发 】无线AP开与关、无线AP信息获取

前面四篇文章介绍完了有线网络、无线网络的开发过程,下面介绍下Android 11上网络的终结篇,无线热点的开发流程。

2023-07-03 16:14:02 1404 2

原创 【 Android11 有线网络开发 】网络信息获取、静态IP设置

Android11上WiFi开发前面文章已经做了介绍,本篇将记录以太网的开发过程,以太网的功能需求相对简单。获取网络信息、设置静态和动态IP。

2023-07-03 12:47:29 3100 3

原创 【 Android11 WiFi开发 三 】WiFi信息获取与静态IP设置

记录Android11上WiFi功能的开发,前面文章介绍了WiFi列表的获取展示,WiFi的连接与断开,那么本篇将介绍WiFi信息获取、静态IP设置功能。

2023-06-30 10:58:24 2006 4

原创 【 Android11 WiFi开发 二 】WiFi连接、断开

上篇文章介绍了WiFi列表的获取与展示和WiFi状态改变的广播监听,本篇将介绍介绍对WiFi的操作,连接、忘记,查看已连接的WiFi信息等。

2023-06-29 14:48:22 2980 2

原创 【 Android11 WiFi开发 一 】WiFi列表获取与展示

最近在Android11上开发了WiFi相关功能,涉及到WiFi列表的获取、连接有密码的WiFi、连接已保存的WiFi、忘记连接的WiFi、添加其他WiFi。涉及到的知识点较多作以分篇记录,本篇将介绍WiFi列表的获取与展示。

2023-06-28 16:53:21 3654 1

原创 Android加载大图策略,防止OOM

Android中图片以位图(Bitmap)的形式存在,位图常见的格式有.png.jgp.bmp.gif。在加载图片的过程中常见的就是内存溢出。内存溢出是系统会给APP分配内存也就是Heap Size值。当APP占用的内存加上我们申请的内存资源超过了Dalvik虚拟机的最大内存时就会抛出的异常。为什么在加载大图片时会出现内存溢出?首先我们要了解Bitmap位图占用内存大小的计算方式。

2023-06-20 17:34:30 1181

原创 Android自定义控件(八) Android仿招商银行APP手势解锁

目前大部分APP的登录方式有多种类型,其中手势解锁就是其中比较常见的一种方式,经常使用的招商银行APP(IOS)端的手势解锁体验不错的,就仿照它自定义下手势解锁功能。

2023-01-17 11:17:45 647

原创 Android自定义控件(七) Android仿微信支付密码输入框

早上在使用微信支付买东西时候注意到了支付的密码输入框,今天正好是10月24,就使用自定义方式来实现下。绘制分析 : 1、绘制圆角矩形 2、绘制黑色小圆点drawCircle 3、键盘自动调起处理输入和回删事件 4、输入完成后事件回调。

2022-10-24 23:27:50 1639

原创 Android自定义控件(六) Andriod仿iOS控件Switch开关

本篇文章记录下Android仿iOS控件Switch开关自定义过程。此控件实现的难度较小,但是在绘制文字过程中遇到一些问题,比如如何将文字摆放在正确的位置。Canvas的绘制文字drawTextPaint获取文字边界Paint的测量文字宽度字体度量属性(文字位置摆放关键)

2022-09-25 22:43:20 3192 1

原创 Android自定义控件(五) 自定义View实现Loading效果

我们注意看下动画的效果,大圆弧始终是保持一个半圆弧状态,小圆弧和大圆弧的旋转方向是相对的。一个顺时针旋转,一个逆时针旋转。这里我的思路是,通过属性动画ValueAnimator,让大圆弧和小圆弧不断地改变起始角度startAngle,然后重新绘制,其他保持不变,这样就能达到旋转的效果了,话不多说,开搞!!!

2022-09-18 09:53:08 2797

原创 Android自定义控件(四) 自定义百度贴吧水波纹Loading效果

本篇自定义贴吧水波纹Loading效果,主要熟悉下画布的有关特性和Path路径的有关方法,画布在自定义View中是最重要的角色之一,也是要着重掌握的知识。

2022-09-06 21:03:39 635

原创 Android自定义控件(三) 自定义FlowLayout

实现效果效果类似于微信的标签功能,依次显示标签名,当标签的总宽度(标签宽度 + 边距)超过总的屏幕宽度时,进行换行显示。本篇文章的实现前提是字体大小一致,标签高度一致。2、实现步骤上述效果实现主要以下几步:1.重写的方法2.测量单个标签的宽度,包含标签的边距即、3. 测量单个标签的高度,包含标签的边距即、4. 测量父控件的宽度和高度5. 重写的方法6. 对标签进行布局、根据规则摆放在父控件中根据上图可以分析实现功能需要的参数: 一行的子标签的总宽度,用于和屏幕宽度比较大小,决定是标签是否换行..

2022-08-30 20:53:33 1021

原创 Android自定义控件(二) Android下聚光灯实现

这样进度条和聚光灯就结合使用起来。聚光灯自定义控件,默认为全黑的背景,圆的半径为200f,若要灵活配置,可以声明自定义属性聚光区域圆的半径,修改圆大小的系数等。效果如下图所示,聚光灯随手指的位置变化而变化,通过进度条控件改变聚光灯大小以及修改背景透明度。...

2022-08-17 23:38:21 819

原创 Android自定义控件(一) 可滑动的进度条

本文为Android自定义控件,可滑动的进度条,记录了从0到1开发的整个过程,加深对自定义View的理解,方便复习。

2022-08-14 22:47:18 4233 1

原创 Linux:学习笔记(指令篇)

前言Linux命令在开发过程中扮演着重要的角色本文持续记录分享Linux学习笔记说明为了学习Linux,在电脑上安装了虚拟机。环境是Centos 8。下图是shell命令行图样。我们的所有指令都是在这个命令框中进行Linux中 #表示超级管理员身份,$符号表示普通用户通用语法格式:# 指令名称 [选项] [操作的目标]目录一、基本指令1、简单命令2、文档操作命令3、文档查看命令4、关机重启命令二、进阶指令一、基本指令1、简单命令1.1、ls语法1:表示列出指定路径下的文件夹

2021-02-26 21:03:25 228

原创 入门篇(二)- Spring Boot项目整合MySql和MyBatis-Plus (图文教程)

系列文章目录提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加例如:第一章 Python 机器学习入门之pandas的使用提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录系列文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例

2020-11-22 16:38:30 1521

原创 入门篇(一) - IDEA快速搭建Spring Boot项目 (图文教程)

IDEA快速搭建Spring Boot项目 (图文教程)因为公司业务需要,开始学习后端开发,作为目前主流的后端框架,Spring Boot成为首选的学习目标。Spring Boot 能够更简便的去创建一个新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;增加了 图

2020-11-11 22:47:30 1006

原创 踩坑前端框架 - iview DatePicker 时间选择年月日时分秒

DatePicker时分秒可选择功能修改

2020-07-01 14:25:19 8306 4

原创 微信小程序之模板消息

在移动应用中,APP经常通过推送的方式将一些消息发送到用户的手机上。小程序基于微信内,为我们提供了一整套的模板消息,使微信和小程序这个体系达到服务闭环的效果。一、消息模板在微信中显示1.服务通知:微信内消息模板推送的位置。2.服务通知进入显示3.进入小程序查看可以跳转到小程序中指定的页面,这里需要在消息模板的参数中做配置,后面会说到。二、消息模板接入步骤这里不多啰嗦,直接...

2019-03-25 20:20:06 1671

原创 Android系列(一) 要了解的Android的消息机制

前言本篇文章介绍Android的消息机制,消息机制用于Android中的线程切换以及数据处理。所谓的消息机制,就是Handler的运行机制。Handler是消息机制的上层接口,我们开发中只需要使用Handler即可,除了Handler以外,底层还需要MessageQueue和Looper的支持。还有一个类ThreadLocal也会介绍下,下面将介绍整个消息的运行机制。目录1、常见问题...

2019-03-08 10:25:49 469

原创 Android 的 JNI 和 NDK开发

一、JNI是什么?定义:Java Native Interface,即Java本地接口作用:使得Java与本地其他语言(如C,C++)进行交互,可以让Java代码和C,C++代码进行互相调用。JNI是Java语言的一种特性,属于Java,与Android没有关系二、NDK是什么?定义:Native Development Kit,是本地开发的工具包作用:Android本地开发工具集合,...

2019-03-06 10:50:36 363

原创 微信小程序扫码识别二维码跳转指定页面(获取二维码参数)

最近有个需求,扫码获取在微信中识别二维码直接跳转到指定的打卡圈,下面来介绍下如何实现这个功能。分享海报的绘制保存教程点击这里这里是引用...

2018-11-27 21:58:05 58019 5

原创 微信小程序右上角菜单栏分享隐藏

微信小程序将右上角的 菜单栏中的分享功能隐藏。使用API : wx.hideShareMenu();方法隐藏转发按钮;

2018-11-23 16:13:18 11224 3

原创 查询端口号以及解决被占用问题

**端口号被占用问题解决**第一:查询端口列表Ctrl + R 输入 cmd 命令打开命令输入窗口输入 netstat -ano 查看所有端口信息netstat -aon|findstr “9898” 查看指定端口的信息(这里死9898)tasklist|findstr “12444” 查看指定PID对应的进程信息 (这里是Java进程)执行命令杀死进程 taskk...

2018-10-28 21:32:21 531

原创 微信小程序上传文件到阿里OSS教程

微信小程序上传文件到阿里OSS

2018-08-23 16:10:01 21135 4

原创 微信小程序自定义组件Component的使用

前言之前有一篇博文介绍了小程序中模板template的使用。在使用的时候,虽然可以实现与组件相同的显示功能,但是template没有自己的生命周期,在操作模板上的控件时,事件的传递不好处理,而这些不方便都可以通过组件component来代替,先看一波效果图。 实现1.创建component组件首先如上图创建components文件夹,home-item就是最上面效果图的条...

2018-07-25 23:47:39 78168 3

原创 Flutter学习之旅(四)Flutter动画(1)动画基础介绍

前言本篇将介绍Flutter中动画。首先来看下Flutter的动画基础概念和相关类Animation:Flutter中动画的核心类AnimationController:动画管理类Tween:补间对象,用于计算动画使用的数据范围之间的插值。Listeners和StatusListeners:用于监听动画状态改变CurvedAnimation:用于定义非线性曲线动画 1....

2018-07-12 00:06:45 7027 1

原创 Flutter学习之旅(三)Flutter中的手势处理

前言移动应用的一个必不可少的环节就是与用户的交互,在Android中提供了手势检测,并为手势检测提供了相应的监听。本文将介绍Flutter中手势检测GestureDetector。Flutter中的手势系统分为两层,第一层是触摸原事件(指针),有相应的四种事件类型。1. PointerDownEvent :用户与屏幕接触产生了联系。 2. PointerMoveEvent :手指已...

2018-07-07 23:47:11 8549

原创 Flutter学习之旅(二)常用的Flutter的基础组件介绍

前言为了能更快的创建一个好看的应用,Flutter提供了一系列的组件。有基础组件(Basics Widgets),质感组件(Material Components)等,本篇将介绍常用的基础组件。 目录看到上面的目录,从事Android开发的同学是不是很熟悉,Flutter中组件和Android中非常的类似,毕竟都是出自Google。1.Text (文本),Scaffold(脚...

2018-07-02 00:51:28 5834

原创 Flutter学习之旅(一)创建你的第一个Flutter应用程序

前言Flutter,Google推出的跨平台开发框架。就在前几天,Flutter的首个发布预览版(Release Preview 1)正式发布! 即将迎来Flutter 正式版(1.0)。本篇将带你创建第一个Flutter应用(Windows环境)。 安装1.下载Flutter SDKFlutter SDK 点击下载1-1.点击上面地址下载Flutter SDK,将下载的zi...

2018-06-26 12:39:17 7465 2

原创 简约之美Kotlin(五)Kotlin自定义可清除内容EditText

前言前面四篇文章已经介绍了Kotlin的一些基础内容。这篇将使用Kotlin实现一个简单的自定义View,可清除内容的输入框AutoClearEditText。 实现思路 1.自定义AutoClearEditText继承EditTextclass AutoClearEditText(context: Context, attr: AttributeSet) : EditTe...

2018-06-21 00:00:31 5689

原创 简约之美Kotlin(四)让你的代码拒绝空指针

前言本篇文章将着重介绍Kotlin的特色:空引用安全(Null Safety)。我们知道,包括Java在内的许多编程语言中最常见的陷阱之一就是访问空引用的成员导致空引用异常。在Java中,就是我们熟悉的空指针异常(NullPointerException)。 目录1.空引用安全就像前面介绍的一样,Kotlin除了语法简单之外,一个比较大的特色就是通过其类型系统的定义可以有效的...

2018-06-19 22:23:01 1964 2

原创 简约之美Kotlin(三)Kotlin类与对象

前言上一篇文章介绍了Kotlin的基础知识,本章将介绍Kotlin中的类,对象,接口等相关知识点。目录1.权限修饰符对于类,属性,方法等的访问权限修饰符和Java中的类似,Kotlin提供了private(私有),protected(子类),internal(内部)和public(公共)四个修饰符。如果不指定具体的修饰符的话,则使用默认的public。以类中声明的变量修...

2018-06-18 20:47:33 1741

原创 简约之美Kotlin(二)Kotlin入门基础知识

前言今天开始正式介绍Kotlin这门语言以及在Android中的应用。本篇将介绍Kotlin的入门基础知识部分。 Android Studio中使用Kotlin 可参考文章:简约之美Kotlin(一)Android Studio创建一个简单的Kotlin应用目录1.基本类型1-1.数据类型先来看下Kotlin中是如何声明一个基本类型变量的。private ...

2018-06-16 20:40:36 2114

原创 简约之美Kotlin(一)Android Studio创建一个简单的Kotlin应用

前言笔者第一次接触到Kotlin是在2016年6月份,当时项目有1/3的功能已经用Kotlin进行编码。不管是和Java的交互还是语法的简洁性都已经支持很好。正是因为其语法的简洁性和空指针安全,所以这两年的工作的项目里都有使用Kotlin。不能说Google将其作为Android第一开发语言开发人员就要放弃Java而一意追随。只是作为一门基于JVM新语言,我觉得Kotlin值得大家尝试。这个专...

2018-06-14 08:52:43 7731

原创 Android WebView实现选择本地图片拍照功能

相关文章Android 仿微信加载H5页面进度条实现Android WebView系列(二)Android和JS互调,BridgeWebView的使用。前言Android中通过WebView和H5页面进行交互,有时候会有其他需求比如H5页面需要从手机本地文件中选择图片。本篇以BridgeWebView介绍功能的实现。1.自定义ProgressWebViewclass Pro...

2018-06-12 22:33:32 4586

原创 Android 仿微信加载H5页面进度条实现

前言Android中WebView打卡前端页面时受到网路环境,页面内容大小的影响有时候会让用户等待很久。显示一个加载进度条可以提升很大的体验。微信内访问H5页面加载效果不错,效仿着写了一个。1.实现1-1.自定义类继承WebView类class ProgressWebView(context: Context, attr: AttributeSet) : WebView(con...

2018-06-09 22:28:27 1991

原创 Android多线程系列(一) AsyncTask基本使用以及源码解析

前言Android中,线程是操作系统调度的最小单位。线程分为主线程和子线程。主线程用来处理界面的交互,而耗时操作(网络请求,复杂的数据库查询)必须在子线程中来完成。通过Handler消息机制完成主线程和子线程之间的通信。每个任务都需要一个线程去执行,但是不可能每个任务的执行都是伴随着线程的销毁和重新创建,十分的耗费性能。所以用线程池去缓存一定数目的线程,由线程池来管理执行任务的线程,避免了...

2018-06-09 12:08:34 245

空空如也

空空如也

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

TA关注的人

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