自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(416)
  • 资源 (5)
  • 收藏
  • 关注

原创 macbook 不安装软件能读写硬盘吗?当然

为什么要用命令呢?因为一般你的硬盘(NTFS格式的)插到 mac 上面,只能读,不能写。(当然如果你的硬盘在存储文件之前格式化为了exFAT格式,那就可以直接操作了)而这个时候,你即不想先把硬盘格式化,又不想花钱买付费软件(当然有免费试用几天的软件可以用)。那最方便的方式就是输入命令,然后操作了。上步骤1、插上硬盘2、使用diskutil list命令列出所...

2020-01-15 14:21:24 835

原创 「魔窗」问题终于解决了

背景项目一直在使用「魔窗」,但是随着「魔窗」被「极光」收购成为「魔链」后,就变得越来越不稳定;刚开始的时候,「极光」只是把这个业务接过来,并没有做过多的干预,导致出现不同机型,展示不一样场景的问题,比如:① 小米手机能实现完美跳转,华为,oppo 则只能跳转到首页② 部分手机在程序中点击 home 按键,再切回程序,结果是开启了新的一份程序,再推出的时候,需要退出 n 个程序③...

2019-11-14 16:53:56 1089

原创 创建新分支,维护项目的 Tinker 版本

tinker 大家应该很熟悉了,可是由于新需求不断迭代,tinker 的引入一直再往后拖延,但是出于自身兴趣,打算在闲散时间将 tinker 接入,到时候一旦有 tinker 接入的刚性需求,直接将代码提交完事。本着这样的想法,吭哧吭哧 把 tinker 接入到了项目中,但是经过测试,发现部分 6.0 的小米系统手机并不兼容,这不就 哔哔 了吗!但是,好不容易搞出来的东西可别荒废了呀,所以...

2019-10-09 17:43:34 414

原创 Jenkins 自动打包,区分是否是多渠道(搜了全网也没搜到相关问题,只好自己解决)

如题,只说一个小问题如何让 jenkins 打包时区分多渠道包情况 或者 单个包呢因为我们的项目中使用了 「多渠道打包」,这样作为开发同学在打包时只需要优雅的一句./gradlew assembleRelease搞定(mac)但是多渠道的代码却对「jenkins 自动化打包」产生了影响,因为 「jenkins 自动化打包」所借助的是 gradle ,相较于开发自己本地打包还要慢上一...

2019-09-25 14:20:17 632

原创 TabLayout 设置选中Tab字体加粗,这可能是全网最新写法

为什么写这篇文章?是因为搜了全网都没有一个很简洁的方式有的只是去给 TabLayout 添加「自定义的布局」,然后再对 TabLayout 进行 Tab 卡片的切换进行监听,来更改 「自定义布局」 中的 文字的加粗或者其他。都说懒是提高效率的重要原因,对于我搜到的解决方案,我是不想采纳的。所以,我就开始反复琢磨,看有没有更简洁,更完美的方案,而TabLayout 并没有暴露出来更多的“...

2019-09-25 14:19:01 3939 2

原创 GSYVideoPlayer 使用‘小’心得之 改变放大和缩小的图标

接上篇,本篇就只说改变使用的 GSYVideoPlayer 中的放大和缩小图标。但是注意,我这个方式可能并不是通用的,但是应该是一般用法,更改生效的前提是 使用的播放器控件是这个不过,如果是初次使用的话,应该都会用到这个 播放控件吧。好了,接下来才是主餐:首先,继续贴出 本库的 github 地址https://github.com/CarGuo/GSYVideoPlaye...

2019-04-14 11:22:16 1838 1

原创 GSYVideoPlayer 使用‘小’心得之 m3u8 视频播放

引言首先感谢 CarGuo 研发的GSYVideoPlayer,在做视频播放的时候帮了大忙。附上 github 官方地址:https://github.com/CarGuo/GSYVideoPlayer有需要的直接去官方使用并赞赏即可。有关 m3u8 视频播放因为项目中有一些收费的视频,那么为了防止不法分子盗用视频,故后台把一些视频格式转成了 m3u8 格式,这样...

2019-04-11 13:56:31 4620 1

原创 app launcher 名称不是清单文件中的android:label

今天遇到一个小 bug,如题。launcher 显示的是什么呢? 是引入的一个依赖库的名字。那么其实问题就很清晰了,现在的状况是本身 app module 的 application 中的 android:label 的设定,和 引入依赖库中的android:label 合并时弄混了。你可能会说,这个问题很简单啊 ,只需要在本身的 app module 中的「清单文件」中的app...

2019-03-20 10:22:26 533

原创 Android Studio 生成 so 文件

把大象装进冰箱需要几步?其实,如果顺利的话,AS 生成 so 的步骤还是比较清晰的。但是,随着我升级到了 AS 最新版 「3.3.1 稳定版」而且我也不再想使用下面两种方法解决Your project contains C++ files but it is not using a supported native build这个问题。一、使用 「老版本 NDK」进行兼容:...

2019-03-19 18:51:20 768

原创 ToolBar 去掉默认左间距

简单首先,命名空间使用 xmlns:app="http://schemas.android.com/apk/res-auto"这个。目的是使用自己的命名空间。而android 自己的是这个 xmlns:android="http://schemas.android.com/apk/res/android"注意区别。然后,在我们使用的 ToolBar 中添加属...

2019-03-15 10:55:52 617

原创 Flutter 视图之 Widget、State类

Widget 按照状态分为两类StatefullWidget 和 StatelessWidget StatelessWidget :无中间状态变化的 widget,需要更新展示内容的话,就得通过重新 new, flutter 推荐尽量使用的 Widget StatefullWidget :存在中间状态变化的 Widget,但是 疑问 来了,Widget 被设计成都是 imm...

2019-03-14 12:32:15 580

原创 Flutter 「更新树」涉及到的问题

上篇文章中,我们知道了 Flutter 的视图树中有三种树WidgetElementRenderObject而且,Flutter 建议,Widget 最好是 不可变的(immutable)。问题一但是为什么呢?如果我们的页面数据发生变化,那么视图也需要发生变化,怎么办呢?flutter 界面开发是一种响应式编程,主张 simle is fastflutter 设...

2019-03-14 10:19:37 555

原创 Android高版本联网失败报错:Cleartext HTTP traffic to xxx not permitted解决方法

为保证用户数据和设备的安全,Google 针对下一代 Android 系统(Android P) 的应用程序,将要求默认使用加密连接,这意味着 Android P 将禁止 App 使用所有未加密的连接。解决方法,可以直接在清单文件中的application中添加 android:usesCleartextTraffic="true"即可如图~...

2019-03-14 10:18:53 401

原创 Flutter 视图树

Flutter 视图树包含了 3 种树:Widget:存放渲染内容、视图布局信息,widget 的属性最好都是 immutableElement:存放上下文,通过 Element 遍历视图树,Element 同时持有 Widget 和 RenderObjectRenderObject:根据 Widget 的布局属性进行 「布局(layout)」、「绘制( paint)」...

2019-03-12 16:17:12 1885

原创 Flutter 界面渲染流程

由图可见,整个 Flutter 界面渲染是从GPU开始,「垂直串行vsync」进行依次渲染,直至将「图层树Layer Tree」展示出来。那么,途径的几个阶段到底是怎么样呢?Animate:标记改变控件状态的动画(Tick animations to change widget state) Build: 当组件状态发生变化时,重构控件还记得之前通过setState()改变控件状态吗...

2019-03-12 15:11:47 2706

原创 Flutter 框架图解~

processOn 上画的见词得意

2019-03-12 11:00:09 760

原创 Android Studio 升级之后,DDMS 去哪了?

确实找不到点击位置了,不过,直接输入命令也是很方便的。 monitor对,就这一个单词就行了,输入monitor回车,就会出现熟悉的DDMS了。请看下图打开DDMS就这么打开,但是,如果你的目的仅仅是查看设备的文件的话,那么不用打来这个,因为DDMS毕竟会耗费电脑的资源,配置一般的电脑打开后还有点卡呢。直接打开Device File Explorer就可以了...

2019-03-05 11:04:33 17028 9

原创 Flutter 实现 「图片轮播」效果

拖了好几天,终于要实现 「图片轮播」效果了,是不是很激动。前几天专门学习的Timer、PageView还有没有印象呢?如果没有的话,可以再回去看看哦。我们先来看下效果动图就是在 之前PageView的基础上,添加了自动轮播效果。那么,废话少说,开始吧。一、准备数据源很简单,准备5张图片,同样从小米官网偷注意到没有,除了声明了 5 张图片之外,还单独提供了一...

2019-03-04 18:43:14 1270 1

原创 adb wifi 调试方法(命令行方式)

插件方式不说了,因为命令行方式很简便一、首先必须保证你的手机和电脑连接的是同一个 wifi,这点不用说吧二、连接手机,并打开 电脑 TCP 模式* 只需这一次用 USB 连接电脑* 怎么打开 TCP 模式:在terminal 中输入下方命令即可 adb tcpip 5555我的结果显示并没有切换到 5555 端口,不过没有显示报错即可,如果...

2019-03-02 12:39:43 12386

原创 android studio monkey 测试

顾名思义:瞎xx点 ...好吧,用一下吧!用命令很简单,很粗暴1、随机测,整个手机乱点、乱滑 adb shell monkey 1000(1000 表示测试 1000 次 ) 2、测试指定应用我们一般都针对性的去测试某个应用,所以我们需要指定一个特定的应用,当然这里使用「应用包名」区分的,即build.gradle中的applicationId对应值 ...

2019-03-01 17:27:52 485

原创 CoordinatorLayout 代码控制滚动位置

如题,项目中有一个需求,就是 CoordinatorLayout 嵌套的布局下,点击下方的 Tab,切换,并展示整屏。如上图:点击下方的 视频、文章的时候,顶部自动向上滑动,展示全屏,请看效果图那么这个怎么做呢?其实关键的代码逻辑是CoordinatorLayout.Behavior中setTopAndBottomOffset()方法首先这个方法位于...

2019-03-01 15:35:54 2239 2

原创 Flutter 中的 Timer 实例 实现 广告页面3秒跳转

在写轮播之前,先把 Timer 看一遍吧Timer 官网由上图可知,Timer 类存在于dart:async内,所以我们需要先导入 import 'dart:async';方可使用。而且 Timer 的构造也很简单,一个时长Duration一个到时之后执行的任务callback,如下图,他的构造方法看着官网的示例也是很简单的,我们先仿照做一个三秒之后打印...

2019-02-27 16:51:49 2602

原创 Flutter PageView使用案例

前言现在的小目标是要实现一个 「图片轮播」的效果,我们在 Android 中可以使用ViewPager结合handler或者Timer去实现。而我们在Flutter中,其实也是类似的。那么,在Flutter中,代替 Android 中的ViewPager组件是PageView,而且,这个PageView相比ViewPager扩展性更高。我们来看一下Flutter Pag...

2019-02-27 16:51:00 2579

原创 使用Android studio 新建 Flutter项目卡住

如题,今日在创建了几个 Flutter 项目之后,我又创建了一次,结果 Android Studio 卡住了,搜了一些资料,并没有找到合适的方式来修复,打算先用「妥协」方式处理即,用命令行方式 首先,切换到想要创建项目的位置,比如,我要切到我的 flutter_project 目录中 cd flutter_project/ 然后执行命令,新建 Flutter 项...

2019-02-27 16:50:03 16194 4

原创 Flutter 实现上拉加载更多数据,下拉刷新

引言昨天已经使用 RefreshIndicator 实现了下拉刷新数据的效果,今天,我们使用ScrollController来实现:上拉加载更多数据,然后再将二者汇总起来~~废话不多说,上菜,哦,不对,上图

2019-02-22 17:52:07 1165 2

原创 Flutter 进度控件 & 使用 RefreshIndicator 完成下拉刷新效果

今天要聊的内容是Flutter 进度控件: ProgressIndicator 和 刷新控件 RefreshIndicator首先 我们看下类的结构吧 可见,进度控件的结构很简单,仅仅两个分支而已,那么我们先来介绍外层的这两个LinearProgressIndicator结构见图 很简单,需要提一下的是value: 他是设置当前进度的值,如果设...

2019-02-21 18:17:55 3604 8

原创 手势监听器 GestrueDetector

手势监听器 GestrueDetector 使用方法:第一步:初始化 GestrueDetector mgd=new GestrueDetector(实现了OnGestrueListener接口方法的对象);注意,解决长按屏幕后无法拖动的现象解决方案mgd.setIsLongPressEnabled(false);第二步:在onTouchEvent中,接手event...

2019-02-21 09:00:44 499

原创 Flutter 与 Android 互调

前言在做这个小 demo 的时候,遇到了一些坑,到文章发布 坑 还是没有填好,无奈,只得用了别的方式实现了本篇文章的功能。我这个人的缺点就是 爱钻牛角尖,哎废话不多说,看效果图那么,我们开始吧!一、先用 Flutter 把界面搭建出来我们先看界面逻辑,先不考虑功能,然后将此布局给予上层二、定义了一些我要使用到的变量和常量注意看这一行...

2019-02-20 10:47:31 666

原创 Scroller滑动原理

scroller本身并不能实现view的滑动,scroller方法中的startscroll中并没有做过多的操作,真正起作用的是startscroll方法下面的的invalidate方法,因为invalidate方法会引起view的重绘, 而view的draw方法中又会调用computescroll方法,而这个方法是一个空实现,所以如果想要view发生滑动,那么需要重写这个computescr...

2019-02-18 17:27:18 437

原创 view事件分发机制

事件分发机制dispatchTouchEvent处理事件的分发,如果事件能够传递给当前view那么这个方法一定被调用,返回结果受当前view和子view的dispatchTouchEvent方法的影响onIntercrptTouchEvent在diispatchTouchEvent方法中执行,用来判断是否拦截此事件,若拦截,则在同一个事件序列中,此方法不会再次被调用o...

2019-02-18 17:26:43 267

原创 Flutter 加载网络数据,展示ListView(玩 android接口)

引言前边几节我们学习了 Flutter 中的静态数据的 ListView 展示,感觉So easy ,但是实际应用肯定多数还是使用在线数据进行展示的,所以今天,我们使用了 「玩android」的数据进行展示。在实现过程中,走入了 「经验」的怪圈,好不容易跳出来,但是参加了「日更挑战」所以出了两篇笔记,作为文章,今天开始继续更 Flutter 的学习笔记,请大家多多关注。今天要实现的...

2019-02-18 17:25:41 1809 1

原创 Flutter 实现京东商品列表页布局

如题,我们先看效果图虽然不是1:1,但是也是差不多了,而且通过我代码布局中的方式,还是能够1:1实现的。好,废话不多说,我们开始吧一、准备数据图片是用京东的图片,在线获取然后用 list 进行整合创建一个 Goods 类将数据添加进去二、开始做左边的图片这边很简单三、开始做右边的布局,这边...

2019-02-15 09:19:54 3505 2

原创 Flutter 使用 asset 资源图片完成 TabBar 图标显示

如题,现在使用 Flutter 可以使用 Icons 来选择图片,但是Icons内的图片毕竟有限,所以我们肯定会需要用到 UI 为我们设计的图片。ok,今天的内容就是如何使用 UI 设计好的图进行 TabBar 中的图标展示还是先上效果图~  那么,开始吧~一、贴图 切好的图在项目最外层创建images文件夹,然后将上方的图片粘贴进去然后...

2019-02-13 17:14:14 1062

原创 Flutter 通过 TabBar 及 TabBarView 实现 TabLayout+ViewPager效果

如题,使用 Flutter 来实现题目效果要比 Android 原生实现简单一些先上效果图  在实现之前,先看一下 Flutter 中 TabBar 及 TabBarView 的属性 TabBar TabBarView好了,现在我们开始吧一、准备数据和图标 数据就是 String 类型的,而图标则是Widget,下文会用到~...

2019-02-13 14:43:56 2953 1

原创 flutter 通过 ListView 展示列表点击跳转查看 Image 组件的颜色混合模式

哇,这个名字好绕口你可以理解为:使用 flutter 实现listview 并且点击跳转你也可以理解为: Image 组件的 colorBlendMode(颜色混合模式)的示例我们先看一下示例吧~ok,这下明白了吧。一、实现ListView效果首先,定义一个数组然后定义一个返回ListView的方法修改创建flutter项目后的body体...

2019-02-13 10:07:40 817

原创 android studio 下的flutter项目 build文件夹不显示解决方法

ok,小白问题我在用flutter编写完程序之后,想要打包 apk,看一看 flutter 的项目有多大,结果发现找不到 build 文件夹,但是在本地文件中确实有这个文件。好了,话不多说,解决方案很简单 如图,默认红框中的对勾是取消勾选的,要想显示只需要打开即可...

2019-02-12 15:42:06 2827 1

原创 flutter 项目下生成签名文件方法

如题当然我们可以再 android 原生的项目下去生成秘钥文件,但是如果不想再切回到 android 原生项目,可以直接用keytool命令行就可以了 keytool -genkey -v -keystore 秘钥文件目录/名称.jks -keyalg RSA -keysize 2048 -validity 有效天数 -alias 昵称 回车之后,输入两次要设置的密码,随...

2019-02-12 14:44:41 1771

原创 flutter 弹吐司

flutter 吐司包官网我只是大自然的搬运工

2019-02-12 09:13:29 1251

原创 使用 flutter 加载图片报错:The following assertion was thrown resolving an image codec:

使用 flutter 加载图片时,如果使用到 asset 目录,那么图片的 key 需要写全在前期工作:   都做好的前提下,进行图片的引入 即可

2019-02-11 12:47:59 5452

原创 Android 获取在线音频时长

so easy MediaPlayer mediaPlayer = new MediaPlayer(); try { mediaPlayer.setDataSource(audioUrl); mediaPlayer.prepare(); int duration = mediaPlayer.getDuration(); ...

2019-01-22 13:43:44 3866

mac远程windows-Microsoft_Remote_Desktop

mac 远程 windows电脑的官方软件,官网地址是https://rink.hockeyapp.net/apps/5e0c144289a51fca2d3bfa39ce7f2b06/

2018-08-07

apk反编译工具

android apk反编译工具 如有不懂请配合相应博客

2017-01-01

sound.jar配合jmf使用

sound.jar 配合jmf使用 完成java音乐播放

2015-12-08

jmf.jar文件,直接复制到工程即可使用

jmf.jar包直接复制到工程即可使用,不需要安装

2015-12-08

空空如也

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

TA关注的人

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