重拾Android之路
牛谱乐
这个作者很懒,什么都没留下…
展开
-
重拾Android之路(一)Service
从毕业到现在,做android开发已经半年多了,光凭自己在大学时期学到的内容,感觉应付工作已经没有什么问题了,但是,如果想要再次提升自己,我觉得要从基础开始,回过头来,再次学习。所以我决定,重走android开发之路,此文为据。此次从新学习不会像以前那样,按部就班的走,如果还是那样,基本收效甚微,所以我决定以自己的实际经验,在自己需要着重学习的地方再下功夫。Service介绍Ser...原创 2018-06-30 14:17:40 · 649 阅读 · 0 评论 -
重拾Android之路(十六)Android高级晋级
Android系统源码学习Binder机制和AIDLActivity的启动过程进程的优先级ServiceManagerWindow和WindowManager开源框架学习OKHTTPRetrofitGlideGsonRealm多线程处理Handler原理AsyncTaskHandlerThreadIntentServiceRxJ...原创 2018-07-01 11:49:17 · 364 阅读 · 0 评论 -
重拾Android之路(十七)MVP
关于MVP,MVVM,早就烂大街了,说出来可能都不要意思,在实际项目中,我没有将这两个内容使用的非常熟练,因为在项目中,一般都是一些比较小型的项目,真的用这些模式的地方并不多。但是最近几天在GitHub上面看到一个不错的共享程序–头条。感觉各方面都挺好的,所以就在闲暇的时间仔细研究了一下,发现了很多值得学习的地方,那么记录一下上面用到的技术,自己也要好好的学习,这是地址仿今日头条 今天来说一说M...原创 2018-07-24 17:53:07 · 150 阅读 · 0 评论 -
重拾Android之路(十七)注解
介绍Annotation 中文译过来就是注解、标释的意思,在 Java 中注解是一个很重要的知识点,但经常还是有点让新手不容易理解。 官方的介绍如下: Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 Java5 开始添加到 Java 的。参考资料秒懂java注解 And...原创 2018-08-09 17:46:06 · 221 阅读 · 0 评论 -
重拾Android之路(十八)RxJava的函数
重拾Android之路(十八)RxJava的函数好久没有写博客了,今天趁着这个时间,把自己复习的RxJava再重新梳理一遍。这里基本的概念已经没有什么问题了,关键是RxJava中的方法非常之多,有时候也会有各种各样的改动,那么在这里将大部分的RxJava中的方法做一个汇总,希望在自己学习的同时,也能帮助后来者。本篇文章是以RxJava2.2.3版本为核心部分RxJava方法表格...原创 2018-11-05 15:42:18 · 590 阅读 · 0 评论 -
重拾Android之路(十九)Glide框架
Glide加载图片显示加载百分比这个网上有很多解答,不过一直没有找到理想的,不过经过自己的摸索和试验,终于自己搞到了一套加载图片显示加载百分比的方法,这个方法还是比较简单的首先需要添加gradle的依赖implementation 'com.github.bumptech.glide:glide:4.8.0'annotationProcessor 'com.github.bumptec...原创 2018-11-13 15:06:17 · 193 阅读 · 0 评论 -
Android开发之推送服务(一)集成Umeng(友盟)推送
目前所在的公司让我把之前项目中的推送重新整理一下。因为现在的需求是在应用被后台杀死的情况下,依然可以推送消息,那么只是单一的使用一个推送工具是无法实现的,比如友盟。那么就需要同时集成Umeng,华为,小米,Oppo等手机厂商提供的PushSDK。这本来是简简单单的一件事,突然之后,工作量无形之后增大。不过好在经过一段时间的尝试,终于集成成功,今天把这个历程记录下来,方面以后查看。Umeng推送...原创 2019-02-12 12:29:11 · 9052 阅读 · 1 评论 -
Android开发之推送服务(二) 集成小米推送
小米推送主要是用来适配小米手机的。所以,在做的时候,一般会判断当前手机是否是小米手机,如果是小米手机,则去使用小米推送,注册小米推送,如果不是,则默认使用Umeng推送。在集成小米推送之前,需要先注册小米开发者账号,具体的步骤,这里不再叙述,看注册为开发者小米推送小米推送同时支持Android和iOS两大移动平台,推送稳定。。。算了,我真的编不下去了,想看的,去官网看看他们的文档吧。小米推...原创 2019-02-12 15:20:40 · 1914 阅读 · 1 评论 -
Android开发之推送服务(三) 集成Oppo和vivo推送
Oppo推送服务,也是在Oppo手机中使用的比较多。而且现在Oppo和Vivo两款手机最早提出美颜功能,所以这两款手机在市场上的占有率还是比较高的。Oppo推送目前已经开发注册,Vivo目前只对部分应用开发了推送服务功能。所以目前部分应用无法使用vivo推送的暂时不要着急,后面都会有的。OPPO推送首先还是先去Oppo开放平台注册自己的账号和添加应用,然后获取AppKey和AppId等信息,...原创 2019-02-12 16:55:37 · 21096 阅读 · 9 评论 -
重拾Android之路(二十二)算法和加密
主要整理了Android中所使用的算法和加密,包括MD5、SHA、DES、AES、RSA等数字签名数字签名主要用到了非对称密钥加密技术与数字摘要技术。数字签名技术是将摘要信息用发送者的私钥加密,与原文一起传送给接收者。接收者只有用发送者的公钥才能解密被加密的摘要信息,然后用HASH函数对收到的原文产生一个摘要信息,与解密的摘要信息对比。 如果相同,则说明收到的信息是完整的,在传输过程中没有...原创 2019-03-05 19:13:09 · 457 阅读 · 0 评论 -
重拾Android之路(二十四)Android Gradle的配置
概念Gradle是帮助我们管理Android项目的工具,可以帮我们实现快速引入依赖库,编译方式,多渠道打包等工作。一开始在开发Android项目中使用的是eclipse,其中引入依赖库时,需要从网上下载下来,然后再导入到项目中,过程非常繁琐。...原创 2019-05-23 15:49:53 · 734 阅读 · 0 评论 -
重拾Android之路(二十一)Android的动画
总的来说Android的动画一共分为三种,分别是间补动画,帧动画和属性动画。间补动画和帧动画比较简单,这里会简单介绍,对于属性动画,可能会说的更多一些间补动画(Tween)所谓的间补动画,就是指改变了当前图像的显示位置,样式和形式,但是对于组件的本身来说依然是保持原来的样子。举个例子来说就是如果我们通过间补动画将一个ImageView进行了移动,表面上看上去我们的ImageView是发生了...原创 2019-07-15 10:36:25 · 254 阅读 · 0 评论 -
重拾Android之路(十五)EventBus
在进行项目开发的过程中,我们往往需要应用程序的各个组件,线程之间进行通信,比如子线程中进行请求数据,当数据请求完毕之后,通过Handler或者广播的方式通知UI更新,或者一个Activity中包含两个Fragment,当Activity进行一些操作的饿时候可以通知Fragment进行更新数据。当我们的项目越来越复杂的时候,我们所使用的Intent,Handler,广播就会非常多,然后我们管理...原创 2018-07-01 11:47:48 · 132 阅读 · 0 评论 -
重拾Android之路(十四)进程保活
随着现在智能手机的普及,越来越多的手机应用充斥着各种市场,然后并不是每一个应用都会在手机里使用,不是每一个应用都会被经常使用,所以,Android手机有自己的一套内存管理方法,当你的手机在一定时间内没有使用该应用,那么可能会被杀死。但是对于我们公司或者说开发者而言,我们肯定不希望这样的事情发生,因为如果一直存活下去的话,手机再次打开的时候,这个应用的使用会比较快速,同样也能得到用户的青睐。那么我们...原创 2018-07-01 11:46:29 · 1128 阅读 · 0 评论 -
重拾Android之路(二)网络请求
做Android开发已经有两年了,这两年来自己有收获,也有很多的挫折。自己是属于比较笨的那种人,所以,我想现在就开始试着把自己之前学过的东西总结一下,那么今天就开始搞一下网络请求的内容。先说一下,我从2015年开始做Android开发,先后经历过几个网络框架 1. Android-sync-http 2. volley 3. OkHttp 4. Retrofit(2017年补充)前...原创 2018-06-30 14:20:48 · 450 阅读 · 0 评论 -
重拾Android之路(三)手机适配
随着android智能手机的发展和普及,各种各样的大小和尺寸的android智能机不断的退出,通过各种各样的设备机型,我们能够让自己的APP接触到广大的用户。为了能在各种android平台上使用,我们的APP需要兼容不同的设备类型,比如语言,屏幕尺寸,android系统的版本等重要的变量因素。希望能够通过这次总结,复习符合使用基础的平台功能,利用替代资源和其他功能,使APP仅用一个程序包,就能想用...原创 2018-06-30 14:28:04 · 268 阅读 · 0 评论 -
重拾Android之路(四)Json解析
数据解析在网络请求中是非常重要的,不管是发送数据到服务器,还是接受服务器传回来的数据,都是要用到json解析的。 在这片博客中,主要介绍三种json数据解析 1. 原生json 2. Gson 3. fastjsonJSONJSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。 JSON就是一串字符...原创 2018-06-30 14:37:10 · 222 阅读 · 0 评论 -
重拾Android之路(五)RxJava和RxAndroid
现在RxJava和RxAndroid越来越火爆,自己在业余时间也学习了一下,感觉确实很好用,之前 为了完成页面刷新,数据请求,组件信息传递的时候,要使用handler,真的是逻辑思路很强,稍微不注意,就各种错误一大堆。这下有了RxJava和RxAndroid,真的爽。 RxJava网上有很多给RxJava做定义的,很多人说的比较官方,而我是比较笨的那种人,所以看了很久也没有看懂,不过...原创 2018-06-30 14:53:05 · 1880 阅读 · 1 评论 -
重拾Android之路(六)缓存
LruCacheLruCache 位于 android.util 包下,属于 SDK 自动的工具类。Lru 的英文为 Least recently used,近期最少使用算法。设计的思路大致是这样的,在一个特定的缓存大小限制下,最近被使用的内容,很可能在未来再次被使用,而越长时间没被使用的内容,被使用的概率越底,基于这样的思路,最近被使用的内容被放在缓存的头部,这样减少了下次使用的查找时间,很...原创 2018-06-30 14:58:54 · 1120 阅读 · 0 评论 -
重拾Android之路(七)SQLite
之前在一个项目中使用到了sqlite数据库。说实话,在此之前真的没有用过,感觉在一般情况下,客户并没有要求要使用sqlite数据库,或者我也没有觉得要使用sqlite数据库的地方。不过,前一段时间,有一个需要是,在用户没有登录的情况下,可以将商品添加到购物车,然后在登陆之后,自动把之前没有登录时添加到购物车的物品自动添加到购物车中。这种情况下,我就想到了用sqlite保存数据,然后在用户登录的时候...原创 2018-06-30 15:04:50 · 347 阅读 · 0 评论 -
重拾Android之路(八)UI设计
Android中的UI是非常重要的方面,直接关系到用户体验,所以我打算把之前用到的,比较好的UI拿出来复习一下。通知 Notification通知是一个可以在应用程序正常的用户界面之外显示给用户的消息。 通知发出时,它首先出现在状态栏的通知区域中,用户打开通知抽屉可查看通知详情。通知区域和通知抽屉都是用户可以随时查看的系统控制区域简单的说一下,我们这里使用的是Android4...原创 2018-06-30 15:16:36 · 470 阅读 · 0 评论 -
重拾Android之路(九)设计模式
单例模式单例模式是确保类只有一个实例,并为整个系统提供一个全局访问点的一种设计模式 特点: 1. 任何情况下,单例类只有一个实例 2. 单例需要有能力为整个系统提供唯一实例废话不多说,直接开始我们的单例模式的具体实现,这里是以Android为基础的实例饿汉模式饿汉模式指的是在方法调用之前,实例已经创建好public class MySignleton{ p...原创 2018-06-30 15:18:20 · 168 阅读 · 0 评论 -
重拾Android之路(十)MaterialDesign
在Google I/O 2015大会中,Google为Android开发者介绍了Design Support Library。这个library可以让开发者很容易地实现更多Material Design概念到他们的应用中,因为很多关键元素是不可用的在原来的框架外。首先就是很易于使用,Design Support Library向下兼容到API 7。Design Support Library可以引...原创 2018-07-01 11:28:17 · 394 阅读 · 0 评论 -
重拾Android之路(十一)权限申请
众所周知,在之前的应用中,Android系统的用户体验确实没有像IOS那么令人满意。这个主要是因为多方面原因造成的。其中一个就是因为Android系统本身就是属于开源系统,他的所有代码都是公开的,程序员开发者可以根据自己的需要进行修改。那么这样大大开放了开发者的思维,但是同样也有各种各样的问题。其中一个就是关于安全性问题的。那么在Android6.0之后,引入了动态权限管理,这可以很大程度的解决很...原创 2018-07-01 11:32:30 · 875 阅读 · 0 评论 -
重启Android之路(十二)启动模式
任务栈程序打开之后会创建一个任务栈,会存储应用程序的activity,所有的activity属于一个任务栈一个任务栈包含多个activity,是一个activity的集合,用于有序的选择哪个activity和用户进行交互,只有栈顶的activity才可以和用户进行交互任务栈可以移动到后台,并且保留每个activity的状态,有序的给用户列出他们的作用,不会丢失他们的信息退出应用程序时,...原创 2018-07-01 11:40:44 · 188 阅读 · 0 评论 -
重拾Android之路(十三)广播
BroadcastReceiver 广播接受者用于接受系统或者其他应用程序发送的广播注册广播在Android中如果我们想要使用广播,就必须自定义广播接收者 需要写一个类继承BroadcastReceiver,并且重写里面的onReceiver()方法,实现接受特定的广播,然后去执行相应的事情 自定义一个广播接受者public class MyBroadCastR...原创 2018-07-01 11:42:38 · 152 阅读 · 0 评论 -
重拾Android之路(二十五) Realm数据库的使用
在Android开发中,我们经常会遇到这样的情况,就是需要将数据保存到手机上,通常我们有这么几种方法使用SharedPreference,这里我们存储的数据,可以快速读取,快速写入,使用很方便,但是他也有一个缺点就是如果存储的内容非常多,或者我们想把读出来的数据进行一些格式化操作,那么这种的方法无法实现通过字节流的方式将数据输出保存到本地存储空间中,根据手机性能读取速度可能较为缓慢,并且数据...原创 2019-07-15 18:02:21 · 843 阅读 · 1 评论