自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

张许平的博客

菩提本无树,明镜亦非台。 本来无一物,何处惹尘埃!

  • 博客(58)
  • 收藏
  • 关注

原创 学习数据结构和算法前瞻

我并非计算机科班出身,以前只对C、java、Matlab、Python语言有粗略的了解,以前写代码的时候只会考虑功能能实现就行了,并不考虑性能方面的问题,对数据结构与算法从未学习过,更不了解什么时间复杂度、空间复杂度。写代码的时候从不考虑这些。而这一次我想修炼下编程的内功—好好学习下数据结构与算法。1. 以前对数据结构与算法的困惑我们以前对数据结构与算法一般都会有如下几点困惑,我简单罗列下:...

2018-12-03 16:17:27 805

原创 从源码角度解析Android中APK安装过程

从源码角度解析Android中APK的安装过程1. Android中APK简介Android应用Apk的安装有如下四种方式:1.1 系统应用安装没有安装界面,在开机时自动完成1.2 网络下载应用安装没有安装界面,在应用市场完成1.3 ADB命令安装没有安装界面,通过命令直接安装1.4 外部设备安装有安装界面,通过SD卡等外部设备安装,由packageInstaller处理...

2018-11-28 15:37:40 2828

原创 Android项目工程中的Gradle、compileSdkVersion、buildToolsVersion

1. GradleGradle是一个依赖管理工具,也是一个编程框架。基于Groovy语言,面向Java应用为主,摒弃了基于XML的繁琐配置,采用的是一种基于Groovy的内部领域特定(DSL)语言,该工具可以完成app的编译打包等工作。默认下载目录Windows下会默认下载到如下路径:C:\Users\用户名\.gradle\wrapper\dists下载完成后,可以看到该目...

2018-02-10 12:59:43 22542 3

原创 《17探索,18前行》

时光飞逝,一年又静悄悄的过去了,带来了一些云彩,也留下了一些岁月的痕迹,蓦然回首过去的365天,有过困惑,有过迷茫,同时也有一些收获。毕业一年半,感觉自己进步并不大,从2016年7月4日到第一家公司正式上班到2017年10月17日跳槽来到新公司,时至今日,感觉周围的同学的同学变化特别大,有的已在某个领域小有成就,有的已为人父母,而我依旧是那个在魔都漂泊,努力追寻自己梦想的骚年。认真反思下,...

2018-02-08 18:33:02 347

原创 从AndroidStudio同步上传项目代码到GitHub

AndroidStudio是目前Android开发最常用的工具,GitHub是一个面向开源和私有软件项目的托管平台,支持git作为唯一的版本库格式进行托管。因此平时我们在用AndroidStudio自己写Demo或与他人共同开发项目时,可以将代码同步提交到GitHub上,这样不仅实现了代码的共享,还方便后期对代码的的维护和review。1. Git的下载和安装Git是一个开源的分布式版

2018-02-07 15:23:37 2300

原创 第一行代码学习笔记第二章——探究活动

知识点目录 2.1 活动是什么 2.2 活动的基本用法 2.2.1 手动创建活动 2.2.2 创建和加载布局 2.2.3 在AndroidManifest文件中注册 2.2.4 在活动中使用Toast 2.2.5 在活动中使用Menu 2.2.6 销毁一个活动 2.3 使用Intent在活动之间穿梭 2.3.1 使用显式Intent

2018-01-31 19:15:20 1430

原创 repo学习总结

1. repo简介repo是Google开发的用于管理Android版本库的一个工具,repo是使用Python对git进行了一定的封装,并不是用于取代git,它简化了对多个Git版本库的管理。用repo管理的版本库都需要使用git命令来进行操作。1.1 介绍清单库文件清单文件是以xml的格式组织的,一个清单库可以包含多个清单文件和多个分支,每个清单文件和分支都有对应的版本。

2018-01-27 14:04:00 28920 4

原创 gerrit的使用和配置

1. Gerrit简介Gerrit是一种免费、开放源代码的代码审查软件。同一个团队的程序员可以通过使用网页浏览器的形式相互查阅彼此间的代码,主要用于代码的review和决定代码是否能提交到远程分支。2. 配置Gerrit2.1 获取账号和密码一般每个公司都有一个Gerrit管理员,刚入职的时候需要叫Gerrit管理员同事在公司的服务器上帮你新建立一个账号,建好后他会告诉你G

2018-01-24 18:04:27 18216

原创 TabLayout+ViewPager实现选项卡动态滑动效果

1. 前提准备今天回顾了下TabLayout与ViewPager的联合使用,顺便写个demo来加深下理解。首先要明确TabLayout是design下的,并非系统原来的widget下的。所以首先在app下的build.gradle的dependencies闭包中加入如下引用:compile 'com.android.support:design:26.0.0-alpha1'2. 主界

2018-01-08 21:01:23 1227

原创 第一行代码第一章——你的第一行Android代码

对《第一行代码》第一章学习后,进行归纳总结。主要涉及到知识点有:Android系统架构、Android已发布的版本、Android Studio 的下载和开发环境的搭建、新建模拟器、创建Android项目的步骤。

2017-12-12 17:05:53 7013

原创 浅谈Android中的Handler机制

Handler是Android中提供的一种异步回调机制,也可以理解为线程间的消息机制。为了避免ANR,我们通常会把一些耗时操作(比如:网络请求、I/O操作、复杂计算等)放到子线程中去执行,而当子线程需要修改UI时则子线程需要通知主线程去完成修改UI的操作,则此时就需要我们使用Handler机制来完成子线程与主线程之间的通信。

2017-08-11 12:16:24 388

原创 网络请求UI自动切换框架

在实际项目中,我们不可避免的需要网络请求数据,由于网络或请求方式等主观或客观原因,导致我们请求的结果有时会出现一些偏差,从而导致我们UI界面显示也会有所不同。一般情况下,网络请求后我们的界面一般呈现三种页面状态:“正在加载中”、“加载失败”和“加载成功”。那么就可以通过网络请求后结果让UI界面自动切换。

2017-08-07 00:26:12 703 1

原创 浅谈Android事件分发机制

在Android实际开发过程中经常会遇到View之间的滑动冲突,如ScrollView与Listview、RecyclerView之间的嵌套使用。在很好的解决此类问题之前,我们应深入的了解Android事件响应机制。

2017-08-06 09:44:24 17101 6

原创 自定义DrawableTextView——实现TextView左上右下的点击监听

在Android开发中我们经常遇到TextView左上右下有图片的UI布局情形,并且各个图片点击后都要做相应的逻辑操作,这种情况下我们首先想到的是利用线性布局或相对布局去排版,然后给每个图片设置id,再在代码中去获取对应的控件,最后再设置相应的点击事件。这是最常用、最普遍的做法,也比较简单通俗易懂。但是这样写的弊端就是在XML布局文件中代码显得很臃肿,阅读性较差。

2017-07-14 00:06:07 1010 2

原创 Android基础——四大组件之Activity

这几天继续回顾了一些Android基础方面的知识,今天跟大家一起回顾下Android四大组件中的Activity。虽然很基础,但工欲善其事,必先利其器。我们只有打好夯实的基础,才能在技术开发这条道路上越走越远、越走越好。

2017-05-20 01:59:45 453

原创 多线程下载的原理和基本用法

线程可以通俗的理解为下载的通道,一个线程就是文件下载的一个通道,多线程就是同时打开了多个通道对文件进行下载。当服务器提供下载服务时,用户之间共享带宽。本文介绍了多线程下载的原理和基本用法。

2017-05-15 23:12:22 11315

原创 Android中实现SQLite数据库CRUD操作的两种方式

Android中实现SQLite数据库CRUD操作的两种方式 SQLite是一款轻量级的关系型数据库,具有运行速度、占用资源少的特点。通常只需要几百KB的内存就够了,因此特别适合在移动设备上使用。SQLite不仅支持标准的SQL语法,还遵循数据库的ACID事务。Android为了让我们更方便的管理数据库,专门提供了一个SQLiteOpenHelper帮助类。

2017-05-10 01:46:03 935

原创 Android中点击事件的四种写法

Android中点击事件的四种写法1:使用内部类实现点击事件2:使用匿名内部类实现点击事件3:让MainActivity实现View.OnClickListener接口4:通过布局文件中控件的属性

2017-05-08 20:13:29 2075 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除