【安卓进阶】LiveData】的更多相关文章

目录 安卓进阶之自定义View 自定义View的工作流程和内容 工作流程 测量阶段和布局阶段的工作内容 View 和 ViewGroup 在测量阶段和布局阶段的区别 绘制阶段的工作内容 上手:实现继承View的自定义View 上手:自定义ViewGroup 补充: 绘制内容的关键点 安卓进阶之自定义View 自定义View,可以分为具体的三大类: 自定义View(继承系统控件/继承View) 自定义Viewgroup(继承系统特定的Viewgroup/继承ViewGround) 自定义组合控件…
最近参与到后端的工作中,虽然以前在工作中使用过PHP,但是这次使用的是Java,开发思路和方式有所不同.后端开发中,做接口也是需要处理大量的业务逻辑关系,同时一些事务之类的技术因素也要考虑好,在架设项目的时候就已经考虑好手动控制事务,Dao与Service层的方法都有Connection对象传入,用作事务控制.数据库连接池也是很重要,不然每次重新获取数据库连接对象也是一个耗时操作,数据库连接池使用c3p0. LiveData简介 LiveData是Jetpack的Architecture部分的一…
在安卓项目开发中,大多时候总是有测试环境.生产环境之类的区别,在不使用Product Flavor时,我们一般都是通过手工改动代码来实现测试环境.生产环境的切换. 这样就造成了项目管理上的不便,频繁的手工在测试.生产代码中注释相关代码来切换环境,效率低下不说,而且从工程角度来说是不专业的. Product Flavor Product Flavor的出现解决了我们切换环境的问题,而且还拥有更加强大的功能,下面先了解一下最基本的使用方法,例如想建立一份测试环境.生产环境的构建变体. 在模块的bui…
项目中有个需求,就是在RecyclerView的item中进行侧滑,一开始同事推荐了一个开源库,使用起来确实也方便好用,直接在布局作为父布局即可实现侧滑. 自己也非常好奇这个开源库到底用了什么API能实现这种效果,于是慢慢开始了源码的阅读. Scroller: 这个类是原生提供的滚动辅助工具类,使用它可以根据开始位置和结束位置计算出当前应该滚动到的坐标. 需要注意的是:Scroller并不会帮你设置View的滚动位置,它只负责计算当前应该滚动到的位置,所以你需要手动View的滚动位置. 下面是部…
我们知道安卓中的UI线程不是线程安全的,我们不能在UI线程中进行耗时操作,通常我们的做法是开启一个子线程在子线程中处理耗时操作,但是安卓规定不允许在子线程中进行UI的更新操作,通常我们会通过Handler机制来完成该功能,即当子线程中耗时操作完成后,在子线程中通过Handler向主线程发送消息,在主线程中的Handler的handleMessage方法中处理接受到的消息.这就是安卓中的消息机制,安卓中的消息机制主要是指Handler的运行机制,但是Handler的运行需要底层的MessageQu…
Android开发工作者工作不久的时候,会有一段迷茫期,觉得自己应该再学一点,却不知道从何学起,该怎样规划自己的学习路线呢?今天,我给大家梳理一下Android基础,就像建造房屋一样,要建造一座宏伟的建筑,首先得打牢根基.同样的,作为Android 开发者,要想走的更远,也要学好Android基础. 一. Android 四大组件 Android四大组件是Android的根本,从我们学习Android 时候,就先认识了它们:   工作不久的安卓开发者,他们是这样规划自己的Android学习路线…
如果想自学android,有许多不错的android网站.这里收集了一些,列举如下: 国内 极客学院,这里有非常丰富的视频教程. http://www.jikexueyuan.com/course/android/ 安卓巴士,有许多的视频教程 http://www.apkbus.com/ 网易云课堂(android开发视频教程) http://study.163.com/course/introduction/207001.htm CSDN博客精选(Android开发) http://www.c…
<疯狂java讲义·第三版>,全书共851页,18章. 目录如下: 第1章 Java语言概述与开发环境 第2章 理解面向对象 第3章 数据类型和运算符 第4章 流程控制与数组 第5章 面向对象(上) 第6章 面向对象(下) 第7章 Java基础类库 第8章 Java集合 第9章 泛型 第10章 异常处理 第11章 AWT编程 第12章 Swing编程 第13章 MySQL数据库与JDBC编程 第14章 Annotation(注释) 第15章 输入/输出 第16章 多线程 第17章 网络编程 第…
所谓系统程序就是system/app目录中的程序,普通应用转换成系统程序后有稳定.减少内存(DATA)空间占用.恢复出厂设置后不会消失.修改系统时间.调用隐藏方法.系统关机重启.静默安装升级卸载应用等等等等优点,想知道怎么操作?接下来我们介绍三种方法. 第一种:使用ADB命令将app安装在system/app目录下 参考:android 将自己的应用改为系统应用 这种方法的原理就是: 1.把apk文件移动到system/app目录,2..so文件移动到system/lib目录.3.修改相应的权限…
篇4                 安卓app自动化测试-Appium API进阶 --lamecho辣么丑 1.1概要 大家好! 我是lamecho(辣么丑),今天是<安卓app自动化测试>的第四篇,可以说是使用appium的进阶,本篇不去纠结如何去找界面元素(不明白的同学移步到我的上一篇学习)而是主要根据手机app的特性,介绍有关的操作方法,比如如何锁屏如何在锁屏后点亮屏幕并做手势解锁等等类似的操作实现. 1.2 appium玩转安卓手机 智能手机发展到今天,形成了一整套有关手势操作的操…
安卓自定义View进阶-Canvas之画布操作 转载 https://www.gcssloop.com/customview/Canvas_Convert 本来想把画布操作放到后面部分的,但是发现很多图形绘制都离不开画布操作,于是先讲解一下画布的基本操作方法. 一.Canvas的常用操作速查表 操作类型 相关API 备注 绘制颜色 drawColor, drawRGB, drawARGB 使用单一颜色填充整个画布 绘制基本形状 drawPoint, drawPoints, drawLine, d…
Manymo: 在线安卓系统模拟器工具是一款启动速度快,且在浏览器中就能运行流畅.你可以使用它来测试你的安卓应用,他最多能支持42种屏幕尺寸和系统版本. 长久以来,Android开发者面临的困境之一就是他们的移动应用必须支持一系列不同的设备,并且每一款设备都有各自不同的屏幕尺寸和分辨率.他们可以使用仿真器来完成这一工作,而不必真正拥有各种Android设备.与以往种种仿真器不同的是,现在的仿真器可以在浏览器中实现了:Manymo提供42种不同的在线仿真器来模拟不同设备的屏幕尺寸.显示分辨率和An…
PS: sendAuthRequest拿到code,通过code拿到access_token和openId,access_token可以拿到用户的信息 http://blog.csdn.net/haovip123/article/details/50503176 需求:接入微信支付,需要获取 OpenID. 安卓接入微信指南:https://open.weixin.qq.com/cgi-bin/showdocument?action=dir_list&t=resource/res_list&…
前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github.com/l2999019/DemoApp 可以Star一下,随意 - - 说点什么.. 嗯,前面讲了那么多,是时候生成一个APK在真机上玩玩了. 今天的学习内容? 也只讲一个,如何打包生成安卓可安装的APK并精简大小. 正文 我记得,之前在写安卓方面的文章的时候,有人就问过我.Xamarin.Android为什么打包出来这么大?随便一个HelloWord就20-30MB? 嗯..今天我们就来解决…
版权声明:本人全部文章均採用 [知识共享 署名-非商业性使用-禁止演绎 4.0 国际 许可协议] 转载前请保证理解此协议,原文出处 :http://www.gcssloop.com/#blog https://blog.csdn.net/u013831257/article/details/50784565 Path之基本操作 作者微博: @GcsSloop [本系列相关文章] 在上一篇Canvas之图片文字中我们了解了怎样使用Canvas中绘制图片文字.结合前几篇文章,Canvas的基本操作已…
Canvas之绘制基本形状 作者微博: @GcsSloop [本系列相关文章] 在上一篇自己定义View分类与流程中我们了解自己定义View相关的基本知识,只是,这些东西依然还是理论,并不能拿来(zhuang)用(B), 这一次我们就了解一些能(zhaung)用(B)的东西. 在本篇文章中,我们先了解Canvas的基本用法,最后用一个小演示样例来结束本次教程. 一.Canvas简单介绍 Canvas我们能够称之为画布,能够在上面绘制各种东西,是安卓平台2D图形绘制的基础,非常强大. **一般来说…
昨天因为有点事情,没有及时发表博客,昨天学习了LiveData和DataBinding,LiveData属于jetpack中的框架里面的,DataBinding可以进行数据绑定. 我分别利用这两部分知识做了一个实例,可以进行对比一下. LiveData: java/MainAcitivity: package com.example.livedatetest; import android.arch.lifecycle.Observer; import android.arch.lifecycl…
今天是2021年的最后一天了,多分享一些干货吧!看过上一章节教程后会有同学疑惑,我也一步一个脚印的,跟着流程走也设置了代理以及安装了证书,有的同学会发现 为什么手机不能够连接网络了呢?细心一点的同学会发现抓包抓的全部都是http协议的请求,没有一个https协议请求呢?然而有的同学却能够进行正常的抓取app得包呢? 从最最最基本得开始吧, HTTP 协议发展至今,已经有二十多年的历史,整个发展的趋势主要是两个方向:效率 & 安全. • 效率方面,从 HTTP1.0 的一次请求一个连接,到 HTT…
1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求. Fiddler能截获 Android 和 Windows Phone 等设备发出的 HTTP/HTTPS 请求. 今天宏哥讲解和分享Fiddler 如何截获安卓移动端发出的 HTTP/HTTPS 请求. 2.环境准备 Fiddler 如果想要实现手机抓包,需要先满足下面 3 个条件: (1)电脑上安装有 Fiddler 抓包工具. (2)安装有 Fiddler 的电脑必…
大致分为以下几个方面: 一些查询指令整理 使用SQL语句进行特殊查询 检测表字段是否存在 数据库升级 数据库表字段赋初始值 一.查询指令整理 1.链式执行的指令 return mDaoSession.getUserDao().queryBuilder(). XXX. XXX. XXX. list(); 一般的查询语句会在中间xxx的位置加上各种判断和过滤的方法指令,除了最后的终结指令list()或unique()返回的是集合或业务对象,其他的都是返回QueryBuilder对象,大多数情况下XX…
大致分为以下几个方面: 一些查询指令整理 使用SQL语句进行特殊查询 检测表字段是否存在 数据库升级 数据库表字段赋初始值 一.查询指令整理 1.链式执行的指令 return mDaoSession.getUserDao().queryBuilder(). XXX. XXX. XXX. list(); 一般的查询语句会在中间xxx的位置加上各种判断和过滤的方法指令,除了最后的终结指令list()或unique()返回的是集合或业务对象,其他的都是返回QueryBuilder对象,大多数情况下XX…
本文转载自:http://quantoubao.blog.163.com/blog/static/2083211702013870501987/ 安装Android SDK安卓模拟器的方法很简单,网上大把,傻瓜式的.不过对其root的方法,网上的版本就不那么好使了.网上的方法从方向性来说是没错的,就是细节没给讲清楚,或者讲错,或者没提到这样root方式对高低不同版本API的区别,导致不少人跟着所谓教程去做都root失败. 我这里以Android4.0.4(API15)为蓝本讲讲适合高版API的A…
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! 问1:请问大牛对功能和框架的认识有哪些?(提问者:执笔记忆的空白) 比如对于一个小公司来说,什么样的框架最适用,您经历过的小.中.大公司对于框架是如何处理的?自己封装框架?还是什么选择市面上流行的框架? 另外,对于一个团队,您觉得什么最重要?对于一个leader,怎样管理好自己的team. 答1: 你好,大牛这个称呼,一直都是给予别人的,我在坚持的事就是把复杂的东西,简单化的介绍给大家. 对于框架…
本文来自:http://blog.csdn.net/ouyang_peng/article/details/11358405 今天看到一篇文章,收藏了很多大牛的博客,在这里分享一下 谦虚的天下 柳志超博客 Android中文Wiki AndroidStudio-NDK开发-移动开发团队谦虚的天下 - 博客园gundumw100博客 - android进阶分类文章列表 - ITeye技术网站CSDN博文精选:Android系列开发博客资源汇总 - CSDN.NET - CSDN资讯Android笔…
Android开发者博客推荐 Android入门级 - 罗宪明 http://blog.csdn.net/wdaming1986 Android入门级 - 魏祝林 http://blog.csdn.net/Android_Tutor Android入门+进阶 张国威 没错吧? http://blog.csdn.net/hellogv Android学习指南,文章没填满空,帖子编辑的很好推荐 http://android.yaohuiji.com/about JNI Android 多媒体 Jav…
<Android进阶>之第一篇 在Java中调用C库函数 这一篇列举的方法是在NDK没有出来时候用的方式 在Android发布NDK之后,可以这样使用 一.首先下载android-ndk   下载后把压缩包解压出来,例如:D:\android-ndk-r10e,目录下的ndk-build.cmd就是用来编译的批处理命令. 为了编译方便,推荐添加环境变量 Path目录下添加D:\android-ndk-r10e; 以NDK自带的例子\samples\hello-jni为例 将例子导入安卓工程:…
上一次和大家介绍了手机端https抓包的初级篇,即在手机未root或者未越狱的情况下如何抓取https流量,但是当时分析应用时会发现,好多应用的https的流量还是无法抓取到,这是为什么呢? 主要原因还是客户端在实现https请求时对于证书的校验上,如果仅仅校验是否有证书但是未严格校验证书的有效性时,就可以通过手机客户端安装抓包工具的证书来绕过签名校验,但是如果客户端做了严格的证书校验,如果不是受信任证书则无法正常进行https通信,遇到这种情况我们该如何抓取https流量来进行业务分析呢? 接…
前面两篇博客,把View绘制的方法说了一下,但是,我们只在onDraw里面做文章,控件都是直接传入一个Context,还不能在布局文件里使用自定义View.这一篇博客,就不再讲绘制,在我们原先的基础上,真正实现一个可用的View. 工具类:ViewHelper(View处理常用方法封装) 安卓自定义控件(一)Canvas.Paint.Shader.Xfermode 安卓自定义控件(二)BitmapShader.ShapeDrawable.Shape 安卓自定义控件(三)实现自定义View 方案:…
关于自定义控件,之前就写过一篇自定义控件,上图下字的Button,图片任意指定大小,但是使用效果还是让人感觉不幸福,这次索性彻彻底底地对自定义控件做一次彻彻底底的总结. 我会花4篇博客来介绍自定义控件,由潜入深慢慢学: 工具类:ViewHelper(View处理常用方法封装) 安卓自定义控件(一)Canvas.Paint.Shader.Xfermode 安卓自定义控件(二)BitmapShader.ShapeDrawable.Shape 安卓自定义控件(三)实现自定义View 4.onLayou…