- 博客(64)
- 资源 (8)
- 收藏
- 关注
原创 Android 各个版本适配及新功能
如果看下面的不舒服可以直接下载xmind格式文件查看Android各个版本适配及新功能.xmind下载Android 4.4 (API19)KITKAT沉浸式状态栏WebView webview调试功能WebView 增加对 https请求限制需要去验证https证书,或者设置忽略所有证书Android 5.0 (API 21)L沉浸式状态栏WebView中Http和Https混合问题WebView cookie 存储问题新增酷炫的转场动画Android 6.0 (API23)M在运
2020-08-19 20:32:22
1646
原创 Android Studio搭建flutter环境
flutter入门了解首先介绍一下flutter:flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面。当然 flutter也可以与原生混合开发,对现有代码并不会有什么影响。现在flutter正在被越来越多的开发者接受和使用,所以我们有必要对其进行了解和学习。flutter环境搭建那么就开始进入今天的正题首先我们先安装flutter和dart插件,...
2020-04-30 12:13:48
596
原创 自定义view之视频播放状态标识
kotlin学习今天写的东西比较简单,一个自定义view,主要是为了捡捡kotlin语法。废话不多说,先上效果这个效果通常在一些播放器上遇到,用来标识视频正在播放中。根据这个效果我们先明确一下我们需要做的:1.绘制三条竖线2.开启动画让它动起来3.自定义一些属性方便使用和扩展下面我会直接贴一下代码,代码并不复杂,但是我希望大家带着一些问题去看,比如为什么这里需要重写onMeasu...
2020-04-18 20:00:13
397
原创 ThreadLocal的使用及解析
为什么要了解ThreadLocal1.ThreadLocal简介2.ThreadLocal的使用3.进一步分析总结为什么要了解ThreadLocal提起这个东西好多android开发人员可能会感觉比较陌生,因为在平时的工作中好像根本用不到。好像的确是这个样子,但是作为一个android开发人员却依然很有必要去了解一下它,因为它离我们 并不远。我们Android系统...
2018-06-22 13:30:16
802
原创 android中app分享小程序卡片及跳转回app
随着小程序的日渐火热,许多app都做了相应的小程序端,与之而来的两端交互是必不可少的,前几天我们的分享到微信的样式也要求改成了小程序卡片样式的了。其实微信的官方文档还算比较详细,我这就结合自己踩的坑给大家分享一下。 首先app分享小程序卡片需要满足以下要求: 发起分享的App与小程序属于同一微信开放平台帐号。 支持分享小程序类型消息至会话,暂不支持分享至朋友圈。 若...
2018-06-20 11:30:49
10986
1
转载 Android通知栏微技巧,8.0系统中通知栏的适配
转载自:https://blog.youkuaiyun.com/guolin_blog/article/details/79854070大家好,今天我们继续来学习Android 8.0系统的适配。之前我们已经讲到了,Android 8.0系统最主要需要进行适配的地方有两处:应用图标和通知栏。在上一篇文章当中,我们学习了Android 8.0系统应用图标的适配,还没有看过这篇文章的朋友可以先去阅读
2018-04-17 10:36:22
409
原创 android自定义view实现一个钟表
先看效果图:自定义view大家肯定已经不陌生了,所以直接今天直接步入正题:如何利用canvas去绘制出一个钟表当然绘制之前我们必须进行测量(重写onMeasure),根据自己的规则去测量,这暂时是将控件限制为一个正方形。首先我们先把钟表分解,看它由哪几部分组成。如上图:钟表包括表盘(刻度)和表针还有文字构成。分清结构之后我们再明确canvas需要画什么,表盘的构成其实就是...
2017-12-21 17:05:49
2422
转载 Glide4使用说明
Glide 4概述刚才有说到,有些朋友觉得Glide 4相对于Glide 3改动非常大,其实不然。之所以大家会有这种错觉,是因为你将Glide 3的用法直接搬到Glide 4中去使用,结果IDE全面报错,然后大家可能就觉得Glide 4的用法完全变掉了。其实Glide 4相对于Glide 3的变动并不大,只是你还没有了解它的变动规则而已。一旦你掌握了Glide 4的变动规则之后,你会发现大
2017-12-19 10:52:13
9434
4
原创 初识kotlin实现一个类似烟花效果的自定义view
写这个自定义view的主要目的还是用来熟悉kotlin语法,本来想贴一下gif效果图,但是由于比较麻烦就算了,后面有时间的时候我再补上,感兴趣的可以直接看一下代码点击看源码
2017-09-26 18:13:11
491
原创 初识kotlin,实现一个简单的列表
开场小絮叨:kotlin被谷歌正式作为Android的一级开发语言已经好几个月了,一直想学习一下,一直没有时间(好吧,我承认是我懒)。最近买了本书啃,也算下定决心学习这门语言。学习新知识,首先你要知道它是什么它的历史和它的用途。它是针对Java平台的一种编程语言,在这我强调一下,kotlin并不是一门新的语言,它其实在11年就已经推出来了,只不过是在被谷歌认证为Android开发官方语言之
2017-09-20 16:16:43
1759
转载 Android 7.0需要注意的一些坑
1.安装时解析错误我们的App通常会有检查更新的功能。用户在收到提示更新并且下载完后,会自动打开安装页面让用户来去安装。这时就会出现安装错误的问题,这类的问题的可能性比较多。比如较低版本的App想要覆盖已有的较高版本App会提示安装未完成,或是签名不一致导致的。不过7.0上常见的有以下两种情况。1.应用间共享文件在targetSdkVersion大于等于的24的App中,但是我们没有去
2017-08-28 10:08:03
5844
原创 Couldn't save uncommitted changes. Tried to save uncommitted changes in stash before Update...
今天在从远程库拉代码的时候失败了,android studio弹出了错误提示。错误日志如下图:还能怎么办,我也很绝望啊,百度了半天还是没有找到解决办法。于是,我又回头仔细看了看报错信息,哎,突然发现这/.git/index.lock': File exists. Cannot save the current index state。是不是这个index.lock文件搞的鬼,于
2017-08-07 18:24:12
20948
3
转载 一文彻底搞懂 Design 设计的 CoordinatorLayout 和 AppbarLayout 联动,让 Design 设计更简单~
转载自:http://www.jianshu.com/p/640f4ef05fb2一、写在前面其实博主在之前已经对 Design 包的各个控件都做了博文说明,无奈个人觉得理解不够深入,所以有了这篇更加深入的介绍,希望各位看官拍砖~二、从是什么开始1、首先我们得知道 CoordinatorLayout 是什么玩意儿,到底有什么用,我们不妨看看官方文档的描述: Coor
2017-08-03 10:05:46
683
转载 Android中自定义switch控件样式
switch控件是有自带的开关样式的,需要使用自定义的话需要在xml文件中设置以下属性:android:thumb="@null"android:track="@null"然后设置background属性为自己定义的selector,如下:android:background="@drawable/switch_plan_notice_selector"selector资源文件如下:
2017-08-01 18:00:34
1541
转载 Android Studio Live Templates使用详解,提高敲代码的速度
工欲善其事必先利其器转载自大力哥的博客,http://blog.youkuaiyun.com/qq137722697本篇将从 Live Templates简介,常用AS自带模板,自定义模板三个方面开展介绍,并且只介绍 Live Templates中Java代码方面的使用,其余感觉不是很常用,看完这篇之后你可以自己研究一下。(温馨提示,本文图片较多建议在电脑上阅读)一个好的程序猿应该
2017-07-19 10:27:33
965
原创 Android Studio 使用git时如何找回被冲掉的代码
在程序的协作开发中,使用git版本控制来管理代码是十分有必要的。只要我们熟练掌握了一些基础的操作,就可以大大提高我们团队开发的效率。今天主要是讲一下,我自己在日常中遇到的问题,分享给大家,希望可以帮到别人。作为一个android开发,android studio是必不可少的,而且它也提供了对git的支持,只要配置好git环境,你就可以开始团队合作了。身为一个程序猿,写代码是痛苦的,更痛苦的
2017-06-26 16:51:17
5400
转载 线程池你需要了解哪些
为什么用线程池创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率例如:记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3如果T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了!正好,线程池缓存线程,可用已有的闲置线程来执行新任务,避免了T1+T3带来的系统开销线程并发数量过多,抢占系统资源从而
2017-06-02 10:07:19
1254
转载 深入探讨Java中的异常与错误处理
本文出自Android开发中文站 » 深入探讨Java中的异常与错误处理Java中的异常处理机制已经比较成熟,我们的Java程序到处充满了异常的可能,如果对这些异常不做预先的处理,那么将来程序崩溃就无从调试,很难找到异常所在的位置。本文将探讨一下Java中异常与错误的处理方法,一起来看看。异常与错误:异常:在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和
2017-05-10 09:46:03
769
转载 android全屏/沉浸式状态栏下,各种键盘挡住输入框解决办法
在开发中,经常会遇到键盘挡住输入框的情况,比如登录界面或注册界面,弹出的软键盘把登录或注册按钮挡住了,用户必须把软键盘收起,才能点击相应按钮,这样的用户体验非常不好。像微信则直接把登录按钮做在输入框的上面,但有很多情况下,这经常满足不了需求。同时如果输入框特别多的情况下,点击输入时,当前输入框没被挡住,但是当前输入框下面的输入框却无法获取焦点,必须先把键盘收起,再去获取下面输入框焦点,这样用户体验
2017-05-09 09:51:21
1420
原创 如何去掉powered by ShareSDK字样
在使用share sdk的时候会默认带powered by ShareSDK字样,如果想去掉的话,很简单直接到drawable文件夹下,把相应文件删除即可。图片名称好像是ssdk_logo.png,可以先查看确定一下,再删除。
2017-04-18 17:46:38
1606
原创 新浪微博error:redirect_uri_mismatch
问题解决办法:这个提示是说回调地址没有设置,或者说您设置的回调地址与微博开放平台设置的回调地址不同;下面我们说明一下:在sharesdk.xml文件当中对于微博的设置: Id="1" SortId="2" AppKey="568898243" AppSecret="38a4f8204cc784f81f9f0da
2017-04-15 18:28:53
611
原创 根据源码解析xUtils 3.x数据库update操作
xUtils 的一些简单使用我就不重复了,对xutils不熟的同学可以直接到github看下简介xUtils 3.0官网原来我一直用的是xutils 2.0的数据库,操作是很简单,但是效率好像不是很高。而xUtils 3.0 的数据库,拥有更加灵活的ORM, 和greenDao一致的性能。在使用过程中,我也遇到了不少坑,不过大多数是因为自己对api不熟悉造成的。这两天在使用xUti
2017-04-15 18:23:18
1355
转载 Android中需要遵循的命名规范
/----------------------------前言--------------------------------/作为一个程序员,在日常的编码过程中我们必须需要遵循一定的命名规范。可能有的人会反驳,根本不用遵循什么规范,只要能完成功能的代码就是好代码。其实这种想法是很可笑的,我们在正式的开发环境下,往往不是一个人在开发,而且开发过程中可能经常需要进行重构。假如我们编码不遵循一定的
2017-03-14 10:09:59
535
转载 Android性能优化系列之内存优化
在Java中,内存的分配是由程序完成的,而内存的释放是由垃圾收集器(Garbage Collection,GC)完成的,程序员不需要通过调用函数来释放内存,但也随之带来了内存泄漏的可能,上篇博客,我介绍了 Android性能优化系列之布局优化,本篇博客,我将介绍内存优化的相关知识。内存的分配策略概述程序运行时的内存分配有三种策略,分别是静态的,栈式的,和堆式的,对应的,三种存储策略使用
2017-03-09 09:25:30
264
原创 java中常见的几种排序实现
package com.xiaoshuai.demo;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * 用于排序的工具类 * * @author xiaoshuai * */public class SortUtils { /** * 插入排序 算法时间复杂度
2017-03-08 11:21:46
2524
原创 浅析android中的依赖注入
这几年针对Android推出了不少View注入框架,例如ButterKnife。我们首先来了解一下使用这些框架有什么好处,其实好处很明显:它可以减少大量的findViewById以及setOnClickListener代码,简化了代码,让我们的代码看起来条理更清晰,可读性变强。 可能大多数对于这一类框架,都只是停留在用的阶段,但是作为一个程序员,我们有必要去了解它是如何实现的。其实它的
2017-02-08 15:59:22
8016
1
转载 重构代码的原则
1.什么是重构重构(Refactoring):在不改变软件的功能和外部可见性的情况下,为了改善软件的结构,提高清晰性、可扩展性和可重用性而对软件进行的改造,对代码内部的结构进行优化。2.为何重构 1)改进软件设计(整理代码)重构和设计是相辅相成的,它和设计彼此互补。有了重构,你仍然必须做预先的设计,但是不必是最优的设计,只需要一个合理的解决方案就够了,如果没有重构、程序设
2017-02-07 18:19:06
462
原创 非对称加密和对称加密的区别
在了解对称加密和非对称加密的区别之前我们先了解一下它们的定义:对称加密(Symmetric Cryptography),又称私钥加密对称加密是最快速、最简单的一种加密方式,加密(encryption)与解密(decryption)用的是同样的密钥(secret key),这种方法在密码学中叫做对称加密算法。对称加密有很多种算法,由于它效率很高,所以被广泛使用在很多加密协议的核心当中。对
2017-01-05 11:08:09
12375
3
原创 Gradle for Android
本篇文章是为了方便自己再查阅相关资料,顺便向大家推荐这个系列的文章,我看了一遍,讲解的确实不错。Gradle for Android 第一篇( 从 Gradle 和 AS 开始 )Gradle for Android 第二篇( Build.gradle入门 )Gradle for Android 第三篇( 依赖管理 )Gradle for Android 第四篇( 构建变体
2017-01-04 11:46:46
314
转载 Android 代码混淆总结
代码混淆是作为android开发中必不可少的一环,虽然现在出现了一些三方的加固方案来提高我们应用的安全性,但是作为一个android开发人员我们也有必要了解如何去做代码混淆。/-------------------------------------------转载分割线----------------------------------------------/简介
2016-12-28 16:17:24
564
原创 android增量更新中增量文件的生成和合并
今天研究了一下增量更新方面的技术,对于这方面的技术网上的博客也比较多,我也是初步学习,就不班门弄斧了。对增量更新有些了解的,都知道增量更新的关键其实就是差分包(增量文件)的生成与合并。当然差分文件一般都是需要放在服务器上的,我们客户端关心的只是如何合并,而在项目中合并这个过程是需要用到jni方面的知识。其实今天我只是想记录一下如何用工具类生成增量文件和合并,以便帮助大家在了解增量更新技术的时候可以
2016-12-20 17:43:07
912
原创 android中自定义view需要了解哪些内容
一、前言这篇文章主要是对自己看过的自定义view的一些知识进行一些汇总,不会对一些api的细节进行讲解,所以篇幅不会太长,主要是帮助大家对自定义view进行了解,以及学习自定义view需要从哪些地方入手。二、预备1.为什么要自定义view1)现有的view满足不了我们的需求,界面的一些元素需要我们自己去绘制。2)现有的view可以满足我们的需求,自定义view只是为了抽象,
2016-11-23 15:14:43
384
原创 WebView加载网页不显示图片解决办法
对于大家来讲WebView肯定很熟悉,因为我们在日常开发中经常用到它。所以对于它的一些基本用法我就不在这啰嗦了,直接进入正题。我遇到的问题就是在使用WebView加载网页的时候图片不显示(我手机系统是5.1.1),当时出现这个问题我就想当然的以为,是不是给WebView少设置的什么东西。然后百度一下: mWebview.getSettings().setJavaScrip
2016-10-17 12:41:26
38225
2
转载 Android各个版本代号及其特性
本文章是转载自一片枫叶的专栏- Android1.1 2008 年9月发布的Android第一版- Android1.5 Cupcake (纸杯蛋糕) 2009年4月30日,官方1.5版本(Cupcake 纸杯蛋糕)的Android发布。 主要的更新如下: 1、拍摄/播放影片,并支持上传到Youtube 2、支持立体声蓝牙耳机,同时改善自动配对性能 3、最新
2016-08-25 18:00:35
937
转载 android中MVC,MVP和MVVM三种模式详解析
我们都知道,android本身就采用了MVC模式,model层数据源层我们就不说了,至于view层即通过xml来体现,而 controller层的角色一般是由activity来担当的。虽然我们项目用到了MVP模式,但是现在人们并没有总结出一种规范,所以MVP模式的写法并不统一,而至于MVVM模式看网上的呼声似乎也是赞同和拍砖的参半,所以对于这几种模式我也不发表意见了,适合自己的才是最好的。下面是我
2016-08-11 11:36:23
2540
原创 Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy...
这个错误是我用我自己的电脑打开从github上下载的项目的时候遇到的,我想大家在从github上下载东西的时候用自己的android studio打开的时候也经常遇到一些莫名其妙的错误吧。不过这个错误是比较常见的,那么这个错误是由于什么原因造成的呢:简单翻译一下这个错误提示,好像是连接超时还和网络代理有关,需要我们设置网络代理。那我们简单分析一下,是不是android studio在下载什么东西的
2016-08-02 22:20:37
5717
原创 Android属性动画从使用到深入理解
对于今天要讲的内容我打算借花献佛,不自己去写了,而是向大家推荐几篇关于属性动画的文章。不过在分享之前,我们还是先大致的了解一下android中的动画。动画对于我们来说并不陌生,因为作为开发人员,为了让用户在使用我们开发的app时有更好的体验,我们通常会加一些动画去进行渲染一些酷炫的效果,或者是增加一些趣味性。 学习动画,我们对于一些基础的概念还是必须要记住的。在android 3
2016-08-02 12:33:16
545
原创 微信支付及支付宝支付开发指南
从开始学习android开始到现在还没搞过三方支付,感觉挺遗憾的。看到最近有几篇关于微信支付和支付宝支付的文章,稍微进行一下整合,供大家参考。---------------------------------------------微信支付----------------------------------------------1.申请开发者资质地址:https:
2016-07-19 13:59:10
11219
原创 SnackBar使用详解
可能不少同学都没听过这个控件,不过这个控件出来已经不短的时间了。下面我简单介绍一下:SnackBar是 Android Support Library 22.2.0 里面新增提供的一个控件,我们可以简单的把它理解成一个加强版的Toast,或者是一个轻量级的Dialog。我们在使用时,只需要在添加依赖库就可以,需要注意的就是 保持版本一致,要不会出现一些问题。depend
2016-07-14 12:37:47
18591
Android 版本适配及新功能.xmind
2020-08-19
Android中仿QQ空间滑动界面标题栏颜色渐变
2016-08-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人