在Android系统中,知道为什么有些软件杀不死么?很大的原因就是Service。那Service是什么?
Service是Android四大组件之一,开发中会经常用到它,例如当检测到App有新版本的时候,这时候我们一般会开启一个Service去后台下载新包,这时候,无论用户是否清除我们的App,都不会影响下载进度。

在Android系统中,知道为什么有些软件杀不死么?很大的原因就是Service。那Service是什么?
Service是Android四大组件之一,开发中会经常用到它,例如当检测到App有新版本的时候,这时候我们一般会开启一个Service去后台下载新包,这时候,无论用户是否清除我们的App,都不会影响下载进度。

无论是iOS还是Android,通常都会用到混合模式开发,这就要使用到WebView了,通过js和原生交互,可以实现很多功能。今天就来研究一下WebView。
ViewPager在开发中使用的频率非常的高,例如Banner轮播图,首次启动显示的介绍图等,这篇博客就详细介绍一下ViewPager的使用。
图片可以丰富App的显示效果,但是图片也是最难处理的,因为通常情况下,图片是最耗内存的。
iOS的同学都知道SDWebImage,它极大的简化了我们对图片的操作。而Android端的图片加载框架则有很多,Volley、Picasso和Glide,今天我们主要说的就是Glide。
在iOS系统中,系统会为每个应用分配一个独立的空间,用来存放应用产生的数据,并且每个应用只能访问自己的存储空间。由于Android手机可以插拔内存卡,所以,相对于iOS来说,存储方式更多一点。
说起权限问题,iOS平台处理的非常严谨,几乎所有的权限都需要在运行时由用户来确认是否允许应用使用此权限。android平台稍微好一点,一部分权限只需要在AndroidManifest.xml中申请一下就可以使用,一部分却需要在运行时由用户来确定。今天就来说说Android的运行时权限问题。
首先要说一下现在手机的UI风格,其实之前包括现在,Android的界面设计都是模仿iOS的,就拿我之前的公司,所有的UI图都是根据6s的尺寸,iOS的设计风格来设计得到,Android同学有时候就抱怨,这个好难实现,但是在iOS上,实现起来就很容易了。那么在2014年,谷歌推出了Material Desisgn,一套全新的界面设计语言,但是不少Material Desisgn的效果却很难实现,而Android中却几乎没有提供相应的API支持,于是在2015年,谷歌推出了一个Design Support库,这个库将Material Desisgn中最具代表性的一些控件和效果进行了封装,那么,今天我们就来看看有哪些常用的控件。
前段时间我有说过Handler、Message、Looper三者之间的关系,它们可以解决线程间通信,可以用作子线程处理耗时操作,主线程刷新UI等。今天我要说的是另外一种解决方案:AsyncTask。它的内部还是使用异步消息处理机制,只是Android对这三者进行了高度的封装。如果你对异步消息处理机制还不是很清楚的话,你可以看看这篇文章:一天一Android之异步消息处理机制。来看看AsyncTask到底如何使用。
今天愚人节,先祝大家愚人节快乐!
今天来说一下Android开发中经常使用到的一个类:Fragment。由于Android屏幕的碎片化,Android为我们提供了一个和方便的类来使我们的APP可以适应各种屏幕的手机和平板,当然,Fragment的功能远不止是为适应屏幕而生。你可以把Fragment当成Activity的一个界面的一个组成部分,甚至Activity的界面可以由完全不同的Fragment组成,更神奇的是Fragment拥有自己的生命周期和接收、处理用户的事件,这样就不必再Activity写一堆控件的事件处理的代码了,更重要的是,你可以动态的添加、替换和移除某个Fragment。
任何一个应用程序,说白了都是在不停的和数据打交道,通过网络获取的数据,一般为瞬时数据,当我们关闭APP的时候,这些数据就会消失。但有时候我们却希望在APP关闭的时候,保存这些数据,以期待在下次APP启动的时候能用到这些数据。那么,这里我们就需要用到数据持久化技术了。
其实数据持久化已经被广泛应用于各种程序设计的领域了,后台就不说了,iOS有plist、归档、数据库等。当然,Android也有类似与iOS的存储方式:文件存储、SharedPreference以及数据库等,对了,Android还有SD卡。
iOS开发者
会一点RN和android, 十足的海贼迷
河南信悦通网络科技有限公司