11 aqi00

尚未进行身份认证

我要认证

好好做技术,认真写博文

等级
TA的排名 2k+

Android开发笔记(一百七十三)给安装包APK文件瘦身

App不但要求功能完善,其他方面也得综合考虑,比如APK安装包的文件大小就是很重要的因素。具备同样功能的两个安装包,一个很大很占用空间,另一个较小不怎么占空间,用户的选择结果自然不言而喻。如何减少打包后的APK文件大小,也就是所谓的APK瘦身,这涉及到很多技术手段,最常用的主要有四块:去除冗余功能、精简无用资源、减少图片大小、过滤无用的so文件,分别介绍如下:一、去除冗余功能每当开发者创建新的Android项目,打开模块的AndroidManifest.xml,看到默认的application节点是

2020-09-07 22:22:34

【赠书活动】赠送清华社的《好好学Java:从零基础到项目实战》

零基础学习Java的朋友有福利啦,本博客现联合公众号“老欧说安卓”开展送书活动,下面就是本次活动要赠送的书籍封面书籍信息:作者:欧阳燊出版时间:2020年7月定价:128元版本:基于Java11和IDEA简介:全书共分为17章。其中第1~6章介绍Java的常见数据类型及开发,包括基本变量类型、数组类型、包装变量类型、字符串类型以及日期时间类型;第7~11章介绍面向对象的开发过程,包括面向对象的三要素(封装、继承、多态)、面向对象的扩展(嵌套、枚举、抽象、接口)、面向对象的应用(容器、泛型

2020-07-20 12:54:37

《好好学Java 从零基础到项目实战》姗姗而来

梦里寻她千百度,千呼万唤始出来。从决定开始写这本书,到最终出版上市,数数已经是第三个夏天了。今年疫情有点紧,各行各业都受到影响,多亏出版社各位老师东奔西走,总算排除了万般艰难险阻,这才有了《好好学Java 从零基础到项目实战》的顺利上市。又是一本600页的编程书籍,拿在手中沉甸甸的,感觉两年的辛劳和等待终于没有白费。感谢这个伟大的时代给人激情澎湃,感谢清华社的老师在芸芸众生中发掘人才,让程序员也有机会成为技术作家,感谢我的家人始终如一的支持和关怀,使我能够集中精力写完本书。先来看看《好好学Java 从零基

2020-07-03 13:17:31

Android开发笔记(一百七十二)第二代翻页视图ViewPager2

正如RecyclerView横空出世取代ListView和GridView那样,Android也推出了二代翻页视图ViewPager2,打算替换原来的翻页视图ViewPager。与ViewPager相比,ViewPager2支持更丰富的界面特效,包括但不限于下列几点:1、不但支持水平方向翻页,还支持垂直方向翻页;2、支持RecyclerView.Adapter,允许调用适配器对象的notifyItem***方法,从而动态刷新某项视图;3、除了当前页,也支持展示左右两页的部分区域;4、支持在翻页过程中

2020-06-23 22:44:24

Android开发笔记(一百七十一)使用Glide加载网络图片

如何方便而又快速地显示网络图片,一直是安卓网络编程的热门课题,前些年图片缓存框架Picasso、Fresco等等大行其道,以至于谷歌按捺不住也开发了自己的Glide开源库。由于Android本身就是谷歌开发的,Glide与Android系出同门,因此Glide成为事实上的官方推荐图片缓存框架。不过Glide并未集成到Android的SDK当中,开发者需要另外给App工程导入Glide库,也就是修改模块的build.gradle,在dependencies节点内部添加如下一行依赖库配置: impl..

2020-05-25 22:31:51

Android开发笔记(一百七十)给App的应用页面注册快捷方式

元数据不单单能传递简单的字符串参数,还能传送更复杂的资源数据,从Android7.1开始新增的快捷方式便用到了这点,譬如在手机上桌面长按支付宝图标,会弹出如下图所示的菜单。点击菜单项“扫一扫”,直接打开支付宝的扫码页面;点击菜单项“付钱”,直接打开支付宝的付款页面;点击菜单项“收钱”,直接打开支付宝的收款页面。如此不必打开支付宝首页,即可迅速跳转到常用的App页面,这便是所谓的快捷方式。那么Android7.1又是如何实现快捷方式的呢?那得再琢磨琢磨元数据了。原来元数据的meta-data标签除了前

2020-05-10 22:57:25

Android开发笔记(一百六十九)利用BottomNavigationView实现底部标签栏

在Android Studio上创建官方默认的首屏标签页面很方便,首先右击需要添加标签栏的模块,在弹出的右键菜单中依次选择“New”——“Activity”——“Bottom Navigation Activity”,弹出下图所示的活动创建页面。在创建页面的“Activity Name”一栏填写新活动的名称,再单击页面右下角的Finish按钮,Android Studio就会自动创建该活动的...

2020-04-25 12:20:02

Android开发笔记(一百六十八)为应用绑定通知渠道并展示消息角标

为了分清消息通知的轻重缓急,从Android8开始新增了通知渠道,并且必须指定通知渠道才能正常推送消息。一个应用允许拥有多个通知渠道,每个渠道的重要性各不相同,有的渠道消息在通知栏被折叠成小行,有的渠道消息在通知栏展示完整的大行,有的渠道消息甚至会短暂悬浮于屏幕顶部,有的渠道消息在推送时会震动手机,有的渠道消息在推送时会发出铃声,有的渠道消息则完全静默推送,这些提示差别都有赖于通知渠道的特征管理。...

2020-04-12 16:44:49

《Android Studio开发实战 从零基础到App上线(第2版)》资源下载和内容勘误

资源下载下面是《Android Studio开发实战 从零基础到App上线(第2版)》一书用到的工具和代码资源:1、本书使用的Android Studio版本为3.2,最新的安装包可前往Android官网页面下载。2、本书使用的Android NDK版本为r17,最新的安装包可前往Android官网页面下载。3、本书提供所有示例源码的demo工程下载,源码(适配Android4.1到9....

2019-01-13 16:02:55

《Android Studio开发实战 从零基础到App上线(第2版)》出版后记

2015年11月23日,鄙人在csdn发表了第一篇技术文章,掐指一算距今已有三年。遥想当年开写博客,只是为了总结经验同时分享出来,后来机缘巧合受到出版社编辑邀请并出了书,完全是无心插柳的结果。当初写作《Android Studio开发实战:从零基础到App上线》第一版前后花了一年多的时间,经过三审三校于2017年6月正式上市,其实这本书出来之时没能赶上好时候,从2017年开始App学习热潮被人工智...

2018-11-21 23:57:33

Android Studio 3.4升级后的运行问题解决办法

AndroidStudio3.4推出有一段时间了,升级之后又有几个问题需要处理,说明如下:一、把Gradle升级到AS3.4配套的5.1.1版本1、手工下载Gradle4.6并解压,下载地址是http://downloads.gradle.org/distributions/gradle-5.1.1-all.zip。将下载的压缩包解压到本地目录,比如解压到D:\Android\gradl...

2019-07-04 22:33:13

Android8.0、9.0、10.0的新特性兼容适配代码修改

《Android Studio开发实战 从零基础到App上线(第2版)》在书后面的附录中给出了Android8和Android9的主要特性说明,附录表格如下图所示:不过附录表格只涵盖了常见的功能代码适配,而Android8和Android9的众多新特性还涉及到其它的代码适配,下面就补充列出Android8和Android9的额外兼容处理说明:Android8.01、属性动画组合Ani...

2019-03-23 13:11:05

《Android Studio开发实战 从零基础到App上线(第2版)》常见问题解答

下面是第二版读者较经常提出的问题,现统一整理回复如下:1、第1章的SVN仓库地址问题:第17页“1.5.2 安装SVN工具”这节里面提到的SVN仓库地址要填什么?回答:SVN仓库地址指的是SVN服务器地址,如果你们单位有专人负责svn代码管理,可向他(svn管理员)咨询这个svn地址。如果你的代码只在自己电脑运行,不需要提交给服务器备份,那么建议略过svn这部分。2、第2...

2019-02-12 22:54:25

Kotlin入门(33)运用扩展属性

进行App开发的时候,使用震动器要在AndroidManifest.xml中加上如下权限:    <!-- 震动 -->    <uses-permission android:name="android.permission.VIBRATE" />让手机震动的功能用到了震动器Vibrator类,而震动器对象从系统服务VIBRATOR_SERVICE获得,实现该...

2018-11-10 15:46:54

Kotlin入门(32)网络接口访问

手机上的资源毕竟有限,为了获取更丰富的信息,就得到辽阔的互联网大海上冲浪。对于App自身,也要经常与服务器交互,以便获取最新的数据显示到界面上。这个客户端与服务端之间的信息交互,基本使用HTTP协议进行通信,即App访问服务器的HTTP接口来传输数据。HTTP接口调用在Java代码中可不是一个轻松的活,开发者若用最基础的HttpURLConnection来编码的话,至少要考虑以下场景的处理:1、...

2018-11-07 23:16:34

Kotlin入门(31)JSON字符串的解析

json是App进行网络通信最常见的数据交互格式,Android也自带了json格式的处理工具包org.json,该工具包主要提供了JSONObject(json对象)与JSONArray(json数组)的解析处理。下面分别介绍这两个工具类的用法:1、JSONObjectJSONObject的常用方法如下所示:构造函数 : 从指定字符串构造出一个JSONObject对象。getJSON...

2018-11-03 17:44:47

Kotlin入门(30)多线程交互

Android开发时常会遇到一些耗时的业务场景,比如后台批量处理数据、访问后端服务器接口等等,此时为了保证界面交互的及时响应,必须通过线程单独运行这些耗时任务。简单的线程可使用Thread类来启动,无论Java还是Kotlin都一样,该方式首先要声明一个自定义线程类,对应的Java代码如下所示:    private class PlayThread extends Thread {   ...

2018-10-29 21:56:36

Kotlin入门(29)任务Runnable

任务Runnable定义了一个可以独立运行的代码片段,通常用于界面控件的延迟处理,比如有时为了避免同时占用某种资源造成冲突,有时则是为了反复间隔刷新界面从而产生动画效果。运行一个任务也有多种形式,既可在UI线程中调用处理器对象的post或者postDelayed方法,也能另外开启分线程来执行Runnable对象。那么在运行任务之前,必须事先声明该任务的对象,然后才能由调用者执行该任务。Kotlin...

2018-10-27 12:07:11

Kotlin入门(28)Application单例化

Application是Android的又一大组件,在App运行过程中,有且仅有一个Application对象贯穿应用的整个生命周期,所以适合在Application中保存应用运行时的全局变量。而开展该工作的基础,是必须获得Application对象的唯一实例,也就是将Application单例化。获取一个类的单例对象,需要运用程序设计中常见的单例模式,倘若通过Java编码实现单例化,想必早已是大...

2018-10-23 17:24:04

Kotlin入门(27)文件读写操作

Java的文件处理用到了io库java.io,该库虽然功能强大,但是与文件内容的交互还得通过输入输出流中转,致使文件读写操作颇为繁琐。因此,开发者通常得自己重新封装一个文件存取的工具类,以便在日常开发中调用。下面是一个文件工具类的简单Java代码:public class FileUtil {    //保存文本文件    public static void saveText(Str...

2018-10-21 15:19:16

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 图书勋章
    图书勋章
    CSDN技术图书作者专属勋章
  • 阅读者勋章Lv2
    阅读者勋章Lv2
    授予在CSDN APP累计阅读博文达到7天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。