自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大船

大船的博客

  • 博客(73)
  • 资源 (4)
  • 收藏
  • 关注

原创 【Android】代码中动态设置 drawable 背景

如图这样的效果,我们平时直接可以在 xml 写死。写法很简单。<?xml version="1.0" encoding="utf-8"?><!--白色圆角线条背景图--><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <corners android:radius="15dp" /> <

2021-04-29 22:20:06 1923

原创 【Android】Webview 上传图片代码(Kotlin版)

可以直接滑动到页面底部复制可以正常编译运行的 Kotlin 代码。我们一个新的 Android 项目是用 Kotlin 来开发,因使用到了 Webview,不可避免地会遇到 Webview 中上传图片的问题,如果不做处理的话,在 web 中点击是没有任何反应的,需要写一堆方法。我直接拿这篇文章「Android WebView那些坑之上传文件」的 Java 代码,然后用 Android St...

2019-11-10 11:47:27 1174

原创 【LeetCode】463. 岛屿的周长(Island Perimeter)的解题思路

题目如下:给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长...

2019-06-30 20:51:07 646

原创 【LeetCode】806. 写字符串需要的行数(Number of Lines To Write String)的解题思路

题目如下:(题目链接戳我)我们要把给定的字符串 S 从左到右写到每一行上,每一行的最大宽度为100个单位,如果我们在写某个字母的时候会使这行超过了100 个单位,那么我们应该把这个字母写到下一行。我们给定了一个数组 widths ,这个数组 widths[0] 代表 ‘a’ 需要的单位, widths[1] 代表 ‘b’ 需要的单位,…, widths[25] 代表 ‘z’ 需要的单位。现在...

2019-06-23 11:39:00 259

原创 【LeetCode】136. 只出现一次的数字(single-number)的解题思路

题目如下:(题目链接戳我)给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4以下是我的解题思路:思路一:把所有出现的数据全部都放到一个 set 集...

2019-06-16 11:52:50 168

原创 【LeetCode】101. 对称二叉树(Symmetric Tree)解题思路

题目如下:(题目链接戳我)以下是我的解题思路:我接触过的二叉树的题目,大多都可以用递归方式来解题,所以只需要找到规律,然后方法内部再调用一次自己就可以。我们就拿这个模型来分解:左边的2和右边的2比较左边的3和右边的3比较左边的4和右边的4比较抽象出来就是:1 的左子(2) VS 1 的右子(2);1 的左子(2)的左子(3) VS 1 的右子(2)的右子(3)1 的左...

2019-06-09 11:33:29 260

原创 【LeetCode】521. 最长特殊序列 Ⅰ(Longest Uncommon Subsequence I )解题思路

题目如下:给定两个字符串,你需要从这两个字符串中找出最长的特殊序列。最长特殊序列定义如下:该序列为某字符串独有的最长子序列(即不能是其他字符串的子序列)。子序列可以通过删去字符串中的某些字符实现,但不能改变剩余字符的相对顺序。空序列为所有字符串的子序列,任何字符串为其自身的子序列。输入为两个字符串,输出最长特殊序列的长度。如果不存在,则返回 -1。示例 :输入: “aba”, “cdc...

2019-06-01 11:28:32 473

原创 【LeetCode】118. 杨辉三角(Pascal's Triangle)解题思路

题目如下(题目链接戳我):给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。备注:在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]也给出了杨辉三角的示例图:以下是我的解题思路:我首先整理了前 5 行杨辉三角的...

2019-05-25 23:20:36 321

原创 【Android】Retrofit 源码解析

先放在 Retrofit 的简单使用方法。先创建一个接口:public interface GithubService { @GET(&amp;amp;amp;amp;quot;users/{user}/repos&amp;amp;amp;amp;quot;) Call&amp;amp;amp;amp;amp;lt;List&amp;amp;amp;amp;amp;lt;Repo&amp;amp;amp;amp;amp;gt;&amp;amp;amp;

2019-03-03 21:14:47 193

原创 动态代理在 Retrofit 中的使用

首先,什么是动态代理和为什么会有动态代理。众所周知,Java 是一门静态语言,编写完的类,无法在运行时做动态修改。一个简单的动态代理如下:1、先定义一个接口,想要使用动态代理,必须先定义一个接口:public interface IHello{ void hello();}2、再让想要动态代理的类实现接口:public class Hello implements IHel...

2018-12-24 14:30:33 1736

原创 [Java] 指定端口运行 war 包

最近在调研使用 Jenkins 持续集成软件,拿到了一个 war 文件,运行 war 文件有两种方式: 1. 把 war 文件放到 tomcat 的 webapps 文件夹中,运行 tomcat ,由 tomcat 自动解压运行 war 文件中的程序; 2. 不用 tomcat,cmd 进入 war 文件所在目录,直接执行以下命名运行 war 中的程序; java –jar 文件名.w...

2018-06-17 17:12:55 31145 8

原创 【其他】为公司项目个性化 Git 设置

公司最近决定把所有项目全部迁至 Git 仓库,我们用的是 Gogs(一个开源方案)。我在 Gogs 上注册帐户,接下来我要去设置我的 ssh 密钥。当我打开的本地的 id_rsa.pub 文件(之前我用 Github,已经生成过 ssh 密钥,不会的请点这里),发现密钥最后有我的邮箱地址,这个邮箱地址是我注册 Github 时的邮箱地址。心里有一丝不情愿,不想把这个 ssh 公钥输入到...

2018-05-22 20:36:10 485

原创 【其他】Hexo框架 Next 主题的一些设置细节

以下设置,主要是在 Hexo\themes\next 的 _config.yml 做修改:侧边栏头像avatar: /images/luFei.jpg 图片路径:Hexo\themes\next\source\images关闭加载动画以前是 use_motion,现在(6.0)改为 motion 了,设置更详细了,true 改为 false;显示语言在 Hexo\t...

2018-05-10 21:02:24 1624

原创 【其他】我整理了一个书单

走了很长的路,遇到了好多有趣的书,大多只停留在封皮和书名上,慢慢地都淡忘了,觉得要做点什么,不让这份记忆流逝,觉得还是整理一个书单的好,这样给自己也给后来者一点提示!《如何阅读一本书》 每本书的封面之下都有一套自己的骨架,作为一个分析阅读的读者,责任就是要找出这个骨架。一本书出现在面前时,肌肉包着骨头,衣服包裹着肌肉,可说是盛装而来。读者用不着揭开它的外衣或是撕去它的肌肉来得到在柔软表皮下的那

2017-11-13 19:49:26 442

原创 【Studio】Android Studio导入项目时的遇到问题(Re-download dependencies and sync project (requires network))

最近在做分享,做到微信分享时,下载了微信分享的Demo,可是在导入Android Studio编译时,却遇到了一个奇怪的问题,如图:奇怪了,我已经按照 【Studio】Android Studio如何最快速、顺利导入其他项目 一一做了修改了,但还是出现了问题,这太不科学了;并且我在点击Studio的同步按钮时,Studio根本没有联网搜索gradle的意思,直接秒弹这个错误窗口,看来应该是哪个地方有

2017-09-22 19:55:14 1527

原创 【Android】TextView设置段落间距

TextView只提供设置行距的方法,没有提供段落间距的方法,但是提供了一个 SpannableString 类来给TextView设置各种效果, 比如:其中一个给文字替换为图片的效果给我带来了灵感,  我可以用一个图片(最后换成一个宽1px,指定高度的透明长方形,xml中画出来的)来模拟段落间距。 注意画出来的高度,不能使用 用尺子直接量的值,而要比这个高度要小。 为什么呢,我也不清楚

2017-09-15 23:31:44 6394

原创 【其他】去掉Coding Pages的欢迎页之Hosted by Coding Pages,我的是Hexo的Next主题

首先必须把Coding Pages升级为银牌会员(免费),其实就是补全个人资料罢了。然后在Page服务中才会出现Hosted by Coding Pages设置项,如下图。有两种方式来去掉欢迎页,一种是文字,一种是图片,我一看图片是300*300,感觉有点大,并且是方形的,不知道放哪比较好,最后还是选择了文字,就是下边这一行代码。<p>Hosted by <a href="https://pages

2017-08-12 11:46:53 4500

原创 【其他】神舟精盾K470-i3 D3更换支持5GHz的双频无线网卡

我的笔记本是2011年的老本了,到现在已经有6年了,想想也是蛮厉害的嘛,像我这样1年换一次手机的人,竟然6年都没换电脑,我还是蛮佩服我自己的。为什么我6年没换电脑,手机却年年换,唉,换手机的钱都够再买几台电脑了,剁手。原因有二。一嘛,电脑更新换代的速度明显赶不上手机的换代的速度,11年我电脑是i3,2G内存,1G显卡,机械硬盘。目前市面上i7的电脑也不是很普及嘛,大部分都是i5;现在一般出厂8G内存

2017-07-30 16:17:39 3448

原创 【Android】OkHttp和Retrofit拿到的json数据是Unicode,我要的是UTF-8呀

不管是用HttpClient还是用OkHttp,都可以用来请求网络,然后拿到后台返回的json数据,然后按需要一步步解析。当然,我们有时候需要先确认返回的json数据中某个字段有没有数据,我们拿到json字符串,然后用工具把它格式化,就可以人性化地看json数据。json数据中的数字和字母一般都不会因为编码发生变化,但是汉字就比较特殊,会在GBK、UTF-8中有不同的表现形式。之前我用的是Async

2017-06-24 22:48:59 6200

原创 【Studio】利用Android Studio录制手机屏幕视频

有时候我们想把我们某个软件的操作过程演示发送给好友。如果手头有两个手机,可以一个演示,另一个拍摄,但是这样操作不方便,并且画面抖动,影响观感。最好的还是屏幕录制,录出来就像下图这样,看着多舒服; 我上传时压缩了体积和大小,所以看起来不太请,其实录出来的是超清的。windows有很多这样的软件,其实Android上也有很多这样的软件,但是我们Android开发的不用去找去下第三方软件,因为我们的开发工

2017-05-29 18:33:12 4132

原创 【Android】eclipse中使用RecyclerView

这篇文章其实没什么太大的使用价值,有点开历史倒车,因为现在Android大都用Studio开发了嘛,权当是记录一下曾经的经历吧。eclipse中使用RecyclerView有两种方法,一种是直接导jar包,另一种是依赖类库。 先把丑说在前头,强烈建议使用第二种方法,虽然麻烦点,但是更稳定,bug少。现在详细说下每种方法。第一种方法是导入jar包。这个jar文件其实我们每个人都有,就在sdk中,

2017-05-13 11:00:50 726

原创 【其他】搜索结果中developer.android.com开头的网址打不开

Android开发中经常会遇到一些问题,然后我们会求助搜索引擎,有时候会搜到Androd开发者的网站。 点击链接后,等待很久,这个developer.android.com开头的网址却无法访问;fq,fq也不行,反正我是fan过去是没看到,可能fan错了吧,fan到秋田家了吧。今年的时候,谷歌被允许在天朝开设“Google 中国开发者”网站,网址是:https://developers.googl

2017-04-28 15:18:51 5059

原创 【其他】Hexo博客(Next主题)放弃多说,接入网易云跟贴

大概是3月22号,收到“吴小龙同学”微信公众帐号推送的消息,说“多说”评论框即将关闭,心中不免有一丝失落,虽然自从搭建博客到现在没有一个人通过多说给我文章评论,但是难不保以后有人会给我评论,嘿嘿。多说关闭的原因主要是一直没找到盈利的切入点,唉,多说,走好。多说走了,但评论框还是要继续搞,“吴小龙同学”微信公众号那天推送的消息上简单地说了几款替代“多说”的产品,最后网易云跟贴(以下简称:云跟帖)胜出。

2017-04-02 21:15:43 4793 16

原创 【Java】线程安全的单例模式----静态内部类

单例模式作为一种常见的设计模式,在程序中非常常见,主要是为了保证一个类只有一个唯一的对象。从简单的“饿汉式”、“懒汉式”→利用 synchronized 和 复杂的“双重校验DCL模式”,是一个考虑线程安全的过程。后来有一篇文章上说“双重校验DCL模式”其实并不是线程安全的,我没看懂他说的原因(原文在此),但后来发现了另一种实现线程安全的单例模式,静态内部类方式,代码如下:public class

2017-03-18 16:53:37 8301 6

原创 【Studio】签名打包signature versions v1 v2

前几天把Android Studio升级到了2.3版本,今天在打包签名apk时,在最后一步,遇到了一点小麻烦,点了Finish后弹出来一个对话框,提示我“请至少选择一种签名版本”,一脸慒逼。然后百度,搜出来一堆没有的东西。回到对话框,发现有一个“Signature Help”,点了之后,无法访问。手动修改了地址的前半部分,可以访问了。我就不费话了,把链接给你们,谷歌原汁原味的一手资料。https:/

2017-03-09 17:41:10 11775 19

原创 【其他】几天不写博客,憋着写点感悟

记得上次写博客还是过年那会,当时在家里也没啥事,晚上也不看电视,早早地就洗刷完进了卧室,心态还是很平稳的。我一般静下心来,脑子里思路还是比较清晰的,可以总结下以前的知识,从中选出一个点,勾勒出一个轮廓,慢慢形成一篇文章出来。这几天心里颇不平静,一直在思索,对自己的Android知识体系进行查漏补缺。总结了几点:太多了;太快了;太多了,是因为Android本身知识就很零碎,感觉越学越多。 太快

2017-02-24 20:32:46 551

原创 【Android】Android中WebView实现Java与JS交互

现在混合式开发是大趋势,H5不断蚕食移动互联网的份额,有的公司甚至只用H5就搞了一个APP,我们搞Android的不说会点H5,至少要懂怎么和H5(和JavaScript)交互,费话不多说。一、先看效果:二、此效果图实现了以下4个功能:Java调用JS中的无参函数;Java调用JS中的有参函数,参数是从Java中传入的;JS调用Java的无参函数;JS调用Java中的有参函数,参数是从JS中

2017-01-25 23:23:16 1309 2

原创 【Android】不同App之间通过SharedPreference共享数据

Android中不同App之间共享数据可以用SharedPreference、ContentProvider,也可以通过sharedUserId。今天具体来说下怎么通过SharedPreference(以下简称SP)在不同App之间共享数据。比如SharedApp是共享数据的App,ReceiverApp是来接收数据的App;SharedApp中创建一个SP,把共享数据存进去;在ReceiverAp

2017-01-19 11:45:15 3354

原创 【Java】把一个对象转化为String字符串

把一个对象obj转化为字符串,我有三个想法。obj + "";obj.toString();String.valueOf(obj);这三种方法分别是我在三个阶段的用法。最开始只为图省事,直接加上字符串;后来知道Object有一个toString()方法,当然像Integer会重写toString()方法;再后来才知道还有个更严谨的方法String.valueOf(Object obj)。来看

2016-12-30 20:46:51 16191

原创 【其他】记录这次曲折的域名选择及搜索引擎seo优化的过程

最终这次把域名定为:www.bigship.cc为什么选这个域名呢?便宜,输入快那么一点点,好事成双。最开始想买那个.cn的来着,一不小心发现了还有个.cc的,第一个想到的是大众有一款车的型号是CC,那个车挺漂亮了。说正经的,专门在网上查了下.cc的域名代表啥,粘过来几句有亮点的话。1、 .CC是小岛国Cocos (Keeling) Islands的国别地理域名,和我国的CN同属于ccTLD,和·C

2016-12-29 19:27:45 583

转载 【其他】Git忽略规则及.gitignore规则不生效的解决办法

在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。这个文件每一行保存了一个匹配的规则。但是有时候在项目开发过程中,突然心血来潮想把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无

2016-12-18 20:13:11 18281 4

原创 【其他】个人站点从云服务器wordPress到GitHub与Coding双平台的转变

之前用腾讯云服务器提供的第三方wordPress博客平台建了一个个人站点,过程比较容易,操作也很简单,但是对其中的细节不了解,今天早上发现网站无法访问,报404错误,顿时束手元策。首先想到的是给腾讯云服务器提工单,希望他们可以帮我提供一些建议,但是他们表示与他们无关只好求助提供第三方wordPress博客平台的公司,试了他们的方法,仍无济于事。先不说这次的坑能不能填上,要是这次搞好了下次再来个无法访

2016-12-17 08:57:07 2613

原创 【Android】两种抽屉写法(NavigationView和Toolbar互动)

其实这两种的效果差不多,只是第一种的抽屉比较高,把Toolbar都盖住了,看不到Toolbar上三道杆的动画;另一种嘛,就是抽屉在Toolbar下方,三道杆变成箭头的动画可以完整展现。来先看效果图。

2016-11-26 20:12:15 4751 1

转载 【Android】Studio 依赖 ButterKnife 黄油刀 时出现 空指针异常

目前最新butterknife版本是8.4.0,依赖方法有所变化,请以github上代码为准,地址:https://github.com/JakeWharton/butterknife一 、 出现过程描述在项目中使用黄油刀,在依赖中加入’com.jakewharton:butterknife:8.0.1’,结果项目 运行报错,提示空指针异常NullPointerException。二、 解决方法决定

2016-11-25 21:20:49 2228

转载 史上最详细Windows版本搭建安装React Native环境配置

说在前面的话:感谢同事金晓冰倾情奉献本环境搭建教程之前我们已经讲解了React Native的OS X系统的环境搭建以及配置,鉴于各大群里有很多人反应在Windows环境搭建出现各种问题,今天就特意更新一贴来说明。

2016-11-25 11:43:23 687

原创 【Studio】Android Studio如何最快速、顺利导入其他项目

当我们拿到一个其他人的项目时,不要急着用Android Studio去打开这个项目,先确保三个地方是否和自己的Studio匹配,再打开就不用等待太多时间(要下载第三方框架的情况我也没办法,就看你的网速了,骚年)。接上来依次说那三个地方(再强调一下,先不要用studio打开项目)。第一个地方: 第二个地方: 第三个地方: 现在你打用studio打开这个项目,是不是快多了。

2016-11-16 19:54:24 1786 1

转载 【Android】ScrollView嵌套RecyclerView,RecyclerView总是把它上面的控件顶出页面

ScrollView嵌套RecyclerView,当我离开当前页面,然后又回来时,RecyclerView就会把它上边的控件都挤出页面,它显示在页面最上边。原因应该是RecyclerView抢了焦点,只需要把ScrollView中最上边的那个控件加上几句代码就可以解决这个问题。 android:focusable="true" android:focusableInTouchMode="true"

2016-11-16 19:27:47 8298 9

转载 【Android】ScrollView中嵌套RecyclerView滑动时飞不起来

scrollview嵌套recyclerview滑动卡顿的问题

2016-11-16 19:09:09 521

原创 【Studio】解决格式化时,注释部分没有缩进的问题

android studio默认格式化是把注释从每行最左边开始显示,代码格式化(默认Ctrl+Alt+L)也不管用。比如这样:我个人喜欢注释也要格式化,缩进对齐。其实这个需要自己设置,打开studio的设置,依次找Setting->Code Style->Java->Wrapping and Braces->Keep when reformatting->Comment at first colum

2016-11-14 17:18:18 6015 1

原创 【Android】修改Tablayout中标签文字的样式

我们在用TabLayout和ViewPager做可以滑动的标签和碎片时,标签的样式一般只能设置文字颜色、滑块的颜色和厚度值如果我想设置文字的大小和加粗,在这必须用到app:tabTextAppearance="@style/CustomTabLayoutTextAppearance"完整代码就是这样:这个style需要自己在styles.xml中自己定义,我在里边写了字体的大小、加粗、黑色(刚开始没

2016-11-14 17:05:24 3762

安卓查看周围wifi信号强弱列表

按强弱列出周围wifi的ssid、bssid、capbilities、level(android) 将手机搜到的wifi按强弱顺序列出来,分别显示ssid、bssid、capbilities、level; bssid是mac地址,capbilities是加密类型,level是信号强弱数字(负数,绝对值越小,信号越强)。

2016-03-08

只关闭显示器

双击一下,关闭显示器,不影响windows系统正常运行。 就是为了省电。

2016-03-03

pdf切边软件

把pdf的边切掉嘛,这个用kindle的人都知道的,那个白边是多么惹人厌。

2016-03-02

android nfc 读tag信息

使用支持nfc的android手机帐贴近tag卡片,读取tag中的信息。

2015-10-08

空空如也

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

TA关注的人

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