自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老黑牛

一头在Android和Flutter领域深耕的老黑牛!!

  • 博客(99)
  • 资源 (6)
  • 问答 (6)
  • 收藏
  • 关注

原创 好用app推荐:扫描二维码、扫描条形码并查看历史

有些朋友日常生活中可能需要频繁扫描二维码,或者需要频繁扫描条形码,一般情况下我们可以直接用微信进行扫描。但是如果想记录扫描的历史,或者想对扫描的二维码、条形码进行美化、分享的话,用微信扫描就不是很方便。今天,小编给大家推荐一款我平时经常使用的手机app–二维码和条形码生成器,一款好用的、免费的扫码App,支持安卓、鸿蒙、苹果手机,快来看看怎么用吧。...

2022-07-04 18:11:17 3176

原创 如何用手机快速制作好看的二维码

由于二维码的出现,给我们的生活带来了很大的方便。由于工作的原因,小编经常会看到一些制作精美的二维码,很是好奇他们是怎么制作出如此好看的二维码的。为了给大家推荐真正好用的二维码制作软件,小编对比了市面上好多类似的软件,发现了一款还不错的App–二维码和条形码生成器,支持鸿蒙、安卓、苹果等各种手机。...

2022-07-04 18:03:58 1508

原创 制作条形码的手机App推荐

条形码自发明以来,给我们的生活带来极大便利,怎么才能快速的用手机创建条形码呢?下面就给大家介绍一款小编常用的制作条形码的App–二维码和条形码生成器。使用它,不仅可以制作条形码、制作二维码,还能快速扫描二维码和条形码,并且支持查看制作和扫描的历史,功能强大,关键还是免费的!...

2022-07-04 17:50:11 1493

原创 一个用于Flutter并支持高度自定义的手势解锁控件--GesturePasswordWidget

GesturePasswordWidget一个用于Flutter并且支持高度自定义的手势解锁控件,能满足日常开发中的绝大部分需求。使用方法:dependencies: gesture_password_widget: ^1.0.0github地址:https://github.com/LuodiJackShen/GesturePasswordWidget示例展示:1)一个简单的例子:效果图:代码:GesturePasswordWidget( lineColor: co

2020-09-20 10:28:20 1362 8

原创 深耕Flutter---扫清Flutter异步编程之路上的路障

Isolate基本概念Isolate更像是一个进程,所有的dart代码都会在上面运行,其内部有一个线程,用来处理event loop,还有一块内存,并且这块内存是私有的,也就说两个Isolate不共享内存(这也是和Java 的Thread的主要区别),要是多个Isolate想共同工作,只能通过port来发送消息进行通信(一般会把特别耗时的操作,比如IO操作、图片压缩等容易引起main isolate卡顿的操作放到一个单独的Isolate中运行)。这样做的好处是分配内存和垃圾回收的时候不用对操作加锁,对于

2020-05-19 22:13:37 1633

原创 Dart Tour

琐碎

2020-04-26 19:42:19 1202

原创 适配Android 6、7、8、9、10期间遇到的坑

1、h5 https请求的图片加载不出来;https请求无法访问;解决办法:Webview里添加:if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {mWebView.getSettings().setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW...

2020-02-12 20:29:45 1938

翻译 Dart 2.7发布:更安全,更好用的Dart

原文(节选):Announcing Dart 2.7: A safer, more expressive Dart翻译:老黑牛声明:侵权联删Dart 2.7 添加了对扩展方法的支持,同时新增了一个处理特殊字符的包。在null安全方面我们也做了更新,并在DartPad中带来了全新的null安全体验。在生态系统方面,pub.dev添加了一个新的Like特性:你可以给你喜欢的packages反...

2020-02-12 09:50:25 1439

原创 给自己看的Dart笔记,看不懂别找我

Default value(默认值)没有初始化的变量自动获取一个默认值为 null。类型为数字的 变量如何没有初始化其值也是 null,不要忘记了 数字类型也是对象。int lineCount;assert(lineCount == null);// Variables (even if they will be numbers) are initially null.Final an...

2019-02-12 14:58:03 3808

原创 Flutter小插件介绍之AutoJson---自动生成json_serializable和jaguar_serializer需要的代码

AutoJson作用:在flutter工程的bean类中自动生成json_serializable需要的序列化相关代码。支持:Idea、AandroidStudioGitHub地址:https://github.com/LuodiJackShen/AutoJson使用方式使用方式一(v1.1以上)依次打开 AndroidStudio(Idea) -> File -> ...

2019-01-31 22:24:04 1305

原创 Android琐碎(壹)

壹、Android studio中依赖下载不下来在terminal里输入gradlew build --refresh-dependencies,按下回车键。此命令的作用是强制Androidstudio重新下载所有依赖。(mac下输入 ./gradlew build --refresh-dependencies)贰、设置activity全屏并且隐藏下面的返回键在style中设置 &lt...

2018-12-01 18:07:39 296

原创 Flutter实现可循环轮播图

壹、控件分解图贰、代码实现贰点壹、构建根布局新建AdPictureWidget继承自StatefulWidget,新建_AdPictureWidgetState类继承自State<AdPictureWidget>,根布局为Stack,代码如下:class AdPictureWidget extends StatefulWidget { @override _AdPi...

2018-11-25 22:40:42 4023

原创 NumberPicker源码分析+自定义View简单实现NumberPicker

NumberPicker介绍 A widget that enables the user to select a number from a predefined range. There are two flavors of this widget and which one is presented to the user depends on the current t...

2018-04-07 11:47:30 1673

原创 ScrollDelLayout-仿qq左滑删除

效果图实现分析 如上图,整体布局分为两部分,一部分是屏幕内的布局,一部分是屏幕外的布局,屏幕外的布局就是滑动时需要滑进屏幕内要显示的布局。这两部分布局可以是任意的View,最重要的是这个整体布局的选择,一开始为了简单,直接使用了LinearLayout作为了整体布局,但是发现效果不尽人意,又使用了RelativeLayout,效果也不是很好,当时没空去分析具体的原因,最终直接自定...

2018-04-07 09:24:57 399

原创 自定义View系列-滑动选择分数或者刻度

效果图写在最前面详细源码及demo地址:GradeLayout源码。导进你的工程中直接使用:compile 'jack.view:gradelayout:1.0'上传到github中的已进行过拓展,可以动态更改一些属性,详见github的README.md。实现前的分析我们可以把整个布局分为两部分,一部分是上面的分数显示,一部分是下面的滑块显示。对于分数的显...

2018-03-18 16:03:22 578

原创 设计模式之单例模式

一、简单介绍1、定义 Ensure a class has only one instance, and provide a global point of access of it.翻译过来的意思就是:确保一个类只有一个实例,要自行实例化并且想整个系统提供这个实例。2、UML类图3、实现的关键点构造函数不对外开放,一般未private;通过...

2018-03-03 20:03:53 332

原创 设计模式之基础

一、UML关系简单描述UML关系有六种,分别是继承(又叫泛化)、实现、依赖、关联、聚合、组合,其相应的耦合度由强到弱依次是:继承 = 实现 > 组合 > 聚合 > 关联 > 依赖。1、继承:继承是一种 is-a 的关系,,在java里用extends关键词来说明这种关系,uml中用一个实线加一个空心箭头表示这种关系。 2、实现:实现几乎和继承一样,但它是一种类...

2018-02-28 21:30:59 330

翻译 Retrofit2.x官方文档翻译

官方原文地址简介Retrofit可以将你的HTTP API转换成Java接口。public interface GitHubService{ @GET("user/{user}/repos") Call<List<Repo>> listRepos(@Path("user") String user);}Retrofit类生成一个GitHubService接口的实现。Retrofi

2017-10-16 09:08:51 548

原创 玩树莓派(一)

前期准备硬件准备:树莓派(1个 | 必须) 高速Class4的存储空间大于4G的SD卡(1个 | 必须) 读卡器(1个 | 必须) Android手机数据线或USB转GPIO线(1个 | 必须) 树莓派外壳(1个 | 可选) 显示器(1个 | 可选) 键盘(1个 | 可选) 鼠标(1个 | 可选)软件准备:树莓派专用系统 烧录工具-Win32DiskImager XShell5(如

2017-10-06 10:39:08 474

原创 深入理解内部类、静态内部类、局部内部类

概念介绍至于概念的介绍直接上代码,很容易分清三者的区别。public class Outer { public class Inner {//内部类 ... } public static class StaticInner{//静态内部类 ... } public void method(){ class m

2017-09-25 15:40:00 446

原创 面试知识点整理-OS部分

单处理器系统的进程调度调度准则不同的CPU调度算法具有不同属性,为了选择算法以适应特定情况,必须分析各个算法的特点。为了比较CPU调度算法,分析员提出了许多准则:CPU使用率:目的是让CPU一直在干活,但是别累着,一般对于真实系统,使用率在40%-90%之间最好。吞吐量:它指一个时间单元内所完成进程的数量,对于时间长的进程,吞吐量可能为每个小时一个进程,对于短进程,吞吐量可能为每秒10个进程。

2017-08-29 15:47:08 617

原创 阿里2018校招客户端研发笔试之编程题

昨天晚上做了阿里2018年校招的笔试题,笔试题分为选择和编程题,选择题主要是数学基础和代码分析,两个编程题都不是很难(可能是客户端开发的简单,小伙伴投的是java开发,听他说他的编程题很难^_^),全部AC,在此记录下。NUM 1题目描述: 进行可燃冰的开采时,开采人员会先绘制一幅地图(矩阵表示),你需要做的是找出地图中可燃冰的区域数,能连起来的算一个可燃冰区域。 第一个数输入的是n,后面输入的

2017-08-26 08:19:42 3038

原创 String.intern()探究

官方API解释intern方法在实际开发中很少用到,但是其隐藏的技术点还是很重要的。那么,intern方法到底是干什么的呢?官方API如下(中文内容由本博主翻译^_^): intern public String intern() Returns a canonical representation for the string object. A pool of string

2017-08-17 21:21:36 439 1

原创 常量池、运行时常量池、字符串值基本概念区分

常量池(Constant Pool):常量池数据编译期被确定,是Class文件中的一部分。存储了类、方法、接口等中的常量,当然也包括字符串常量。字符串池/字符串常量池(String Pool/String Constant Pool):是常量池中的一部分,存储编译期类中产生的字符串类型数据。(JDK1.6及1.6之前字符串常量池在方法区中,JDK1.7及1.7之后字符串常量池在堆中)运行时常量池(R

2017-08-17 19:43:53 1205

原创 MVP模式初探

之前一直听说MVP的好处多多,也看过相关资料,但是没有仔细研究过,今天看了看面试题,发现竟然让用MVP模式实现登录功能,于是抓紧研究了下。 关于MVP的介绍以及与MVC的区别网上有相当多的资料可以参考,这里推荐鸿翔大神的博客 我这里引用下MVP和MVC的区别,方便查看: 其实最明显的区别就是,MVC中是允许Model和View进行交互的,而MVP中很明显,Model与View之间

2017-08-15 21:01:53 604

原创 抽象类VS接口

基于JDK1.8接口以interface修饰,抽象类以abstract修饰在接口中所有的方法、属性默认为public,抽象类里面允许有private方法和属性一个类可以实现多个接口,但只能继承一个抽象类接口和抽象类都不能使用new来创建。在接口中声明的属性默认是public final的,抽象类中没有这个限制接口一般不允许有实现的方法,抽象类中允许有实现了的方法如果想在接口写实现了的方法

2017-08-14 20:51:11 347

原创 Java垃圾回收算法学习

在Android开发中,免不了用mat对app进行相应的分析,检查是否有内存溢出,这就涉及到了Java垃圾回收相关的知识了。Java里的引用JDK1.2之后,Java对引用的概念进行了补充,将引用分为了强引用、软引用、弱引用、虚引用,引用强度一次降低。强引用:直接new出来的对象引用,只要强引用还在,垃圾收集器永远不会回收掉被引用的对象。软引用:描述还有用但并非必需的对象,对于软引用关联的对象,

2017-08-12 16:27:01 338

原创 Java内存区域简述

在Java中,内存由虚拟机进行管理,不像C++那样需要为每个对象写相应的delete/free方法,不容易出现内存泄漏和内存溢出的问题。 Java虚拟机在执行java程序的过程中会把他所管理的内存划分为若干个不同的数据区域,如下图所示: 程序计数器程序计数器是一块很小的内存区域,可以看做当前线程所执行的字节码的行号指示器。字节码解释器在工作的时候就是通过这个计数器的值来选取下一条需要执行的字节码

2017-08-12 15:17:53 436

原创 计算机网络学习笔记一

五层协议的体系结构1、应用层:通过应用进程间的交互来完成特定网络应用。应用层定义的是应用进程间通信和交互的规则,比如万维网应用的http协议,支持电子邮件的smtp协议,支持文件传送的ftp协议。 2、运输层:主要负责向两个主机中进程之间的通信提供通用的的数据传输服务。运输层主要有tcp(传输控制协议,面向连接的可靠的数据传输服务)和udp(用户数据报协议,无连接的尽最大努力的数据传输服务)两种协

2017-08-12 09:19:02 718

原创 OS学习笔记一

死锁的条件参考资料 1、互斥。即某个资源在一段时间内只能由一个进程占有,不能同时被两个或两个以上的进程占有。这种独占资源如CD-ROM驱动器,打印机等等,必须在占有该资源的进程主动释放它之后,其它进程才能占有该资源。这是由资源本身的属性所决定的。如独木桥就是一种独占资源,两方的人不能同时过桥。 2、不可抢占。进程所获得的资源在未使用完毕之前,资源申请者不能强行地从资源占有者手中夺取资源,而只能

2017-08-12 08:42:06 479

原创 上下文菜单

Android中实现菜单的方式有: - Menu - PopWindow - ContextMenu 这里来试着说一说ContextMenu的用法。 先来看效果图: 实现步骤:为指定的View注册上下文菜单 registerForContextMenu重写onCreateContextMenu onContextItemSelected这两个方法。下面是详细的示例代码:

2017-08-11 16:25:16 603

原创 Git切换账号最简单的方案(windows)

重装了电脑,新安装的git,结果第一次输入账户名和密码输成了好久不用的那个github账号,结果悲剧了,每次push都会提示:remote: Permission to xxxxxfatal: unable to access xxxxxgoogle了好久,找到了一个最简单的方法。 首先找到“凭据管理器”,位置如下:控制面板\用户帐户\凭据管理器删掉GitHub的凭据,再push的时候会弹框,让

2017-07-14 13:14:03 10583

转载 UML类图符号 各种关系说明以及举例

UML类图符号 各种关系说明以及举例

2017-06-14 09:48:22 451

原创 关于RecyclerView的notifyDatasetChanged和notifyItemxxx方法的一个注意点

场景是这样的: RecyclerView的item中有一个button,点击button后会删除这个item,如果我调用mAdapter.notifyDataSetChanged();,数据正常显示,但如果我调用mAdapter.notifyItemRemoved(position);,就会出现删除异常的各种问题,比如数组越界的问题等等。原因分析 经过分析源码,发现notifyDataSetCh

2017-05-27 10:26:00 4341

原创 dialog、activity等进入、退出动画实现

无论是dialog还是activity,都是附着在window上的,因此,可以借用window的相关属性实现进入退出动画。 以dialog为例:dialog.getWindow().getAttributes().windowAnimations = R.style.edit_dialog_style;R.style.edit_dialog_style<style name="edit_dialo

2017-05-10 09:14:14 1304

原创 <string>改变部分字符串的样式(颜色等)

<string name="log_location_detail"><Data><![CDATA[1、消息存储位置:<br> <font color="#FF0000"> <b>   &nbsp

2017-03-18 14:37:09 2745

原创 关于手机图片问题的笔记

启动手机自带的图片浏览器:Uri imageUri=Uri.parse(imageFile.getAbsolutePath());Intent intent=new Intent(Intent.ACTION_VIEW);intent.setDataAndType(imageUri,"image/*");startActivity(intent);启动手机相机拍照:File picFile=ne

2017-03-17 21:27:29 436

原创 软键盘挡住输入框问题的终极解决方案

参考:1、Android 爬坑之旅:软键盘挡住输入框问题的终极解决方案 2、 WebView adjustResize windowSoftInputMode breaks when activity is fullscreenpackage com.jicq.utils;import android.app.Activity;import android.graphics.Rect;impo

2017-03-13 21:12:10 784 1

原创 android 设置状态栏的颜色

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getWindow().setStatusBarColor(getStatusColor()); } else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT

2017-03-12 21:17:45 830

原创 recyclerview 数据混乱

如上图,这是我的item layout,这是我的bindView里的代码:public void bindView(int position) { ChatMessage msg = mMsgs.get(position); if (msg.getFrom().equals(Constants.PEER)) { mRec

2017-03-07 10:10:35 785

zxing资源文件

zxing用到的java类和相关资源。

2017-03-20

运用AlarmManager实现的定时项目

实现的功能:设置定时任务,按时控制手机的情景模式。 特色:代码注释详细,绝对能看懂。 须知:想让程序准确无误的按时执行,请允许后台运行。 还有细节需要优化。

2016-09-08

android 手机版API(level 15)

手机版的AndroidAPI ,在手机上就可以查阅Android开发文档,爽不爽!

2016-03-09

android api 4.4 chm

初学Android,下了很多版本的api,唯有这个用的舒服,真正最新版本!

2016-03-09

《Algorithms》部分答案

学习java算法,就不得不说到一本书-------《Algorithms》,因此,特地上传此资源,包含部分习题解答,以及一些书中提到的源代码,欢迎下载使用。

2016-02-24

远程控制电脑(简单)

闲来无事,写了个小东西-----》远程实现查看电脑文件、观看电脑上的视频(有bug,尚未修改,目前手机上只能通过.html界面播放,电脑可以通过内置media player播放)、远程实现登录qq(需要点击自动登录)、远程重启、关机。

2016-01-11

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

TA关注的人

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