android框架

Android Architecture Components--项目实战

荒凉一梦 提交于 2019-11-26 18:21:57
转载请注明出处,谢谢! 上个月 Google Android Architecture Components 1.0稳定版发布,抽工作间隙写了个demo,仅供参考 Github地址: https://github.com/AllenWen/android-iWeather 1、亮点 一是生命周期管理---Lifecycles,各类组件的引用与周期绑定,从而有效避免内存泄漏; 二是LiveData,数据流中的主角,作用类似于Rx的Observer; 三是推出全新数据库ORM框架---Room,当然也是生命周期安全的,修改即时生效; 四是一个叫Paging的库,用作分页处理,本项目没用到。 2、概述 看图知道,当然是一个MVVM框架了,Acitivity/Fragment 是View ,ViewModel充当VM,由本地数据库和网络数据组成的仓库(Repository)就是Model, Acitivity/Fragment可以实现 LifecycleOwner接口,注册 LifecycleObserver从而实现生命周期管理, LiveData充当单向数据流中的数据,与生命周期绑定 3、项目 借助一个免费天气api, 心知天气 ,写了个极简风格的天气应用,就不贴图了,详情见Github 转载于:https://www.cnblogs.com/AllenWen/p/8000592

张萌&韩墨羽——RecyclerView万能适配器

落花浮王杯 提交于 2019-11-26 17:51:02
RecyclerView万能适配器 效果如下 一、框架引入 先在项目的 build.gradle(Project:XXXX) 的 repositories 添加: allprojects { repositories { ... maven { url "https://jitpack.io" } } } 然后在Module的 build.gradle(Module:app) 的 dependencies 添加: dependencies { ...... compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.22' } 注意: 一旦出现加载失败的情况,只有两种情况: 一是:配置没配置好 配置没配置好,有几种情况: 只配置了 dependencies 配置 repositories,但是位置错了,build.gradle(Project:XXXX) 文件下的repositories有两个,一个是buildscript下面的,一个是allprojects下面的,要配置到allprojects下面才是对的。 版本号前面多一个v,这个是我的锅,在2.1.2版本之前都是带v的,之后(包含2.1.2)都不需要带v。 二是:网络原因 第一步:在布局文件中引入RecyclerView activity_main.xml <

头部姿态估计 - Android

荒凉一梦 提交于 2019-11-26 17:39:29
概括 通过Dlib获得当前人脸的特征点,然后通过旋转平移标准模型的特征点进行拟合,计算标准模型求得的特征点与Dlib获得的特征点之间的差,使用Ceres不断迭代优化,最终得到最佳的旋转和平移参数。 Android版本在原理上同C++版本: 头部姿态估计 - OpenCV/Dlib/Ceres 。 主要介绍在移植过程中遇到的问题。 使用环境 系统环境:Ubuntu 18.04 Java环境:JRE 1.8.0 使用语言:C++(clang), Java 编译工具:Android Studio 3.4.1 CMake 3.10.2 LLDB NDK 20.0 上述工具在Android Studio中SDK的管理工具里下载即可。 第三方工具 Dlib :用于获得人脸特征点 Ceres :用于进行非线性优化 源代码 https://github.com/Great-Keith/head-pose-estimation/tree/master/android/landmark-fitting 准备工作 第三方库的Android接口 Dlib 使用的GitHub上提供的现成接口:https://github.com/tzutalin/dlib-android 该项目还提供了具体的app样例:https://github.com/tzutalin/dlib-android-app/

Android 干货技术,欢迎收藏

风格不统一 提交于 2019-11-26 16:56:31
本文主要收集 Android 开发中常用的干货技术,此文不断更新中,欢迎收藏、投稿。 Android 四大组件与布局 1. Activity 使用详解 2. Service 使用详解 3. Broadcast 使用详解 4. ContentProvider 使用详解 5. 四大布局 使用详解 6. Resource 使用详解 Android 基本控件 View 1. Dialog 使用详解 2. ListView 使用详解 3. GridView 使用详解 4. Fragment 使用详解 5. PopWindow 使用详解 6. Notification 使用详解 7. TextView 使用详解 8. Button 使用详解 9. ImageView 使用详解 10. EditText 使用详解 Android 自定义控件View 1. 自定义仿 IPhone 开关控件 2. 自定义 仿 Settings itemClickView 3. 自定义 仿 Settings itemCheckView 4. 自定义 仿 SettingsItemToggleView 5.自定义 Button 选择器 6. 自定义EditText 样式 7.自定义 CheckBox 样式 Android 数据存储 1. Preference 使用详解 2. SharePerference 使用详解 3.

Android Q 来啦!

巧了我就是萌 提交于 2019-11-26 16:55:16
极力推荐Android 开发大总结文章:欢迎收藏 Android 开发技术文章大总结 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 1.Android Q 简介 2.Android Q 隐私保护 3.Android Q兼容折叠屏 4.Android Q 分享功能新样式 5.Android Q更新 设置功能 6.Android Q 更新Media 7.Android Q 优化神经网络API 1.2 8.Android Q 优化Android 基础功能 1.Android Q 简介 2019年,移动创新比以往任何时候都更加强大,从5G到边缘到边缘显示器甚至可折叠屏幕的新技术。 Android正处于这一创新周期的中心 ,并且由于数十亿设备的广泛合作伙伴生态系统,Android有助于突破硬件和软件的界限,为用户带来新的体验和功能。 随着移动生态系统的发展,Android专注于帮助用户利用最新的创新,同时确保用户的安全和隐私始终是首要任务。基于Google Play Protect和运行时权限等工作,Android Q为用户带来了许多额外的隐私和安全功能,以及可折叠的增强功能,用于连接的新API,新媒体编解码器和相机功能,NNAPI扩展,Vulkan 1.1支持,更快的应用启动等等。 今天我们正在为早期采用者发布Android Q的Beta 1

10 本 Android PDF 书籍免费分享

旧街凉风 提交于 2019-11-26 16:54:15
极力推荐文章:欢迎收藏 Android 干货分享 本篇文章主要分享以下 Android 开发 PDF 书籍 一、Android框架揭秘 二、Launcher应用开发 三、Android进阶之光 四、深入理解Android卷一 五、深入理解Android卷二 六、深入理解Android卷三 七、第一行代码 八、Android编程权威指南 九、Android开发艺术探索 十、Android内核剖析 一、Android框架揭秘 PDF书籍获取方法 关注微信公众号: 程序员Android ,回复 Android框架揭秘 ,即可免费获取。 PDF仅供参考,支持购买正版书籍,请点击下方京东链接,谢谢! 点击查看图书详细信息 二、Launcher应用开发 PDF书籍获取方法 关注微信公众号: 程序员Android ,回复 Launcher应用开发 ,即可免费获取。 PDF仅供参考,支持购买正版书籍,请点击下方京东链接,谢谢! 点击查看图书详细信息 三、Android进阶之光 PDF书籍获取方法 关注微信公众号: 程序员Android ,回复 Android进阶 ,即可免费获取。 PDF仅供参考,支持购买正版书籍,请点击下方京东链接,谢谢! 点击查看图书详细信息 四、深入理解Android卷一 PDF书籍获取方法 关注微信公众号: 程序员Android ,回复 深入理解Android卷一

SurfaceView播放器篇三

旧巷老猫 提交于 2019-11-26 16:54:06
实现功能: 1、下次进入,从上一次播放位置开始播放; 2、来电保存视频进度; 3、视频未看部分不能快进; 4、适应视频大小,防止播放画面变形; 5、播放与暂停按钮; 6、按home键、查看最新打开应用键,back返回键后,再次回到或打开播放页面,不报错,能正常播放。 解决问题: 1、避免MediaPlayer error(-38, 0),MediaPlayer error(-19, 0); 2、避免Mediaplayer setVideoSurfaceTexture failed: -22问题; 3、避免进入onError回调函数后,Mediaplayer的start(),pause()方面无效果; 4、Mediaplayer onCompletion后 再次start后 再调用pause无暂停效果,还是会继续播放。 解决思路: Mediaplayer和SurfaceView都重新new一个,一切重新开始。 实现代码: import android.content.SharedPreferences; import android.media.MediaPlayer; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.support.v7

Android Systrace 使用方法

∥☆過路亽.° 提交于 2019-11-26 16:49:15
极力推荐文章:欢迎收藏 Android 干货分享 Systrace 允许您在系统级别收集和检查设备上运行的所有进程的计时信息。 它将来自 Android 内核的数据(例如 CPU调度 程序,磁盘活动和应用程序线程)组合起来,以生成 HTML 报告。 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: Systrace 简介 Systrace 使用方法 使用命令行抓取 Systrace 使用Systrace 检测UI 性能 使用Systrace 检测警告以及掉帧问题 查看trace 文件的快捷键 代码中添加trace 标记具体分析问题所在 使用TraceView 分析trace Log 1.Systrace 简介 Systrace 允许您在系统级别收集和检查设备上运行的所有进程的计时信息。 它将来自 Android 内核的数据(例如 CPU调度 程序,磁盘活动和应用程序线程)组合起来,以生成HTML报告。 2.Systrace 使用方法 抓取Systrace 的方法 如果想分析 Android 系统或者 app 的问题,首先我们需要抓取 Systrace 文件分析并找出引起系统卡顿,或者 app反应慢 的原因,然后在源码上解决引起慢的问题。 抓取Systrace 的方法: 首先链接手机,打开 Android Device Monitor

Android App 卡顿分析

梦想的初衷 提交于 2019-11-26 16:49:07
极力推荐Android 开发大总结文章:欢迎收藏 程序员Android 力荐 ,Android 开发者需要的必备技能 Android App 反应卡顿,从技术上将就是UI 渲染慢。 UI渲染 是从您的应用程序生成一个框架并将其显示在屏幕上的行为。 为了确保用户与您的应用程序的交互顺利,您的应用程序应该在 16ms 内渲染帧数达到 每秒60帧(为什么60fps?) 。 如果您的应用程序因UI渲染速度缓慢而受到影响,那么系统将被迫跳过帧,用户将感觉到您的应用程序中出现卡顿。 我们把这个叫做 jank 。 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 1.UI 渲染简介 2.识别Jank 3.Fix Jank 4.引起Jank 通用问题举例 1.UI 渲染简介 为了帮助您提高应用程序质量, Android 会自动监视您的应用程序是否有空,并在 Android 生命危险仪表板中显示信息。 有关如何收集数据的信息,请参阅 Play Console 文档。 如果您的应用程序出现问题,本页提供诊断和解决问题的指导。 Android 生命危险仪表板和 Android 系统会跟踪使用 UI Toolkit 的应用程序的渲染时间统计信息(应用程序的用户可见部分是从 Canvas 或 View hierarchy 绘制的)。 如果您的应用程序不使用 UI

Android 如何优化APP内存

眉间皱痕 提交于 2019-11-26 16:46:48
极力推荐Android 开发大总结文章:欢迎收藏 程序员Android 力荐 ,Android 开发者需要的必备技能 随机存取存储器 (RAM) 在任何软件开发环境中都是非常有价值的资源,但对于物理内存经常受到限制的移动操作系统来说,它更有价值。 尽管 Android运行时(ART )和 Dalvik虚拟机 都执行常规垃圾收集,但这并不意味着您可以忽略应用程序分配和释放内存的时间和位置。 您仍然需要避免引入 内存泄漏 ,通常由静态成员变量中的对象引用引起,并在生命周期回调定义的适当时间释放任何引用对象。 本页面介绍了如何主动减少应用程序中的内存使用量。 有关Android操作系统如何管理内存的信息,请参阅 Android内存管理概述 本篇文章主要介绍 Android 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: 监视可用内存和内存使用情况 为响应事件释放内存 分析检查你的app需要用多少内存 使用内存优化框架 移除内存密集型资源,以及lib库 1. 监视可用内存和内存使用情况 在修复解决 APP 中的内存使用问题之前,首先需要找到它们。 Android Studio 中的内存分析器 Memory Profiler 可以帮助您通过以下方式查找和诊断内存问题: 1 . 看看你的应用程序随着时间的推移如何分配内存。 Memory Profiler 显示了一个实时图