
[ Android与Java ]
文章平均质量分 62
qq_23237491
不要仅仅只是感动自己 .
展开
-
这是一篇描述 Broadcasts 的文章
目录广播概述系统广播系统广播的变化Android 9Android 8.0Android 7.0注册广播的两种方式静态注册(在清单文件中注册)动态注册(在代码中注册)对过程状态的影响发送广播用权限限制广播发送权限接收权限注意事项和最佳实践文章来源于此:官方的才是正宗的广播概述Android应用程序可以从Android系统和其他...原创 2019-06-13 22:18:44 · 401 阅读 · 0 评论 -
这是一篇描述 Handler消息机制 的文章
目录大纲概念概述详细描述执行流程初步使用在主线程中使用sendMessage(Message)post(Runnable)在次线程中使用我的Demo源码原理相关面试题感谢感谢developer.android.google!~感谢各位大大提供了各种学习资料!~感谢自己 感谢你们!~学习资料:Handler消息传递机制浅析...原创 2019-05-29 17:40:08 · 318 阅读 · 0 评论 -
200斤的漫漫Android复习路(不停更)
目录综合脑图知识点分解:慢慢填坑吧Android基础Android系统体系架构Android系统各大版本特性四大组件六大布局五大存储(持久化)IntentFragmentRecyclerView 综合技术JNI和NDK编程热门技术Android进阶调试能力Java基础Java设计模式网络基础Java虚拟机数据结构和...原创 2019-06-04 16:26:26 · 270 阅读 · 0 评论 -
这是一篇描述 Activity 的文章
目录大纲Activity任务栈Activity的4种状态生命周期正常情况下activity的生命周期异常情况下activity生命周期小总结通信Activity与Activity之间通信Activity与Fragment之间通信Activity将数据传递给FragmentFragment将数据传递给ActivityActivity与Service...原创 2019-03-13 16:21:45 · 611 阅读 · 0 评论 -
这是一篇描述 Intent 和 Intent 过滤器 的文章
目录简介Intent的类型部分内容摘自:Intent 和 Intent 过滤器简介Intent 是一个消息传递对象,您可以使用它从其他应用组件请求操作。尽管 Intent 可以通过多种方式促进组件之间的通信,但其基本用例主要包括以下三个:启动 Activity:Activity 表示应用中的一个屏幕。通过将 Intent 传递给 startActivity(),您可以启动...原创 2019-06-06 08:59:12 · 195 阅读 · 0 评论 -
200斤牌面试必备:Service面试题 请安利(不停更)
目录Q:谈一谈Service的生命周期?Q:Service的两种启动方式?区别在哪?Q:一个Activty先start一个Service后,再bind时会回调什么方法?此时如何做才能回调Service的destory()方法?Q:Service如何和Activity进行通信?Q:用过哪些系统Service?Q:是否能在Service进行耗时操作?如果非要可以怎么做?Q:AlarmM...原创 2019-06-05 18:31:47 · 248 阅读 · 0 评论 -
这是一篇描述 Activity启动模式 的文章
目录四种启动模式FLAG标志位部分内容摘抄自:这里在清单文件中声明 Activity 时,我们可以使用 <activity> 元素的 launchMode 属性指定 Activity 应该如何与任务关联。四种启动模式launchMode 属性指定有关应如何将 Activity 启动到任务中的指令。您可以分配给 launchMode 属性的启动模式共有四种:"...原创 2019-06-06 14:23:15 · 157 阅读 · 0 评论 -
200斤牌面试必备:SQLite面试题 请安利(不停更)
Q:了解SQLite中的事务操作吗?是如何做的SQLite在做CRDU操作时都默认开启了事务,然后把SQL语句翻译成对应的SQLiteStatement并调用其相应的CRUD方法,此时整个操作还是在rollback journal这个临时文件上进行,只有操作顺利完成才会更新db数据库,否则会被回滚。CRUD:增加(Create)、读取查询(Retrieve)、更新(Update)和删除(D...原创 2019-06-04 15:44:40 · 2868 阅读 · 0 评论 -
200斤牌面试必备:Activity面试题 请安利(不停更)
目录Q:说下Activity的生命周期?Q:onStart()和onResume()/onPause()和onStop()的区别?Q:Activity A启动另一个Activity B会回调哪些方法?如果Activity B是完全透明呢?如果启动的是一个Dialog呢?Q:谈谈onSaveInstanceState()方法?何时会调用?Q:onSaveInstanceState...原创 2019-06-05 08:57:08 · 423 阅读 · 0 评论 -
200斤牌面试必备:Handler面试题 请安利(不停更)
我非原创,只做整合,谢谢各位提供问题的小伙伴!~,Q:handleMessage究竟在哪个线程执行找到一篇比较合适的答案,在这里:答案传送门Q:子线程中,是否可以直接new一个Handler?不可以,子线程中虽然可以new一个Handler,但是不可以直接new,因为Handler本身要配合Looper去使用。在主线程中不需要额外的对Looper进行操作,那是因为系统在创建主线程的...原创 2019-05-29 15:25:27 · 254 阅读 · 0 评论 -
Android Studio 不显示XML预览布局 Failed to load AppCompat ActionBar with unknown error.
Android Studio 突然不显示XML预览布局,点击右边的小红点,被提示“Failed to load AppCompat ActionBar with unknown error.”:多半应该是Style出现了问题。百度搜索一下,果然是Style的问题,得到了如下解决方案,验证可行 ——将原本的Style:<resources> <!--...原创 2019-06-06 11:09:20 · 353 阅读 · 0 评论 -
这是一篇描述 Service 的文章
目录启动服务的两种形式startService()bindService()服务的生命周期onStartCommand()onBind()onCreate()onDestroy()服务的两个类ServiceIntentService部分内容摘自:这里,这里整合成我自己看得懂的形式,以便复习~Service 是一个可以在后台执行长时间运行操作而不提...原创 2019-06-06 09:40:25 · 393 阅读 · 0 评论 -
这是一篇描述 Android系统体系架构 的文章
架构图:从上到下,如图可见:*)系统应用层*)Java API 框架层*)原生 C/C++ 库层与Android Runtime层*)硬件抽象层 (HAL)*)Linux 内核层原创 2019-06-05 19:01:00 · 302 阅读 · 0 评论 -
Android ANR异常
目录什么是anr造成anr的主要原因Android中哪些操作是在主线程的呢如何解决anr本系列文章仅用于记录一个在Mooc复习Android的过程,不做任何商用。如有转载请注明出处。什么是anranr(Application Not Responding),指在应用程序无响应时的弹出的对话框造成anr的主要原因在应用程序当中,它的响应性是由Activity Ma...原创 2019-03-14 14:43:16 · 501 阅读 · 0 评论 -
Android属性动画完全解析(上),初识属性动画的基本用法
原文出处:点击打开链接在手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(frame-by-frame animation)和补间动画(tweened animation)。逐帧动画的工作原理很简单,其实就是将一个完整的动画拆分成一张张单独的图片,然后再将它们连贯起来进行播放,类似于动画片的工作原理。补间动画则...转载 2017-03-15 16:01:16 · 187 阅读 · 0 评论 -
类型安全转换函数
对于一个Object类型的对象,当其为null的时候程序就会崩溃。比如,我们经常会写出下面这样的程序:int result=Integer.valueOf(obj.toString()) 一旦obj这个对象为null,那么上面这行代码会直接崩溃。这里的obj,一般是从JSON数据中取出来的,我们无法保证其永远不为空。所以最好的做法就是,我们编写一个类型安全转换函数co...转载 2016-10-25 10:15:49 · 409 阅读 · 0 评论 -
Java 文件大小格式化输出
/** * 返回byte的数据大小对应的文本 * @param size * @return */ public static String getDataSize(long size){ DecimalFormat formater = new DecimalFormat("####.00"); ...转载 2017-02-23 14:10:24 · 589 阅读 · 0 评论 -
ButterKnife 懒癌患者的福音
初了解到ButterKnife的时候,其实我的内心是拒绝的,毕竟,在我的潜意识里,我更求稳不求简便,所以活该我写了好几百遍的findViewById,昨天抽空学习了一下ButterKnife,内心无比奔腾,深深感悟到了一句话,现在写findViewById流的泪,是当初拒绝新技术脑子进的水。开这篇帖,记录一下学习的过程,懒癌患者请注意,为了将懒癌进行到底,在项目开启之前,确保你的AS里,...原创 2017-03-03 10:01:46 · 338 阅读 · 1 评论 -
Android 创建文件夹 并 实现文件(夹)拷贝
往清单文件中添加权限:<!--往sdcard中写入数据的权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <!--在sdcard中创建/删除文件的权限 --> <us...原创 2017-03-14 13:47:04 · 1540 阅读 · 1 评论 -
如何在自己的App中调用Android系统自带的安装/卸载程序
AppUtils里面写了如何安装和卸载apk(这段代码出自这里:点击打开链接~),这里的安装和卸载调用的是Android本身的一个安装卸载,所以可能页面不会太优雅,并不符合商业App的期望,如果要做到更优雅的实现,就要用到静默安装/卸载,这个可以参照网上教程,我这里有一篇转载还是很不错的,大家可以参照一下:Android中实现静态的默认安装和卸载应用~public class AppUtil...原创 2017-03-14 14:01:56 · 1865 阅读 · 0 评论 -
Android 实现静态的默认安装和卸载应用
这篇博文转自这里:原博链接,由于原博实在是太给力了,故而转载到自己博客来,意在和大家分享~最近好长时间都没有写blog了,主要是因为最近工作上的事以及下载Android源码的事耽误的(下载源码这件事会在后续的blog中写道,这个真的很有意义呀~~),那么今天来写点什么呢?主要的灵感来自于早上看新闻看到一篇文章说有一款应用在后台中卸载用户手机中的所有浏览器的app,不会被用户察觉,但是...转载 2017-03-14 14:19:28 · 1637 阅读 · 0 评论 -
Android 属性动画完全解析(中),ValueAnimator和ObjectAnimator的高级用法
原文出处:点击打开链接大家好,在上一篇文章当中,我们学习了Android属性动画的基本用法,当然也是最常用的一些用法,这些用法足以覆盖我们平时大多情况下的动画需求了。但是,正如上篇文章当中所说到的,属性动画对补间动画进行了很大幅度的改进,之前补间动画可以做到的属性动画也能做到,补间动画做不到的现在属性动画也可以做到了。因此,今天我们就来学习一下属性动画的高级用法,看看如何实现一些补间动画所...转载 2017-03-15 16:05:45 · 192 阅读 · 0 评论 -
Android 属性动画完全解析(下),Interpolator和ViewPropertyAnimator的用法
原文出处:点击打开链接大家好,欢迎继续回到Android属性动画完全解析。在上一篇文章当中我们学习了属性动画的一些进阶技巧,包括ValueAnimator和ObjectAnimator的高级用法,那么除了这些之外,当然还有一些其它的高级技巧在等着我们学习,因此本篇文章就对整个属性动画完全解析系列收个尾,来学习一下剩下的非常重要的高级技巧。另外,本篇文章中使用的代码是建立在上篇文章基础之...转载 2017-03-15 16:07:25 · 213 阅读 · 0 评论 -
Android ViewPager 无限滚动广告栏
现在很多App在进入的时候,都会在首页的顶部有一个广告栏,具体实现了以下的功能:1.实现用户左右手动滑动2.实现广告栏自动轮播3.实现广告栏点击事件4.无论是用户手动滑动还是广告栏自动轮播的时候,下方的指示点都会随之改变状态5.实现用户点击或者拖拽时轮播停止,松手时继续轮播先上3个效果gif吧:第一个gif,展示的是功能1和2;第二个gif,展示的是功能3;...原创 2017-03-16 10:46:29 · 469 阅读 · 0 评论 -
Android 高效加载大图、多图解决方案,有效避免程序OOM
原文出处:http://blog.youkuaiyun.com/guolin_blog/article/details/9316683本篇文章主要内容来自于AndroidDoc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/training/displaying-bitmaps/index.html高效加载大图片我们在...转载 2017-04-18 09:45:52 · 346 阅读 · 0 评论 -
Android 事件分发机制
最近在准备面试,所以重新学习总结一下面试时一些概率性出现的问题。今天学习总结的是Android的事件分发机制,我是通过该视频学习的,分享给有需要的小伙伴~学习笔记:最常见的几个触摸事件:ACTION_DOWN、ACTION_MOVE、ACTION_UP ...事件分发的顺序:从父到子,即从Activity-->Layout-->控件,由外向内事件消费(处理)顺序:从子到...原创 2017-04-14 10:19:04 · 255 阅读 · 0 评论 -
Android 系统启动过程
在面试过程中,不免会有面试官问到一个这样的问题:你了解Android系统的启动过程吗?今天,我将我看到的好文章(好文出处)整合贴出来,供大家一起学习,Android系统的启动过程到底是一个怎样的过程。首先,给出一张图引用过来帮助大家理解和分析:从下到上分析:第一阶段:Android设备上电后,首先会从处理器片上ROM的启动引导代码开始执行,片上ROM会寻找Bootloader代...转载 2017-04-17 17:09:16 · 270 阅读 · 0 评论 -
Android 自定义开关
Android原生的开关,单从视觉上来看已经不能满足我们日常App的需求了,所以很多时候,App的开关按键会选择自定义,那么今天,我就分享一下我的学习成果。自定义开关,它实现了这样的效果,第一:可以 通过点击选择开关;第二,可以通过滑动选择开关。先看一下效果gif:这是通过点击选择开关的gif效果:这是通过滑动选择开关的效果:其实学习过后发现,实现自定义的原理是非常的简单的...原创 2017-03-16 17:02:48 · 362 阅读 · 0 评论 -
Android 仿优酷菜单 从布局开始 01
近来思想发生了一个重大的转变——避而不见往往失败,迎难而上反而有成功的可能。其实吧,在今天之前,我的内心一直是非常排斥自定义view的,很简单——因为不是很会。很多时候项目需要用到自定义控件,永远都是百度百度,开发者都知道,纵使是百度,也不可能百度出一模一样的效果,那么这个时候,就需要根据百度出来的东西自己再次改造,然而问题来了,因为之前由于自己的无知而无比排斥的自定义导致我看到别人的代码时真...原创 2017-03-14 17:24:22 · 293 阅读 · 0 评论 -
Android 仿优酷菜单 代码逻辑实现 02
上一篇博客中,我们实现了优酷菜单的UI部分,这一博客,就专门用来实现代码逻辑。控件的实例化我直接就用ButterKnife来做了,如果有还不会ButterKnife的小伙伴,可以先移步到这里,花两分钟时间看一下,你会发现两分钟过后,世界是如此的美妙~那么在上代码之前,我们先分析一下原理:优酷菜单实现点击旋转事件,其实就是实现了一个旋转的动画,分析如图:那么代码的具体实现是这样的...原创 2017-03-15 09:27:47 · 381 阅读 · 0 评论 -
Android Retrofit用法详解
原文出处于此,我想再也找不到如此详细的用法详解了,涵盖使用代码示例、使用示例的视频、课件。我这里仅仅只把课件展示出来,如果有需要看代码或者视频学习的小伙伴,可以自行点击。原文作者在使用retrofit编写基本的client端代码之前,先使用LoopBack搭建一个用于测试的api server,这一步不太清楚的同学可以去LooBack官网查阅一下,视频里也是粗略的有提到而已。那么以下就...转载 2017-03-22 09:50:47 · 412 阅读 · 0 评论