我仍记得几年前刚开始进入 Android 开发这个广阔而又神秘的世界时,手足无措的样子。为了帮助像我这样的开发者,我整理了一份比较全的学习资料,对几乎所有开发者都有用,不管是初学者还是经验丰富的老油条。
关于如何缩短从手机桌面点击 APP 的那一刻起到启动页面的 Activity 调用 onCreate() 方法之间的时间。
史上最全 WebView 使用,附送 Html5Activity 一份
想让 App 有丝滑般的切换速度和顺畅的体验么?那就放开 Activity,使用 Fragment 来展示 UI 页面吧
有关于Activity作为dialog全屏显示,沉浸式状态栏及屏幕亮度问题的一次总结
作为一个 Android 开发者,肯定会遇到这样的一种情况,用户在玩着你开发的 app 时,突然有微信来消息了,切换到了微信,然后还在微信逗留看视频啊,聊天啊,刷朋友圈啊等等的,你所开发的 app 就出于后台了,这个时候就很容易出现手机内存不足,app 被内存回收干掉的情况了,等用户终于聊完天,刷完朋友圈,回来 app 的时候,就会进行 app 的自我恢复了,如果开发者处理不好,就会出现崩溃的情况了,而且肯定会出现返回的时候一瞬间白屏,然后再显示出来,这样的用户体验非常的不好。那我们应该怎样去解决这样的状况呢?扯了那么多,我们的文章就正式开始啦!
原文发表于: , 大家没事可以去逛逛 (ง •̀_•́)ง 前言 在平时的 App 开发中, 免不了会遇到需要开发者隐藏软键盘的情况, 比如当在多个输入框填入个人基本信息, 最后有个保存按钮, 点击即可将个人基本信…
学习Android最有效率的途径就是官方教程,而对于英文不太好的童鞋可以参考这篇中文版翻译教程
知识体系从2016年开始构建,所有的文章都是围绕着这个知识体系来写,目前共收入了100多篇原创文章,其中有一部分未收入的文章在我的新书《Android进阶之光》中。最重要的是,这个知识体系仍旧在成长中。
Dialog是APP开发中常用的控件,同Activity类似,拥有独立的Window窗口,但是Dialog跟Activity还是有一定区别的,最明显的就是:默认情况下Dialog不是全屏的,所以布局实现不如Activity舒服,比如顶部对齐,底部对齐、边距、宽度、高度等。如果将…
“我在发抖么?你开什么玩笑。我只是在跳愉快的尬舞。暗影是不会向邪恶势力低头的。 万岁~(≧▽≦)/~!!”-- 来自暗世界android工程师
一、前言 今天要打包新产品,突然忘了混淆的参数是怎么写的了,虽然之前也混淆过,可是具体配置的参数代码有些记不起来了,因此决定花点时间写篇博客记录一下,方便以后查找和自己的记忆。 二、Android Studio 代码混淆基本配置 在工程目录下,找到 proguard-rules…
很多文章将Binder框架定义了四个角色:Server,Client,ServiceManager、以及Binder驱动,但这容易将人引导到歧途:好像所有的Binder服务都需要去ServiceManager去注册才能使用,其实不是这样。例如,平时APP开发通过bindServ…
前言 由于H5具备 开发周期短、灵活性好 的特点,所以现在 Android App大多嵌入了 Android Webview 组件进行 Hybrid 开发 但我知道你一定在烦恼 Android Webview 的性能问题,特别突出的是:加载速度慢 & 消耗流量 今天,我将针对 …
最近项目有进程间通信的需求,我使用的是IPC通信的方式,这是Android中很传统的一种进程间通信的方式,在这里分享给大家。 进程间通信意义 我们为什么要使用进程间通信。我说一个场景,比如我们有两个App,其中一个App(名字为A),有授权登陆,我们还有一个App(名字为B)可…
前言 相信做过Android的朋友都知道,当一个APP启动时,界面会首先展示一个白屏或者黑屏,然后再进入欢迎页,稍作停留最后进入APP主页。那么这个黑屏或者白屏到底是怎么一回事呢?它的最好的解决方案应该是怎样的呢?今天我们认真的讨论一下这个小问题。 点击获取本次项目的demo …
随着 Android6.0 的普及, 权限申请也变成了我们开发中必写的一段代码。比如 sd 卡权限、定位权限、拍照权限,这些几乎都是每个 app 必备的。而一般情况下我们都会在需要权限之前申请,然后各种判断。那既然是一些必备的是权限,我们为何不在我们一次打开 app 的时候就把这个全部都申请了呢?可是一下申请那么多权限对用户来说显然不是很友好,所以我们不妨在申请权限之前告诉一下用户,好让用户有个心理准备。于是借鉴了饿了么的权限申请界面,封装了一个库
对 fragment 操作封装的工具类
前言 现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图京东首页 那么这种该如何实现呢?其实这是Android里一个叫WebView的组件实现的。今天我将全面介绍WebView的常用用法。 目录 文章目录 1. 简介 …
ViewPager+Fragment 的搭配在日常开发中也比较常见, 可用于切换展示不同类别的页面, 我们日常所见的咨询、购物、金融、社交等类型的 APP 都有机会用到这种控件组合.
相信有很多朋友都有过在 Activity 中通过 getWidth() 之类的方法获取 View 的宽高值,可能在 onCreate() 生命周期方法中,也可能在 onResume() 生命周期方法中。然而,不幸的是,并不能获取所要的结果,宽高值均为 0。 如果对 View 的…
1 . 前言 前几天看到Google官方的博客介绍了Google开源的一个强大的布局-FlexboxLayout,看见第一眼我心里的想法是,卧槽,Android 居然有这么一个强大的布局。作为一个有好奇心的工程狮,当然第一时间就去试了试手,效果非常赞,因此这篇文章就介绍一下它的…
Service 对于广大的Android开发者来说算是耳熟能详了,作为Android的四大组件之一,在我们的开发中也起着重要的作用,在Android面试中,Service相关的问题也是面试官问得比较多的,当别人问你,Service 到底是什么的时候?你可能随口就能答得上来,Se…
前言 “条条大路通罗马。” 工作中,实现某个需求的方式往往不是唯一的,这些不同实现方式不仅表现在代码质量上,还影响着我们的工作效率。就像,在 Android 系统中,总有那么一些鲜为人知的 API 能够减少我们很多零碎的工作量。于是,就想凭着一些经验,整理一些常用的,找个地方归纳…
我又来掀桌子了(ノಠ益ಠ)ノ彡┻━┻,这次是MP3录制和显示声音波形的一个故事。 Demo :https://github.com/CarGuo/Rec... 先看看效果┑( ̄Д  ̄)┍ 2 1 MP3录制的逻辑过程就忽略了(真的不是因为懒(。・・)ノ),这里用的是开源…
IPCCommunication 是通过两种方式实现进程间通信,一种是手写 binder 实现进程间通信,互相传递使用 Bunder,可以在 Bunder 中自定义协议,另外一种是基于 Message,客户端与服务端之间使用 Message 进行通信;