Chrissen's Blog

反正就是搞Android的

Google Awareness API使用与介绍

前言 在开发中,有的时候需要我们监听很多系统的状态,比如:是否有耳机插入、当前用户的活动状态(跑步,散步,静止状态等)。通过检测这些状态,我们可以做很多人性化的操作,比如:监听到用户插入了耳机,我们可以打开音乐播放器准备播放音乐。插一句,如果你是安卓的老用户,你可能知道安卓上有一款应用叫Task...

2019-02-14 09:18:47

阅读数 63

评论数 0

《成为乔布斯》读后感

前言 《成为乔布斯》应该是我看过的关于乔布斯的第三本书,我最喜欢的就是这本。这本书给我了很多新的思考,与前两次对比,这一次给我的感受有了很大的不同。 读后感 我喜欢这本书的原因是在于这本书给我的感觉很真诚,作者本身对于乔布斯的认识非常理性,也非常全面。除了大众都知道的乔布斯很牛逼,是个天才外,作者...

2019-01-18 12:26:00

阅读数 70

评论数 1

图文短视频信息流开发总结(仿小红书, Instagram)

少废话,先看效果 需求分析 在开发中需要实现图文视频信息流的功能,可以参考下面的动图: 上面的动图来自小红书,我们可以发现:整个列表中有图片(多张)以及视频,视频是可以自动播放的。根据需求,我们来需要实现图片标签的功能,这一块我们是参考Instagram的效果。见下图: 很抱歉,gif中没有...

2018-11-22 09:55:20

阅读数 253

评论数 3

高仿饿了么新增位置

最近由于公司的需求需要实现饿了么新增地址的效果,于是总结一下实现的方式以及在实现的过程中需要注意的一些地方。首先我们来看一下饿了么新增地址的效果。总结一下需要实现的效果有哪些:定位滑动地图时能够及时的获取到地图中心点的位置信息滑动时以及停止滑动的时的动画效果点击位置信息后获取附近位置列表首先我们来...

2018-05-29 18:05:16

阅读数 665

评论数 3

TextView不显示

今天在开发中遇到一个极其奇怪的问题:给TextView设置Text但是文字并没有显示。 一开始我以为是Visibility设置为不可见,但是经过查看代码并没有。 然后我又怀疑是不是文字的颜色和背景弄成一样的,导致显示出来的文字看不出来。在布局文件中查看并没有。 这就诡异了啊! 思前想后,左顾右盼后...

2019-02-12 15:54:09

阅读数 20

评论数 0

编写优美 Android 注释的常用语法

附上Android君 今天要分享的是关于Android注释系统的一些强大功能!! 实践证明,拥有良好的注释是可持续维护的重要标准 比如你直接查阅Activity.java 的源码,将会看到大量绿色的注释,而且仔细观察除了我们常规的注释外还有一些特定语法的注释。下面贴上一段来自官方的例子: /*...

2019-01-23 11:27:06

阅读数 33

评论数 0

解决TaskExecutionException: Execution failed for task(app:transformClassesWithDexForDebug)

前言 最近在开发中频繁遇到org.gradle.api.tasks.TaskExecutionException: Execution failed for task这个问题,导致无法编译通过。这里我给出自己的解决办法。 分析 1.自定义属性 检查attrs.xml文件中有没有相同的属性名(我在编...

2019-01-16 11:58:05

阅读数 60

评论数 0

警告信息“Nested weights are bad for performance”的消除方法

原因分析 在布局进行嵌套使用时,父布局与子布局都使用了android:layout_weight,但不是必须使用时,便会出现如题所示的警告信息。 解决方法 根据实际情况,去除子布局中非必须使用的android:layout_weight。 <LinearLayout ...

2019-01-08 17:25:52

阅读数 43

评论数 0

BottomSheetDialog基础设置

BottomSheetDialog dialog = new BottomSheetDialog(_mActivity); dialog.setContentView(view); //设置BottomSheetDialog的默认初始高度 BottomSheetBehavior sheetBeha...

2019-01-08 17:23:10

阅读数 25

评论数 0

自定义LayoutManager,实现RecyclerView折叠效果

少废话,先看效果图! 分析 根据效果图我们不难看出:我们需要实现列表的折叠与展开的效果,也就是说RecylerView需要有两个状态:一个是展开状态,其实展开状态就是常规的LinearLayoutManager;另外一个是折叠的状态,这个就需要我们自定义LayoutManger实现了。 实现 p...

2018-12-30 16:05:19

阅读数 53

评论数 0

工作第一年就被裁?

前言 2018年11月23号,我被公司裁掉。对于我一个2018年应届毕业生来说,这是一件很大的事情。我决定用文字记下这一段时光,希望能够给未来一点准备。 经过 2018年11月20日,公司召开全体员工大会,大会上主要宣布了两件事情:一、公司加入了一名人事主管(现在看来,招她来的目的之一就是清理人)...

2018-12-13 11:55:48

阅读数 79

评论数 2

圆形图显示问题

开发中如果使用了CircleImageView等第三方圆形控件,如果你又恰好使用Glide作为加载图片,那么在第一次加载图片的过程中可能会出现只显示占位图,但图片没有显示的问题。以下会介绍几种解决方法。 第一种解决方式是改变Glide显示图片的方式: Glide.with(this) ...

2018-11-15 11:04:15

阅读数 59

评论数 0

获取View显示区域的百分比

/** * 获取view当前占据屏幕的百分比 */ private int getVisibilityPercents(View currentView) { int percents = 100; Rect rect = new Rect(); ...

2018-11-14 13:51:05

阅读数 42

评论数 0

《卡片夹》1.6.0更新了啥?

《卡片夹》1.6.0版本已经发布,新增与优化了很多内容。你难道不去下载试试? 1.6.0主要更新了以下内容: 为图片添加文字信息 现在添加图片以后也可以给文字配上必要的文字信息,在首页的图片卡片上也会显示相应的文字信息。 优化添加文本操作体验 之前的版本出于便捷的考虑把文本添加设计的比较简单,...

2018-10-23 13:57:09

阅读数 45

评论数 0

Window & Window Manager

Window表示一个窗口的概念;Window是一个抽象类,具体的实现是PhoneWindow。 通过WindowManager来创建Window。Window的具体实现在WindowManagerService中。 WindowManager和WindowManagerService的交互是一个I...

2018-10-15 18:01:22

阅读数 60

评论数 0

四大组件的工作过程

1.运行状态 四大组件除了BroadcastReceiver以外,其他三种都必须在AndroidManifest中注册,BroadcastReceiver可以在AndroidManifest也可以在代码中注册。 调用方式上:Activity, Service, BroadcastReceiver需...

2018-10-15 18:00:53

阅读数 58

评论数 0

Android的消息机制

综述 Android的消息机制主要是指Handler的运行机制。Handler的运行需要底层的MessageQueue和Looper的支撑。Looper中存在一个特殊的概念:ThreadLocal,它并不是线程,作用是可以在每个线程中存储数据。Handler创建的时候会采用当前线程的Looper来...

2018-10-15 18:00:05

阅读数 63

评论数 0

Android的线程和线程池

主线程与子线程 主线程:UI线程(作用:运行四大组件以及处理它们和用户的交互) 子线程:执行耗时任务,比如:网络请求,I/O操作等 Android中的线程形态 AsyncTask(串行执行) 轻量的异步任务类,可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并在主线程中更新UI...

2018-10-08 17:43:29

阅读数 76

评论数 0

Bitmap的加载和Cache

Bitmap的高效加载 加载Bitmap : BitmapFactory decodeFile 、decodeResource、decodeStream、decodeByteArray 高效加载Bitmap的核心思想: 采用BitmapFactory.Options , 使用inSampleSiz...

2018-10-08 17:42:32

阅读数 35

评论数 0

Crash与Multidex

1.捕获应用的crash信息 原理: 当crash发生时,系统会回调UncaughtExceptionHandler的uncaughtException()方法; Thread类中提供了一个设置系统默认的异常处理器方法; 使用multidex解决方法数越界 原因:在Android中单个dex文件...

2018-10-08 17:41:19

阅读数 40

评论数 0

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