android
coder_hezi
日积月累,不断前行
展开
-
CoolWeatherplus项目
以《第一行代码》中的CoolWeather为基础开发改进,形成一个新的天气app。尝试实现以下功能。1.用户自定义是否更新数据和后台更新数据时间;2.优化软件界面,根据不同天气使用不同图标;3.将最初的虚拟天气数据更改真实天气数据,拓展生活建议功能,优化当前天气(now.xml)布局;4.添加常规天气,隔小时天气,空气质量功能,5.尝试添加各种自定义View6.添加通知栏,通知天气。7.允许使用多个城市。项目地址: [Github地址](https://github.com/Squirtle原创 2019-04-17 10:41:23 · 2611 阅读 · 13 评论 -
Android性能优化《Android开发艺术探索》笔记
文章目录Android性能优化普通优化1.布局优化2.绘制优化3.内存泄漏优化Android内存的管理内存泄漏的实例1.静态变量单例模式的使用2.集合类3.非静态内部类/匿名类3.1创建非静态内部类的静态对象3.2 匿名类持有外部类的引用3.3 Handler3.4 资源使用未关闭3.5 ListView的Adapter导致的内存泄漏4ListView优化5.BitMap优化Bitmap的高效加载...原创 2020-03-25 23:43:34 · 757 阅读 · 0 评论 -
自定义View使用与动画总结《Android开发艺术探索》笔记
自定义View+View动画。1,空气质量可以看出该自定义View包括:(1)顶层文字Text(2)中间的文字Text(3)中间的数字Text(动画形式)(4)两个有角度的不同颜色的圆,第一个圆默认画至一定角度,第二个圆根据空气质量数值转化成角度。2.日出日落自定义View过程1. 写一个MyView类,继承自View。2. 在values文件夹下创建attrs.xml文件,声明自定...原创 2020-03-17 15:06:14 · 868 阅读 · 0 评论 -
View的事件体系《Android开发艺术探索》笔记
本文是综合了android开发艺术探索与多篇博客并加上自己的思考总结而成的一篇博客,面向面试的读者,View的事件体系是重要的面试点,而面经与参考答案过于简单,无法深入理解,建议阅读本文后,再次对面试题作答,答出属于自己理解的那一份答案。原创 2020-01-18 20:18:54 · 1169 阅读 · 0 评论 -
Android线程与线程池《Android开发艺术探索》笔记
文章目录概述线程形态AsyncTask概述与使用原理HandlerThreadIntentService工作原理线程池线程池的优点与构成线程池的分类参考文章:要点提炼|开发艺术之线程。概述线程是CPU调度的最小单元。线程是一种受限的资源,不能多次的创建与停止。分类:主线程:一般一个线程只有一个主线程。主线程中一般用于UI操作,用于与用户交互。子线程:子线程中一般执行耗时操作,比如网络...原创 2020-03-06 19:28:09 · 321 阅读 · 0 评论 -
四大组件的工作原理《Android开发艺术探索》笔记
文章目录Activity的总结与工作原理Activity的总结Activity的工作原理总结Service的总结与工作原理工作原理Service的启动Service的绑定总结Activity的总结与工作原理Activity的总结类型:是一个展示型组件。作用:展示一个界面并与用户交互。使用:需要在AndroidManifest注册需要借助Intent启动:显示启动:Intent i...原创 2020-03-06 11:35:27 · 622 阅读 · 0 评论 -
IPC机制与面试题精选《Android开发艺术探索》笔记
文章目录IPC简介IPC的概念进程与线程的区别多进程的情况IPC简介IPC的概念Inter-Process Communication的缩写。含义为进程间通信或跨进程通信,是指两个进程之间进行数据交换的过程。进程与线程的区别线程是CPU调度的最小单元,同时线程是一种有限的资源。进程一般指一个执行单元,一个进程可以包含多个线程,所以他们之间是包含与被包含的关系。(比如Android中有...原创 2020-03-05 13:16:07 · 903 阅读 · 0 评论 -
Service总结
Service概要原创 2020-03-04 11:44:26 · 263 阅读 · 0 评论 -
android消息机制《Android开发艺术探索》笔记
异步消息处理机制的使用开启子线程开启子线程首先要new一个Thread,并在其内部实现一个Runnable接口,重写其run函数。一般在android中我们开启子线程是用子线程来完成耗时操作,比如网络请求。new Thread(new Runnable() { @Override public void run() { //耗时操作...原创 2020-03-02 23:58:26 · 554 阅读 · 0 评论 -
BroadCastReceiver总结
文章目录BoradCastReceiver基础简介原理BroadCastReceiver的使用创建ReceiverReceiver的注册1.动态注册2.静态注册广播发送者向AMS发送广播广播类型普通广播有序广播本地广播总结(复习必看)BoradCastReceiver基础简介BroadCastReceiver(广播)是一种广泛应用在应用程序之间传输信息的机制。而BroadCastReceiv...原创 2020-03-01 19:30:07 · 462 阅读 · 0 评论 -
View的工作原理《Android开发艺术探索》笔记
文章目录DecorView与ViewRootView的工作流程具体流程measureSpecDecorView与ViewRoot一句话概括DecorView是最外层的ViewGroup,也可以理解为Window界面的顶级View。在事件到来时,也是先发到DecorView在传到具体的View。如图所示,他会包含一个LinearLayout,其中content就是用来装我们setContentV...原创 2020-02-25 22:57:23 · 370 阅读 · 0 评论 -
kotlin学习之Kotlin Koans练习
写这篇文章的目的一方面是记录kotlin学习,另一方面是网上Kotlin的练习题很少,比较好的就是Kotlin Koans,英文的不好让人上手,同时《Kotlin实战》这本书每章没有练习题,打算写一篇文章来帮助阅读这本书的人巩固基础。原创 2019-11-23 12:14:13 · 1057 阅读 · 0 评论 -
Activity面试指南与面试题精选
提起四大组件之首Activity,想必是无人不知无人不晓,不论多么初级的android工程师都会比较了解,接下来就总结下关于Activity的面试题。1.生命周期返回栈Q:谈一下返回栈首先理解android是使用Task来管理活动,一个Task就是一组存放在栈里的活动的集合,这个栈就叫做返回栈,每启动一个新的活动,就会将其放入栈顶,当我们点击back回退或调用activity的finish...原创 2019-11-04 10:07:12 · 4988 阅读 · 0 评论 -
Bug汇总
总结1.ConstraintLayout无法让一个子控件在父容器的最右侧。如果是RelativeLayout就可以做到了。2. listView中的内容一页显示不下,同时也无法继续向下拉动。ConstraintLayout无法向下滑动?还是应该设置一个属性。(解决:需要在外面嵌套一个ScrollerView就可以滑动)3.不能让一个layout below listView,不过可以让这个l...原创 2019-10-24 20:28:37 · 453 阅读 · 0 评论 -
Okhttp源码学习之总体流程
这个库一直想要去学习,不过一直没有时间去做,打算一点点梳理Okhttp。先放一段Okhttp的使用代码,摘自第一行代码中将网络请求封装成一个方法。public class HttpUtil { public static void sendOkHttpRequest(String address,okhttp3.Callback callback){ OkHttpCli...原创 2019-09-25 23:04:02 · 237 阅读 · 0 评论 -
ConstraintLayout使用与介绍
文章目录1. ConstraintLayout简介2.使用2.1 相对定位**普通对齐****文本基线对齐**2.2 角度定位2.3 边距2.3.1 常用margin2.3.2 goneMargin2.4 偏移2.5 链2.5 辅助工具2.5.1 好用的barrier大哥2.5.2 Group1. ConstraintLayout简介该layout可以直接在design中进行操作,是比Rela...原创 2019-09-21 22:40:16 · 782 阅读 · 0 评论 -
转:TabLayout+ViewPager 实现tab切换
转载地址:https://blog.csdn.net/godnessismymine/article/details/82855877这里要补充一些坑,首先第一点:1.假如想做类似微信的感觉,肯定需要新建一个布局文件,在这个布局文件中包括一个textview,一个imageview,在设置textview的color时,我们是使用在drawable下的一个xml文件,这个xml文件的第一个...转载 2019-01-09 16:37:58 · 267 阅读 · 0 评论 -
Canvas详解
1.Canvans基础讲解。转载自:https://blog.csdn.net/u013831257/article/details/505560982.Canvans的画布操作,转载自:https://blog.csdn.net/u013831257/article/details/505999123.Canvans之文字图片,转载自https://blog.csdn.net/u0138...转载 2019-01-27 17:57:45 · 132 阅读 · 0 评论 -
Android之文字转图片(输入文字,转成聊天气泡形式图片,并存入sd卡)
需求:实现将文字转换为图片。图片为聊天框形式。用户可以选择文字字体,选择颜色。聊天框自适应文字。实现方法:方案一:使用canvas绘制图片,使用staticLayout自动换行绘制文字,聊天框采取canvas画一个矩形,让矩形自适应文字方案二:使用canvas绘制图片,使用StaticLayout自动换行绘制文字,聊天框采取气泡形状图片背景,图片自适应文字。方案一1.学习...原创 2019-06-12 17:47:58 · 1367 阅读 · 0 评论 -
自定义View最详细的资料整理与总结
基础篇:如果想对自定义View,有个大概了解和速成,建议去看WangRain1大大的博客,博主对于自定义View,讲的比较浅显易懂,新手易于上手,不过一些具体内部的属性大家可能有疑问。同时博主有一个无伤大雅的小问题,就是没说要在R.dimen文件里定义pwidth和pheight;在这里可以不设置这个判断,因为博主在layout文件里的width和height属性不是wrap_content。...原创 2019-02-13 10:52:39 · 304 阅读 · 0 评论 -
《Android第一行代码》coolweather项目个人总结
问题1.点击ADM不能查看data文件夹,android device monitor不能查看/data目录。2.不要忘记china后面是有/。String address="http://guolin.tech/api/china/"+provincecode+"/"+citycode;3.ProgressDialog在24以上的原创 2019-03-13 21:40:19 · 2195 阅读 · 1 评论 -
Github的操作总结
正常操作创建个人库第一行代码中的操作。这篇简书的作者竟然没有写目录,我们直接去这篇文章里翻到8. Git 时间,将代码托管到GitHub 上。更新库git add .git commit -m “这里写更新的内容”。git push origin master遇到的问题1.拷贝隐藏的git文件夹至上个文件夹新手经常会遇到一个问题就是我们需要将远程版本库中的文件拷到上一个文件夹...原创 2019-04-09 17:30:54 · 260 阅读 · 0 评论 -
Gson库详解(包含大量实例)
文章目录1. gson1.1 gson基本用法1.2 属性重命名1.3 JsonDeserializer1.4 对象嵌套1.5 使用JsonDeserializer解析旧和风天气数据1.6 使用JsonDeserializer解析其他类型数据1.7 解析和风天气数据1. gson1.1 gson基本用法回顾gson的使用,并找一些json格式的数据进行解析。String response=...原创 2019-04-10 09:53:11 · 1792 阅读 · 2 评论 -
RecyclerView的基本操作与实战
文章目录基本操作1.添加依赖库2.定义实体类,作为适配器的适配类型基本操作1.添加依赖库在build.gradle文件的dependencies闭包中添加如下内容。 compile 'com.android.support:recyclerview-v7:24.2.1'2.定义实体类,作为适配器的适配类型...原创 2019-04-16 21:52:03 · 371 阅读 · 0 评论 -
androidStudio升级遇到的问题
下载更新File | Settings | Appearance & Behavior | System Settings | Updates,然后点击CheckNow,会显示最新版本的AndroidStudio。这里注意,就算是download也可以放心的去下载,因为到时候安装的时候会自动删除你之前的版本,然后覆盖。gradle更新问题1.compile 替换为 implement...原创 2019-06-05 16:11:55 · 271 阅读 · 0 评论 -
android之自定义Dialog
本文章主要介绍了如何使用dialog,其中包含原始的Dialog使用方法以及如何去自定义自己想要的Dialog。原创 2019-07-20 23:03:39 · 1138 阅读 · 0 评论 -
android课程项目总结:MVC模式(以ListView为实例讲解)
由于之前实习的时候就是用的MVC模式,所以主要总结下之前项目是如何运用MVC模式。1. MVC模式首先盗一张图,来自链接。应对于我做的课程项目来说,是按照下图来分层的。Model层View层Controller层ExampleModel、ExampleDataSource、ExampleDataListxml文件、自定义View(.java文件)ExampleA...原创 2019-08-30 16:01:02 · 1017 阅读 · 0 评论 -
android device monitor不能查看/data目录
转载自https://blog.csdn.net/qq_25643251/article/details/79905971原文如下:问题在android 7.0虚拟机上不能查看/data目录 解决1. 修改目录权限开始->cmd->adb shell->chmod -R 777 /data 2. root虚拟机先执行 adb root,再执...转载 2018-12-07 17:30:52 · 922 阅读 · 1 评论