随笔分类 -  Android 基本知识

摘要:此指南适用于那些曾经或现在进行Android应用的基础开发,并希望了解和学习编写Android程序的最佳实践和架构。通过学习来构建强大的生产级别的应用。 注意: 此指南默认你对Android开发有比较深的理解,熟知Android Framework。如果你还只是个Android开发新手,那么建议先学 阅读全文
posted @ 2017-05-23 19:41 番茄沙司 阅读(11966) 评论(3) 推荐(3)
摘要:ViewModel 像Activity,Fragment这类应用组件都有自己的生命周期并且是被Android的Framework所管理的。Framework可能会根据用户的一些操作和设备的状态对Activity或者Fragment进行销毁和重构。作为开发者,这些行为我们是无法干预的。 所以Activ 阅读全文
posted @ 2017-05-22 11:03 番茄沙司 阅读(13368) 评论(0) 推荐(1)
摘要:LiveData 是一个用于持有数据并支持数据可被监听(观察)。和传统的观察者模式中的被观察者不一样,LiveData是一个 组件,因此观察者可以指定某一个 给LiveData,并对数据进行监听。 如果观察者指定 处于 或者 状态,LiveData会将观察者视为活动状态,并通知其数据的变化。 我们看 阅读全文
posted @ 2017-05-22 09:11 番茄沙司 阅读(22170) 评论(0) 推荐(2)
摘要:Google 2017 I/O开发者大会于近日召开,在开发者大会上谷歌除了发布了Android O等一些新产品之外,也对Android代码的架构做出了一个官方的回应。 "Google 2017 I/O开发者大会Android架构组件介绍现场视频" 下面是官方提供的Android App开发的架构图: 阅读全文
posted @ 2017-05-22 09:10 番茄沙司 阅读(10254) 评论(0) 推荐(0)
摘要:概述 Android App的通知在维护你的App和用户之间的交互起着举足轻重的作用,为了提供更好的用户体验,Android N上的通知提供了可视化刷新,自定义视图和直接回复等功能。另外还提出了MessagingStyle和捆绑通知的概念。 一样的通知,不一样的外观 Android N上通知最直观的 阅读全文
posted @ 2016-09-26 09:32 番茄沙司 阅读(1010) 评论(0) 推荐(0)
摘要:Projects和Tasks 在gradle中,所有的事物都基于两个概念: projects 和 tasks 。 每一个gradle的构建系统都由一个或多以project组成。例如一个project可以表示一个jar包或者一个web app的构建。又或者是一个android应用的编译打包。 每一个p 阅读全文
posted @ 2016-08-09 13:52 番茄沙司 阅读(1101) 评论(0) 推荐(0)
摘要:首先下载和安装gradle可以参考 "官网下载地址" ,建议下载带有源码和文档的,以便后期查阅。 下载完以后打开终端输入 有如下信息输出,表示安装成功: 接着在你的工作目录下新建一个 文件,并键入如下内容: 接着在该目录下使用gradle命令即可输出如下信息: 如果不想看到多余的help信息,可以使 阅读全文
posted @ 2016-08-09 13:51 番茄沙司 阅读(536) 评论(0) 推荐(0)
摘要:写出gradle风格的groovy代码 我们先来看一段gradle中的代码: 我第一次看gradle代码的时候是懵逼的, 这是哪门子语言,这到底是类似xml的标记语言还是类似java的语言?我不懂。不懂没关系,学了就懂了嘛。 大家现在已经知道了gradle使用groovy写的,所以他是我前面说的类似 阅读全文
posted @ 2016-08-05 14:42 番茄沙司 阅读(2417) 评论(1) 推荐(1)
摘要:Closures(闭包) 本节主要讲groovy中的一个核心语法:closurs,也叫闭包。闭包在groovy中是一个处于代码上下文中的开放的,匿名代码块。它可以访问到其外部的变量或方法。 1. 句法 1.1 定义一个闭包 其中 内是可选的闭包参数,可省略。当闭包带有参数,就需要 来将参数和闭包体相 阅读全文
posted @ 2016-08-05 14:41 番茄沙司 阅读(14809) 评论(0) 推荐(1)
摘要:Groovy中的面向对象 前面说到groovy支持脚本和类,前面一节已将简单说了脚本和类之间的关系,这一节主要介绍一下groovy中类的相关知识,即面向对象相关知识。 1.类型 1.1 原始类型 groovy中支持的原始数据类型与java相同,分别是boolean,char,short,int,lo 阅读全文
posted @ 2016-08-05 14:40 番茄沙司 阅读(9562) 评论(0) 推荐(0)
摘要:包名 当你在groovy中定义类的时候需要指定包名,这和java中类似不多介绍。 导入 groovy中的导入也跟java类似,有一下五种: 默认导入 groovy默认导入了一下几个包和类: 普通导入 普通导入即全类名导入 包导入 这个也不用多说 静态导入 静态简称导入 静态简称导入在java中是没有 阅读全文
posted @ 2016-08-05 14:39 番茄沙司 阅读(11258) 评论(0) 推荐(1)
摘要:Groovy操作符 这一篇简单介绍一下Groovy中的操作符。 算数操作符 groovy支持java中的所有操作符,下面只列举一些groovy特有的: power运算符,也叫次方。 power的一元运算 类操作符 Safe navigation operator (安全导航符)用于避免空指针。当不确 阅读全文
posted @ 2016-08-05 14:37 番茄沙司 阅读(2668) 评论(0) 推荐(0)
摘要:Groovy基本句法 Gradle作为一个构建工具自然不会自己去创造一门语言来支撑自己,那么它用的是哪门子语言呢?什么语言能写成这样: 如此风骚的语法自然要归Groovy莫属了。 什么是Groovy 官方介绍如下: Apache Groovy is a powerful, optionally ty 阅读全文
posted @ 2016-08-05 14:35 番茄沙司 阅读(1382) 评论(0) 推荐(0)
摘要:什么是Gradle 在接触Android Studio之前,很多人像我一样都不知道Gradle为何物,即使是开始使用Android Studio了也很少去注意Gradle,只是觉得它是一个用于编译Android的配置文件。那么Gradle究竟是什么,到底是不是只是配置文件这么简单,我只想说我真的是‘ 阅读全文
posted @ 2016-08-05 14:34 番茄沙司 阅读(1045) 评论(0) 推荐(0)
摘要:由于最近繁忙的工作告一段落,要清闲一段时间,所以可以好好利用这段时间给自己充充电。 于是乎这个app就诞生了。本着开源的精神我把它放在了 "github" 上。这里如果有Android初学者的话不妨学习一下,通过这个App你大概可以学到: Android RecyclerView的使用方法 retr 阅读全文
posted @ 2016-05-19 16:04 番茄沙司 阅读(1116) 评论(0) 推荐(0)
摘要:还是接着上一讲“进击的RecyclerView入门二(来点小装饰?)”,在上一讲中我们学到了怎么给不同的Item定制不同的外观,但貌似那个蓝色的框实在太丑了,咱还是把它干了吧。 java ItemTouchHelper mIth = new ItemTouchHelper( new ItemTouc 阅读全文
posted @ 2016-05-13 16:04 番茄沙司 阅读(982) 评论(3) 推荐(2)
摘要:接着上一讲,我们看到我们的Demo可以正常的运行,并且能自动加载网络图片,那么为了后面观察的方便,我们取消这种自动加载的功能,使用两个按钮来代替,分别用来增加一个数据和减少一个数据。截图如下: 正在我自认为这样的布局已经很完美的时候,产品经理A走过来指着手机说,“这样的布局太单调,给我改炫酷屌炸天一 阅读全文
posted @ 2016-05-12 15:09 番茄沙司 阅读(914) 评论(4) 推荐(2)
摘要:虽然RecyclerView面世有一段时间了,但由于它的学习成本相对较高,很多码友只是粗略的认识了一下而没有细致的品味RecyclerView的真谛。 那么从现在开始我将带你装逼带你飞,一起领略Google工程师们赋予RecyclerView独特的魅力。 <! more 首先我们看一下官方文档是怎么 阅读全文
posted @ 2016-05-11 17:20 番茄沙司 阅读(783) 评论(0) 推荐(1)
摘要:在Android5.0往后的平台上,你想通过单纯的调用File.delete()或着ContentResolver.delete()来删除Sdcard上的文件会删除失败。前者提示没有权限,后者仅仅删除数据库文件对应的信息,但物理文件还存在,手机重启后MediaScanner会重新将其信息扫描进数据库 阅读全文
posted @ 2016-05-05 16:28 番茄沙司 阅读(3823) 评论(1) 推荐(2)
摘要:翻译与: "Intercepting everything with CoordinatorLayout Behaviors" 使用过 的小伙伴应该对 比较熟悉,它可以让它的子View产生一系列联动效应,如下效果图: 但这些究竟是怎么做到的?其实CoordinatorLayout本身并没有做太多的事 阅读全文
posted @ 2016-02-22 10:54 番茄沙司 阅读(1499) 评论(0) 推荐(0)