9 湖前琴亭

尚未进行身份认证

好好做技术,认真写博文

等级
博文 226
排名 2k+

Android8.0与Android9.0的新特性兼容适配代码修改

《AndroidStudio开发实战从零基础到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

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

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

2019-01-13 16:02:55

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

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

2018-11-21 23:57:33

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

进行App开发的时候,使用震动器要在AndroidManifest.xml中加上如下权限:  <!--震动-->  <uses-permissionandroid: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代码如下所示:  privateclassPlayThreadextendsThread{  ...

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代码:publicclassFileUtil{   //保存文本文件   publicstaticvoidsaveText(Str...

2018-10-21 15:19:16

Kotlin入门(26)数据库ManagedSQLiteOpenHelper

共享参数毕竟只能存储简单的键值对数据,如果需要存取更复杂的关系型数据,就要用到数据库SQLite了。尽管SQLite只是手机上的轻量级数据库,但它麻雀虽小、五脏俱全,与Oracle一样存在数据库的创建、变更、删除、连接等DDL操作,以及数据表的增删改查等DML操作,因此开发者对SQLite的使用编码一点都不能含糊。当然,Android为了方便开发者的工作,已经提供了一个操作SQLite的工具类即S...

2018-10-19 09:09:41

Kotlin入门(25)共享参数模板

共享参数SharedPreferences是Android最简单的数据存储方式,常用于存取“Key-Value”键值对数据。在使用共享参数之前,要先调用getSharedPreferences方法声明文件名与操作模式,示例代码如下:  SharedPreferencessps=getSharedPreferences("share",Context.MODE_PRIVATE);...

2018-10-16 23:07:02

Kotlin入门(24)如何自定义视图

Android提供了丰富多彩的视图与控件,已经能够满足大部分的业务需求,然而计划赶不上变化,总是有意料之外的情况需要特殊处理。比如PagerTabStrip无法在布局文件中指定文本大小和文本颜色,只能在代码中通过setTextSize和setTextColor方法来设置。这用起来殊为不便,如果它能像TextView那样直接在布局指定文本大小和颜色就好了;要想让PagerTabStrip支持该特性,...

2018-10-13 12:19:54

Kotlin入门(23)适配器的进阶表达

前面在介绍列表视图和网格视图时,它们的适配器代码都存在视图持有者ViewHolder,因为Android对列表类视图提供了回收机制,如果某些列表项在屏幕上看不到了,则系统会自动回收相应的视图对象。随着用户的下拉或者上拉手势,已经被回收的列表项要重新加载到界面上,倘若每次加载都得从头创建视图对象,势必增加了系统的资源开销。所以ViewHolder便应运而生,它在列表项首次初始化时,就将其视图对象保存...

2018-10-09 22:52:00

Kotlin入门(22)适配器的简单优化

列表视图为实现各种排列组合类的视图(包括但不限于Spinner、ListView、GridView等等),Android提供了五花八门的适配器用于组装某个规格的数据,常见的适配器有:数组适配器ArrayAdapter、简单适配器SimpleAdapter、基本适配器BaseAdapter、翻页适配器PagerAdapter。适配器的种类虽多,却个个都不好用,以数组适配器为例,它与Spinner...

2018-10-06 15:30:16

Kotlin入门(21)活动页面的跳转处理

Activity的活动页面跳转是App最常用的功能之一,在前几章的demo源码中便多次见到了,常常是点击界面上的某个按钮,然后跳转到与之对应的下一个页面。对于App开发者来说,该功能的实现非常普通,使用Java编码不过以下两行代码而已:  Intentintent=newIntent(MainActivity.this,LinearLayoutActivity.class);...

2018-10-03 16:24:40

Kotlin入门(20)几种常见的对话框

提醒对话框手机上的App极大地方便了人们的生活,很多业务只需用户拇指一点即可轻松办理,然而这也带来了一定的风险,因为有时候用户并非真的想这么做,只是不小心点了一下而已,如果App不做任何提示的话,继续吭哧吭哧兀自办完业务,比如转错钱了、误删资料了,往往令用户追悔莫及。所以对于部分关键业务,App为了避免用户的误操作,很有必要弹出消息对话框,提醒用户是否真的要进行此项操作。这个提醒对话框便是Ap...

2018-09-27 22:58:55

Android Studio 3.2升级后的编译问题解决办法

2018年9月24日,AndroidStudio千呼万唤终于放出了3.2正式版,博主赶紧下载了安装包升级到最新版,每次AS升级都会带来各种各样的惊喜(大坑),这次不出所料也出现了几个编译问题,逐个想办法解决后记录如下,供各位朋友参考。一、AS3.2升级完毕后,AndroidStudio跳出下面一个提示框,说是为了充分发挥新特性的优势,建议开发者把Gradle升级到4.6。单击“Up...

2018-09-26 11:13:19

Kotlin入门(19)Android的基础布局

线性布局线性布局LinearLayout是最常用的布局,顾名思义,它下面的子视图像是用一根线串了起来,所以其内部视图的排列是有顺序的,要么从上到下垂直排列,要么从左到右水平排列。排列顺序只能指定一维方向的视图次序,可是手机屏幕是个二维的平面,这意味着还剩另一维方向需要指定视图的对齐方式。故而线性布局主要有以下两种属性设置方法:1.setOrientation:设置内部视图的排列方向。Li...

2018-09-24 15:37:28
CSDN身份
  • 博客专家
奖章
  • Github
    Github
    绑定github第三方账户获取
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!