如何成为一名全屏攻城狮? 啊哈,口误,应该是如何成为一名全栈攻城狮.
1. 结构 1. 没有花括号{} 2. 表达式以冒号:开头 3. 换行符分割语句 4. 以代码块的对齐方式来区分代码块 2. 变量 没有类型关键字,没有声明关键字,直接变量名= year = 2017 month = 9 day = 1 date = "2017年9月1日"' 4.
前言 收集常用的代码块,留存记录。此次代码块包含:唤起高德地图导航、唤起百度地图导航 代码 判断手机内安装的地图 /**判断是否安装目标应用*/ private boolean isInstallByread(String packageName) {...
我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。 博客搬家邀请码BTGEZ
前言 关于 splash 页面相信每个Android开发者都是非常熟悉的,而且很多人也遇到过需要在splash加个广告图片,然后延迟3秒在进入主页面,splash 应该只是一个启动页面,不应该放广告,但是那又能怎么样呢?又敌不过产品经理。
前言 这一篇是接着 AndroidStudio笔记(3)的,在上一篇中我们使用了 Live Templates的关键字来快速补全和生成代码,那有没有更近一步的骚操作?比如创建文件?答案是肯定的,那就是 File Templates。
前言 安卓开发者现如今主流的编译器就是 Android Studio (以下简称AS),而 AS 是基于 IDEA 而定制化开发的编译器。AS 为我们提供了大量能够减少编码量和编码效率的功能,本文着重讲解 AS 自带的 Live Templates 和自定义 Live Templates。
前言 Android Studio作为基于IDE的专业开发Android的开发工具,插件市场为我们提供了各种方便快捷、提高工作效率的插件,本文记录一些比较常用的插件。
前言 开发中会遇到这样的一个情况,我们得到一个dto对象,里面有几十个属性值,需要将这几十个属性值的N个通过VO传输另外一个地方,一般我们的做法是: 创建VO类,new vo() 对象,通过vo.set(dto.get)的方式不断的设置值。
前言 收集Android开发中常用的一些代码片段,留存记录 代码 禁止截屏 对安全性要求比较高的APP可以用得到 getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE) 禁止输入特殊字符 经历过 Tester 的无限摧残得出的结果,主要是使用正则表达式来完成校验。
前言 实现一个简单的滑动开发,效果图如下: switchView完整版本 分析 平分整个View为两份 平分VIew 测量字体的高度和宽度,确定左右View的文字的位置并进行绘制 确定字体的位置和绘制 绘制...
Service应用场景、与Thread的区别 Service是什么 Service是一个一种在后台长时间执行操作而有没有用户界面的应用组件。 Service与Thread的区别 Thread 最小的运行单元,可以用来执行耗时操作 Service 运行在主线程,不能做耗时操作 ANR 时间20s Service的两种启动方式 两种启动方式说明 启动 当应用组件(如 Activity)通过调用 startService() 启动服务时,服务即处于“启动”状态。
前言 本章主要用原生的方式实现一个菜单页面,主要用到的知识点为位移动画,我们可以先看看效果。 高斯模糊的菜单效果图.gif 分析 高斯模糊背景 我们的菜单背景是一个高斯模糊的背景,虽然看上去高大上,但是不要被吓到了,实现原理非常的简单:截取当前屏幕转换为bitmap,将bitmap进行高斯模糊,然后设置为菜单的背景。
前言 即日, Kotlin从入门到夺门而出系列正式开坑了,唯一希望的是我能够填完整个坑。 本篇为开坑篇,主要从以下几个方面出发,解答正在踌躇徘徊的人的疑惑,也是为了完整的引人入坑。
先看效果图。 登陆首页效果图 原理 为RootView增加监听事件,然后进行滚动 至于该滚动多少,这是需要自己慢慢进行计算。 xml 代码 /** * 1、大于屏幕整体高度的1/3:键盘显示 获取Scroll的窗体坐标 * 算出main需要滚动的高度,使scroll显示。
引言 CoordinatorLayout+CollapsingToolbarLayout+Behavior真是一个好东西,很多复杂的UI交互效果都可以通过Behavior来实现,用了Behavior之后腰也不疼了,再也不会对设计师说这个实现不了了,只要给我时间我就实现给你看!今天带来第一个自定义Behavior:实现一个伸缩的标题栏。
引言 作为一个开发者,最自豪的事情就是自己的努力得到了别人的赞赏。这一次就通过一个简短的系列:如何在最简短的时间内将自己的lib上传到中央仓库供其他人下载,并且增加中文源码注释。
Fragment为什么成为第五大组件 Fragment为什么成为第五大组件 四大组件:Activity、Service、Broadcast Receiver、Content Provider Fragment具有生命周期,使用广泛 Fragment加载...
Activity生命周期 什么是Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。 Activity的4种状态 名称 解释 running Activity处于前台,与用户...
转载至:https://github.com/futurice/android-best-practices 从Futurice公司Android开发者中学到的经验。
1. 什么是CoordinatorLayout CoordinatorLayout是Android官方在Design包提供的控件,来自官方的解释是: CoordinatorLayout is a super-powered FrameLayout 它主要用于两个方面: 当做普通的FrameLayout作为根布局使用 作为一个或者多个子View进行复杂交互的容器 CoordinatorLayout为我们提供了一个叫做Behavior的东西,我们基本上的复杂交互都是使用Behavior来协调完成。
引言 在平常的开发中,我们总会有各种各样的按钮,圆角的、直角的、正常状态的、按下状态的、禁用状态的。一直的做法就是在drawable中写一个selector,然后用item加shap来实现。
1. 前言 大多数情况下我们依赖第三方库都是直接在dependencies中直接引用,在引入少量且不是多个地方引用是没有问题的,但是一旦某一个开源库在多个地方引用,且每个地方引用的版本都不一致的时候,就只在是难以维护了。
打印日志 Java System.out.print("Amit Shekhar"); System.out.println("Amit Shekhar"); Kotlin print("Amit Shekhar") println("Ami...
1. 什么是AAR 关于aar文件,摘取官方的解释:AAR 文件的文件扩展名为 .aar,Maven 工件类型也应当是 aar。文件本身是一个包含以下强制性条目的 zip 文件: /AndroidManifest.
1. 前言 随着业务的复杂度加深,我们免不了要引入许多的第三方开源库,也不可避免的会出现依赖冲突的错误。最常见的是V7、V4包之间的冲突。 2. 如何定位依赖冲突 解决依赖冲突很简单,难得是如何去定位是引入的哪个库导致的依赖冲突。
前言 dependencies对于Android开发人员来说,并不陌生, 它是用来配置当项目的依赖项,接收的是一个DependencyHandler的闭包。
引言 作为一个Android开发人员,so对于我们来讲是极其常见的,各种大厂的SDK中都包含着各种各样的so,而so也是apk瘦身的重要一环,减少so平台的数量,可以极大限度的减少apk的大小。
前言 Gradle是使用Groovy语言构建,所以既然是语言,那么就有他的语法,而不是简单的配置项。关于Gradle有时间会出一系列的文章。 1. 自定义apk输出名称 (3.0) 本配置为Android studio3.0及以上的配置,3.0以下版本适用,下面的配置会将所有的Variants都输出。
更新系统软件 yum update 查找系统已安装的jdk组件 rpm -qa | grep -E '^open[jre|jdk]|j[re|dk]' 查看java版本 java -version 卸载以前已有的jdk yum remove java-1.
title: Centos升级Python 2.7.12并安装最新pip tags: 服务器,Python grammar_cjkRuby: true 1.
Gradle是使用Groovy语言构建,所以既然是语言,那么就有他的语法,而不是简单的配置项。 // 便利所有的Variants,all是迭代遍历操作符,相当于for applicationVariants.
使用场景 我们在使用百度地图和微信相关的API的时候,是需要我们填入相关的的app签名进行校验后才能进行操作,而默认我们在调试模式下使用的是AS为我们提供的android.keystore,所幸,Gradle为我们提供了相关的方法,我们可以为debug和release指定密钥文件和前面。
HorizontalLoopView 水平的无限滑动的选择View,绝不会OOM哦。先看截图 image 使用 像使用RecyclerView那样使用 setp1 repositories { .
(一) 开始 ViewPager实现一个层叠的卡片,先看看效果 层叠卡片 我将其用在了APP的引导页面上,这个效果虽然看上去很难,但实际上实现起来特别的简单,主要是使用PageTransformer来实现这个效果,推荐先看一下hongyang的前置教程:Android 自定义 ViewPager 打造千变万化的图片切换效果,请确保你已经掌握前置,原理里都写了,就不在累述.(主要还是因为太懒了) (二) 编码 1. 首先我们先创建一个Activity,配置好页面,就像以下效果。
需求 一份源码,修改API地址,包名,替换桌面图标和一些其他资源文件,生成不同的APK卖给不同的人。 PS 篇幅略长,但是绝对全是干货 解决方案 为解决这个问题,我经历了以下三个阶段: 1. 需要几份APK就copy几份源码进行修改。
卸载掉原有mysql 查看是否安装mysql rpm -qa | grep mysql // 是否已经安装了mysql数据库 卸载mysql yum remove mysql mysql-server mysql-lib...
前言 在之前的一个项目中,compileSdkVersion和targetSdkVersion都是使用的24,都是使用最新的,紧跟潮流嘛,一直是相安无事。
啰嗦废话 本篇为Android初级进阶之自定义果冻视图(BouncingJellyView)(一)的后续篇章。没有看过的赶紧去看看,顺便点个喜欢。 BouncingJellyView 果冻视图,就像果冻一样伸缩弹跳,也叫阻尼效果。
前言 一周一篇文章,果真是不太容易。顺便吐槽一下上周也就是9月5号的文章,几天之内就耗完了我1.4G的空间流量,吓得我都抽搐了。 这个次为大家带来的是一个完整的商品属性筛选与商品筛选。
前言 上一个周没有写博客,是我太懒,无法坚持。在上一个周,除去工作的任务(迭代版本,修复BUG)之外,我一直在模仿一个UI效果。我呢,算是一个米粉,我前面的博客,有一些效果就是来自MIUI。
效果图 image 前言 最近一直在学习自定义控件,发现自己依然是那么的渣渣。上面的UI效果来自这个网站,果然,交互设计的效果与实际做出来的效果还是相差很大啊。
前言 之所以会写着篇文章的原因是我现在项目用运用到了广告轮播(BannerView),当时在赶项目的时候在github上面找到了符合的开 源库 就直接引用了,但是该开源库稍微有点庞大,功能比较繁多。
SafeView 这是我模仿的一个效果,要不断的进步,就要不断的学习。主要实现的效果是一个转动的效果和一个3D触摸效果。请看效果图(录制的图片有点大): 效果图 知识点 1. Canvas 2. Paint 3. Shader 4. Camera(不是相机) 5. Animator 分析 整个View看上去是有四个圆组成,内中心的圆对边上有一个小圆,圆上面还有小尾巴。
先看效果图吧 image 原理 其实实现这样的效果是十分的简单的,继承ScrollView,监听onScrollChanged,根据滑动的距离,不断的layout需要悬浮的tab的位置。
什么是EventBus 先附上EventBus的git地址 EventBus,就按照名字翻译来说"事件总线",官方的说法是"EventBus is a publish/subscribe event bus optimized for Android."也就是"eventbus是Android发布/订阅事件总线"。
在上一篇Android初级进阶之自定义时钟(一)里面已经完成了时钟的静态绘制,是这个样子的: 现在我们要做的是在上面的基础上继续完善,达到以下的效果。
前言 在开发中我们会经常用到ViewPager这个类,比如引导页的啦,主页啦,等等之类的。 一般情况下,我在ViewPger中都是放的Framgnt,这样简单有方便,但是ViewPager却会默认的缓存当前页面的最近两个页面,于是问题就产生了,我们的需...
前言 一直以为仪表盘,时钟之类的非常的难,不敢去触摸这个领域。真正接触了才发现不过如此。 技术要点 1. cancvas 1. Cancvas.
shape ``` xml ``` rectangle 圆角矩形 图片 xml ```xml ``` 注 使用bottomLeftRadius等属性,可以做出不同的效果,如左两边圆角,右两边不圆角等。