自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (2)
  • 问答 (6)
  • 收藏
  • 关注

原创 git merge 流程

git merge 流程先将续后 merge 的分支 git fetch && git rebase ,确保代码更新到最新切换到需要 merge 的分支,使用 git merge origin/xxx 合并 xxx 分支到当前分支如果冲突,解决冲突即可。记住,此时不能在 git rebase 当前分支了,rebase 的话会把 commit 一条一条的 rebase.。...

2019-10-11 15:17:29 457

原创 promise使用初探

title: promise使用初探date: 2018-12-29 16:10:48categories: 小游戏tags: jspromise简介Promise是异步编程的一种解决方案,比传统的解决方案 — 回调函数和事件——更合理和更强大。为什么要用他我们考虑这么一个场景,我们需要登陆拿到用户的token,然后再利用用户的token取取用户的信息,最后利用用户的相关信息去拿...

2018-12-29 19:43:32 180

原创 promise使用初探

promise简介Promise是异步编程的一种解决方案,比传统的解决方案 — 回调函数和事件——更合理和更强大。为什么要用他我们考虑这么一个场景,我们需要登陆拿到用户的token,然后再利用用户的token取取用户的信息,最后利用用户的相关信息去拿他的好友的相关信息。假设我们提供如下的模拟接口:class Api{ getToken(callBack) { s...

2018-12-29 19:43:06 233

原创 android与js的交互

android与js的交互android与js的交互在android开发中是很常见,一般是利用webView当作桥梁,进而实现android调用js,js调用android代码。下面就这两种待用具体记录一下。android调用js代码方式1,利用loadUrl众所周知,webview加载网页时,使用是loadUrl()方法,例如我们加载本地的网页代码可以实现如下:mWebView = f...

2018-12-23 22:32:27 234

原创 自定义View之将图片显示圆形图片并添加边框

效果预览本次的图片效果是基于上一篇博客的三种方法进行扩展实现图片的外边框效果。上一篇博客的传送门。 下面开始进行到整体,针对上次实现圆形图片的三个方式添加一个外边框效果。使用PorterDuffXfermode方式来实现我们使用这个方式实现圆形图片的原理是通过图片的设置图片的叠加显示效果。还是这张图: 思路实现圆形图片,我们只需要绘制一个圆,并将模式设置为SRC...

2018-08-04 21:17:34 812

原创 自定义View之将图片裁剪成圆形图片

自定义View之将图片裁剪成圆形图片使用PorterDuffXfermode方式来实现在使用这中方式之前,我们有必要弄清楚PorterBuddx究竟是什么。 简单来说,他是定义的一种图像融合的方式,具体的模式有如下几种,效果如图: 在次,不多做介绍,想深入了解PorterDuffXfermode可以参考各个击破搞明白PorterDuff.Mode 本次使用mode是SRCIN...

2018-08-03 21:15:28 1209

转载 IDEA Community(社区版) 使用Maven创建Web工程 并部署tomcat

参考https://blog.csdn.net/u012364631/article/details/47682011

2018-03-27 19:43:09 2197 1

转载 android studio快捷键

转载: http://seniorzhai.github.io/2015/02/05/AndroidStudio%E5%BF%AB%E6%8D%B7%E9%94%AE%E6%B1%87%E6%80%BB/

2018-01-26 17:51:04 248

原创 android adb调试技巧

参考链接超详细的dubug教程Android Studio 调试技巧Android中开发需要的高效助推的命令总结Android adb shell am 命令介绍adb shell dumpsys 命令用法AMS之dumpsys篇debug 技巧关于android studio的debug技巧,前面的两篇参考文章已经写的特别好了,也没必要再写一次了,主要就记录一下de

2018-01-17 20:00:24 1058

原创 mysql数据库填坑

mysql是一个比较轻量级的数据库,在日常的开发过程中经常会用到,这里记录一下我在用mysql数据库时遇到的坑。坑一,check约束无效。在使用mysql数据库的时候,我们经常需要对数据进行约束,例如,我们有一个这样的表, user_id user_name user_sex user_age user_socer int varchar(10) varchar(1)

2017-11-28 21:25:52 511 1

原创 imageLoader解析

ImageLoader是最早开源的 Android 图片缓存库, 强大的缓存机制, 早期使用这个图片加载框架的android应用非常多, 至今仍然有不少Android 开发者在使用。ImagerLoader特征支持本地、网络图片,且支持图片下载的进度监听支持个性化配置ImagerLoader,如线程池,内存缓存策略,图片显示选项等三层缓存加快图片的加载速度支持图片压缩开始使用鉴于这篇是对

2017-09-11 15:25:30 588

原创 跳石板

跳石板小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3……. 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24: 4->6->8

2017-08-29 11:33:11 373

原创 android的线程池,你了解这些就够了

Android中的线程池的概念来源于Java中的Execuor,Executor是一个接口,真正线程池的实现为ThreadPoolExecutor。android中线程池都是直接或者间接配置ThreadPoolExecutor来实现的。线程池的优点重用线程池中的线程,避免因为线程的常见和销毁带来的性能开销。能有效控制线程池的最大并发数,避免大量线程之间因为抢占系统资源而导致的阻塞现象。能够对

2017-08-13 15:56:25 423

原创 背包01问题初理解

背包问题(Knapsack problem)是一种组合优化的NP完全问题。问题可以描述为:给定一组物品,每种物品都有自己的重量和价格,在限定的总重量内,我们如何选择,才能使得物品的总价格最高。问题的名称来源于如何选择最合适的物品放置于给定背包中。具体理解可以直接通过下面的例子来理解背包问题: 背包问题的一个例子:应该选择哪些盒子,才能使价格尽可能地大,而保持重量小于或等于15 kg? 我

2017-08-12 14:10:30 702

原创 浏览器加载图片错误解决方案

这两天,发现浏览器的在访问百度贴吧或者百度经验,甚至是百度某个事情的时候,发现图片一直不能加载出来。如图所示。 但是使用google的时候,那里的图片确是可以显示的,只是如果是如果要跳转到百度经验,图片也就不能正确显示。于是乎,我就尝试着换浏览器去访问,清除了浏览器的缓存,但是都不起作用。 感觉像是问题出现在网络上面,但是本机的网络确实没有什么问题,除了某些图片不能加载以外,一切都正常。我想

2017-08-10 10:11:01 4566

原创 在activity中回传数据

在Activity中传递数据,在日常的开发中经常遇到。故,在此做一个记录。方法一刚开始的时候,在《第一行代码》,我们就知道通过activity中的onActivityResult方法来获取回传的数据。具体如下所示: 在Activity A中,我们通过startActivityForResult来启动Activity B。 然后在Activity A中重写startActivityForResul

2017-08-06 11:50:12 2712

原创 热更新初步探索

参考资料:Tinker –微信Android热补丁方案TinkerPatch平台参考文献微信Tinker的一切都在这里首先,我们得知道什么叫热跟新? – 热更新就是在软件不重新安装的情况下修复软件中存在的bug。热更新原理: 总的来说,现在热更新主要分为两大类:native hook方案和Multidex 方案。 实际上都是通过改变dex的加载顺序来实现的。下面是现在的时长上比较流行的

2017-08-05 19:58:21 398

原创 android 语音即时通讯之录音、播放实现

在android中,实现录音与语音播放的功能算是比较简单的,但是作为参考,还是很有必要将语音相关的知识做一个简要的记录。首先,在android中,支持录音支持两种方式。主要包括:字节流模式和文件流模式。用文件流模式进行录音操作比较简单,而且相对来说,因为其封装性比较好,录制下的文件也会比较小。但是相对于文件流模式,就没有字节流模式那么灵活,但是想要用好字节流模式还是需要下一点功夫的。下面开始介绍文件

2017-07-19 15:12:00 764

原创 java中堆和栈内存的区别

在java中,堆和栈都是内存中存放数据的地方。变量分成基本数据类型和引用类型,基本数据类型的变量(例如 int、long、byte、float、double、boolean、char)已经对象的引用变量,其内存都分配在栈上,变量出了作用域就会自动释放。而引用类型的变量,其内存分配在堆上或者常量池(例如字符串常量和基本数据类型常量)中,需要通过new等方式进行常见。栈内存栈内存主要用来存放基本数据类型

2017-05-29 14:38:54 812

原创 RSA密码系统

RSA是在Diffe-Hellman算法问世两年之后,由Rivest、Shamir和Adelman在MIT研究出的,并于1978年公布。RSA系统利用这样的事实:模运算中冥的自乘数是容易解的。RSA的加密方程为: C=memodn C= m^e mod n 这里,密文C是信息m自乘指数幂e并除以模数n后的余数。这可以由任何一个知道信息m、模数n和加密指数e的计算机迅速完成。另一方面,将这一

2017-05-04 12:01:35 8354

原创 Retrofit使用入门

Retrofit是Square开发的一个用于网络请求的开源库,内部封装了okhttp,并且和RxAndroid完美的兼容,使得Android的开发效率增加不少的同时也使代码变得清晰易读。本次的学习建立在上次okhttp学习的基础之上,service端的程序也是通过自己搭建并完成的。服务端的程序比较简单,本次的retrofit学习不对服务端的程序进行过多的讲解。如果有疑问,可以参考上次okhttp的

2017-04-30 19:48:18 765

原创 开始使用Sublime Text3啦

前段时间在还在想,有没有一个软件能让我更快的阅读代码,因为对于一个android项目来说,有时候我们并不需要运行,只需要查看项目的基本结构和代码的写法,但是如果用android studio来打开,因为依赖库和版本的问题,可能需要很久才能打开。直到我发现了这么一款软件sublime Text3 ,彻底解决了我的问题。下面开始介绍Sublime。 一句话介绍:Sublime Text 是一个轻量、

2017-04-30 11:16:36 2732

原创 OKHttp从入门到放弃(自己编写测试服务端)

OKHttp是一款高效的HTTP客户端,支持连接同一地址的链接共享同一个socket,通过连接池来减小响应延迟,还有透明的GZIP压缩,请求缓存等优势 。今天就记录以下使用Okhttp的心得和体会。首先先列出我的参考资料: * 慕课大神hyman视屏资料 * OkHttp官方github地址 * 官方教程2016版 * 诸葛小布博客 * 清屏网下面正式开始来入门。配置环境客户端配置下载最

2017-04-29 15:52:25 3747 5

原创 eclipse配置struts2最简单的方法

前期准备首先需要将eclipse的tomcat的环境配置好。这个过程应该是比较简单了,就不做记录了。如果tomcat环境没有配置好的话,可以参考博客 http://blog.csdn.net/yerenyuan_pku/article/details/51830104准备资源下载资源最好还是去官网看看吧 。 选择下载,如图: 选择要下载的版本: 还是推荐把完整的包全部下下来,对于新手来说,因

2017-04-27 21:29:31 1104

原创 为Recycler添加下拉刷新,上拉加载更多功能(简单实现)

当然,完全可以自己动手通过自定义view来实现下拉刷新的功能,但是具体实现起来还是比较麻烦的。如果有兴趣,可以参考慕课网上的相关视屏 传送门 但是目前我们有更加方便的方法来实现这样的功能,google已经为我们提供了一个上拉刷新与下拉加载更多的控件。 SwipeRefreshLayout。现在就通过这个控件为recyclerView添加上拉刷新与下载功能。 SwipeRefreshLayou

2017-04-12 19:11:48 659

原创 层次遍历二插树

题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印。/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/

2017-04-02 10:58:17 721

原创 java中的值传递和引用传递

方法调用是编程语言中非常重要的一个特性,在方法调用时,通常需要传递一些参数来完成特定功能。我们首先观察一个简单的例子:public class Test extends A { public static void main(String []args){ String str1 = "A"; StringBuffer str2 = new String

2017-03-30 14:42:53 568

原创 计算最长增长子序列(简单,暴力法)

#include<iostream>#include<vector> using namespace std;//计算最长增长子序列的长度 int getMaxLen(vector<int> data){ int len = data.size(); int dp[len+1]={1};//辅助数组 int maxLen = 0; for(int i=

2017-03-27 12:10:43 701

原创 求最大公共子序列的长度

求两个字符串的最大公共序列的长度,比较简单的思想就是利用动态规划的思想来实现。先直接贴代码://求两个字符串的最大公共子序列 int getMaxLength(string str1,string str2){ int len1 = str1.length(); int len2 = str2.length(); int dp[101][101]; for(int

2017-03-26 15:29:55 758

原创 c++结构体内存大小

假如给你下面的结构体,让你计算该结构体的大小是多少,你会得出怎么样的答案:#include<iostream>using namespace std;struct node1{ int a; char b; short c;};struct node2{ char b; int a; short c;};int main(){ co

2017-03-25 22:14:05 849

原创 java控制线程的执行顺序

在java多线程,不免会遇到我们需要控制线程执行顺序的情况。比较经典的情况就是生产者+消费者模式,只有当生产者被执行了,消费者才能被执行,否则就就可能陷入死锁。 首先介绍简单的实现消费者模式的方法:消费者-生产者Condition 将 Object 监视器方法(wait、notify 和 notifyAll)分解成截然不同的对象,以便通过将这些对象与任意 Lock 实现组合使用,为每个对象提供多个

2017-03-25 21:23:52 2252

原创 自定义EditText实现清除文本内容按钮

在使用EditText的时候,发现想要添加一个清除文本的按钮还是听麻烦的,于是诞生出想自定一个控件来实现这样的效果。 好了,先来看看实现的效果吧。通过效果图,我们可以看到我们的自定义EditText实现了以下的公呢个: * 当有内容输入的时候,右边会出现一个红色的删除图片。点击图片就会清除文本的内容; * 当文本框中没有内容的时候,右边的xx会消失; * 当我们输入不合法的数据时,文本

2017-03-11 20:23:26 1309

原创 查看android studio和apk文件签名

查看android studio签名的方法:1)打开cmd命令编辑:2)输入 cd .android3)输入 keytool -list -v -keystore debug.keystore获取应用签名的方法1)  将apk修改后缀为 .rar文件后解压;  2)  进入解压后的META-INF目录,该目录下会存在文件CERT.RSA  3)  在该目

2017-01-01 16:42:58 727

原创 TextView使用

今天再次学习了一下android中最常见的控件–TextView是使用与其属性方法。记录下来,以免忘记。 先看看使用TextView能实现些申明特殊的效果把: 图1 textView实现跑马灯效果 图2 TextView实现解析简单的html网页 图3 实现多个TextView的跑马灯和折叠TextView 常见属性设置省略了必要设置的宽和、高

2016-11-09 21:07:48 827

原创 Css基础语法

css基础语法css规则css规则主要由两部分构成:选择器,以及一条或者多条申明,每条申明后面后封号结尾。selector {declartation1;declartation2;...}选择器通常是改变样式的HTML元素,每条申明有一个属性和值组成,例如设置h1元素内的文字颜色为红色,同时将大小设置为14px,eg:其中的value可以用多种方式表达,例如红色可以用==red,#ff0000,#

2016-11-07 20:04:21 748

原创 利用ViewPager搭建程序主界面

很多手机软件都采用了Viewpager搭建主界面。今天我又写了一个viewPager的demo,废话不多说,先看效果。  哈哈,怎么样,虽然界面丑了点,但是效果还是不错的吧。让我们来实现这样的效果把。 这里使用的是三个Fragment来实现的,如果想使用Acivity来进行实现,只需要将Fragment的适配器换成ACtivity的,然后添加ACtivity的集合到适配器中就OK了。 首

2016-11-06 19:00:47 620

原创 利用浮动窗口提示用户操作

上次我们实现了利用viewpager实现对新用户的功能性介绍,今天我们来显示利用浮动窗口对用户进行操作的引导。先看效果图。  虽然界面比较丑,但是可以看到我们还是可以实现对用户进行比较好的操作提示,下面介绍怎么实现这种效果。集成环境这个项目中,我采用的是TourGuide开源项目,可以直接进入github地址进行学习与下载,这里我们只是简单的介绍怎么使用他来实现浮动界面的引导效果。首先是添

2016-11-05 20:34:19 1628

原创 利用Viewpager实现引导界面

利用viewPager实现应用的引导界面 不废话,先上效果图:   这里是随便从网上盗了几张引导界面的图,意思到了就行了。 引导界面,肯定是在用户第一次打开的时候显示,第二次打开程序就不需要显示了。这里比较简单,就直接上代码了:package students.startuitest;import android.content.Intent;import android.cont

2016-11-04 20:39:47 1122 2

原创 新建资源文件的一个坑

添加资源文件时要注意,添加:<?xml version="1.0" encoding="utf-8" ?> <resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">//添加加 item属性。。。</resources>如果不加的话,在给应用签名的时候就会抛出 Er

2016-11-03 10:15:16 398

原创 Gilde基础使用

Glide 是 Google 员工的开源项目, Google I/O 上被推荐使用,一个高效、开源、Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache 2.0协议发布。Glide具有获取、解码和展示视频剧照、图片、动画等功能,它还有灵活的API,这些API使开发者能够将Glide应用在几乎任何网络协议栈里。创建Glide的主要目的有两个,一个是实现平滑的图片列表滚动效果,另一个

2016-11-02 21:28:07 942

Okhttp示例代码

okhttp学习简单示例代码,附带后端server源码下载

2017-04-29

android 通知类学习

比较全面的通知类事发demo,通过这写demo可以很快了解并且上手android中各种通知的使用,如控制音乐播放的通知,带有进度条的通知等等。

2016-04-28

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

TA关注的人

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