
android
hunterliy
这个作者很懒,什么都没留下…
展开
-
hunterliy小作品之 HunterMusic音乐播放器(Day3-自定义通知栏实现)
自定义通知栏的实现原创 2016-10-23 16:53:11 · 399 阅读 · 0 评论 -
矢量图VectorDrawable轻松实现箭头左右移动动画
最近在学习利用矢量图VectorDrawable实现动画,发现矢量图也很强大,很多动画效果都可以简单实现,下面就是其中一个简单箭头左右移动的动画。 下面开始实现这个动画效果1. 在res文件夹下创建animator文件夹2. 然后在animator文件夹下生成一个anim动画文件anim.xml<?xml version="1.0" encoding="utf-8"?><objectAnim原创 2016-12-12 23:10:05 · 4763 阅读 · 0 评论 -
插件化原理(以DL框架说明)
1. 插件化原理DL框架的原理很简单: 在宿主apk中,有一个ProxyActivity,即代理Activity,这个Activity相当于一个空壳,插件中的Activity依靠ProxyActivity来对生命周期回调、资源加载以及启动另一个Activity等等。总而言之,ProxyActivity提供Context,插件Activity依靠ProxyActivity来做自己想做的事情。2.原创 2017-01-08 09:42:33 · 1089 阅读 · 0 评论 -
Android内存优化总结
在app开发的各个阶段中要考虑RAM的限制问题, 包括在设计阶段(正式开发之前). 使用下面的不同的方法可以达到很好的效果. 当您在设计和开发Android应用时用下面的方法可以使内存运用最高效.1 使用保守的Service如果你的应用需要使用service在后台执行业务功能, 除非是一直在进行活动的工作(比如每隔几秒向服务器端请求数据之类)否则不要让它一直保持在后台运行. 并且, 当你的servi原创 2017-02-06 08:21:02 · 340 阅读 · 0 评论 -
Android业务组件化之URL Scheme使用
什么是 URL Scheme?android中的scheme是一种页面内跳转协议,是一种非常好的实现机制,通过定义自己的scheme协议,可以非常方便跳转app中的各个页面;通过scheme协议,服务器可以定制化告诉App跳转那个页面,可以通过通知栏消息定制化跳转页面,可以通过H5页面跳转页面等。URL Scheme应用场景:客户端应用可以向操作系统注册一个 URL scheme,该 scheme转载 2017-01-20 15:14:10 · 864 阅读 · 0 评论 -
一款基于Retrofit + RxJava + MVC架构开发的新闻客户端
HuntersNews这是我最近正在开发的一款基于Retrofit + RxJava + MVC架构开发的符合Google Material Desgin的新闻客户端,其中API使用的是知乎日报+网易新闻+豆瓣图书,符合Google Material Desgin。 项目中主要的特点有:该项目使用 MVC模式开发。该项目实现了基于 URL Scheme 的组件化,编译各组件时间相当于运行整体原创 2017-02-27 14:27:22 · 776 阅读 · 0 评论 -
Android暑期实习面试漏洞之Java多线程
最近开始了暑期实习的内推面试,前两天刚刚阿里二面,自己感觉不是太好,面试官问的方面都是基础部分,但是如果都差不多可以回答上来,那就会对基础方面进行延伸,在Java基础、Android基础、网络、操作系统方面都有涉及。比如线程池方面,我们大部分只知道Java的四种线程池是哪些,然后怎么创建,但是很多人对于具体实现的细节并不了解也没有关心过,如线程池是如何重用线程,怎么设计才会避免重复创建销毁,用了哪些原创 2017-03-17 10:33:59 · 389 阅读 · 0 评论 -
React Native 之搭建开发环境(Windows用户)
一、目标平台:Android必需软件ChocolateyChocolatey是一个Windows上的包管理器,类似于linux上的yum和 apt-get。 你可以在其官方网站上查看具体的使用说明。一般的安装步骤应该是下面这样:@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient原创 2017-04-19 14:35:21 · 535 阅读 · 0 评论 -
了解Binder机制(极简主义解释风格)
Binder这个问题很多文章都有解释,比如:Binder是Android跨进程通信方式,它实现了IBinder接口,是ServiceManager连接各种Manager(如WindowManager、ActivityManager等)的桥梁。但是我觉得这些说法还是过于抽象,大部分文章看过后自己心里还是没有一个清晰的认识。那么应该怎么去理解Binder呢?我不打算介绍这个概念,而是介绍Binder是怎原创 2016-11-21 21:31:39 · 400 阅读 · 0 评论 -
Android开发学习JavaScript系列(一):准备
Android开发为什么要学习JavaScript?这个其实也可以不学。正如我之前在《黑客与画家》的读书感悟中的介绍,编程语言会返过来对程序员的思维造成一定的影响,现在用多了Java 6做为开发语言的Android应用开发人员学习一门动态语言是很有必要的。所以,我觉得你可以不学JavaScript,但一定要选择一门动态语言(如Python或者Ruby)来体验一下。学习JavaScript的如处:1.转载 2016-11-14 16:06:41 · 1155 阅读 · 1 评论 -
hunterliy小作品之 HunterMusic音乐播放器(Day4-歌词显示实现)
歌词显示实现原创 2016-10-23 16:59:11 · 519 阅读 · 0 评论 -
android多线程之AsyncTask源码分析
在有关线程的操作中一定要记住两点:1、不能在UI线程中执行耗时的操作2、不能在非主线程中更新UI界面一、AsyncTask简介 AsyncTask封装了线程池和Handler,是Android的一个轻量级的异步类,它可以在线程池中执行后台操作,然后把执行的进度和结果通过Handler传递给主线程并在主线程里面更新UI。可以方便开发者实现异步操作。二、AsyncTask用法和示例1、用法Asy原创 2016-11-05 08:42:58 · 368 阅读 · 0 评论 -
hunterliy小作品之 HunterMusic音乐播放器(开发介绍)
前言最近想做一个小的android项目来练手,有想过做天气app或者新闻客户端什么的,但是后来发现一个音乐播放器用到的知识点挺多的比如说handle、broadcast、service等等,所以就先拿音乐播放器开刀吧。1.功能规划音乐是我们平时必不可少的调味剂,而一个好的音乐播放器则更是能令人愉悦。市面上存在着大大小小上百种音乐播放器,而每个都有自己的优缺点,不同的人对于播放器的需求也会不一样。现在原创 2016-10-14 11:56:46 · 626 阅读 · 0 评论 -
hunterliy小作品之 HunterMusic音乐播放器(Day1-主页面实现)
1.1初始化项目1.1.1更改图片放置的文件夹mipmap 文件夹是用来存放 launch icon 的,他可以对图片进行优化,但是 PNG、JPEG、GIF、点九图、 XML,还是全部放在 drawable 目录下的。在这里我们不需要对图片进行优化,所以我们将 mipmap 文件夹 删除,创建一个 drawable-hdpi。1.1.2包结构在这个项目中我们需要创建 adapter、bean、原创 2016-10-15 21:33:09 · 665 阅读 · 0 评论 -
hunterliy小作品之 HunterMusic音乐播放器(Day2-后台播放服务实现)
音乐播放界面和后台播放服务的实现...原创 2016-10-16 09:48:21 · 635 阅读 · 0 评论 -
造自己的轮子系列之——仿Butterknife框架
最近在项目中用到了Butterknife框架,而且配合插件ButterKnifeZelezny更是好用的飞起,学习了下butterknife源码,差不多了解个大概:Butterknife在编译时刻利用APT分析程序代码,扫描每一个有注解的类,找出类中带有注解的字段,然后查找我们自己定义的注解,然后动态执行findViewById操作,同理OnClick事件。由此我们可以来实现个自己的Butterkn原创 2016-11-16 20:00:03 · 306 阅读 · 0 评论 -
android四大组件之activity知识点最强总结
1.创建Activity定义Activity在AndroidManifest.xml的<application>节点中声明<activity> <activity android:name="com.itheima.intent.MainActivity" android:label="@string/title_activity_main" > //这两句原创 2016-10-30 22:14:23 · 493 阅读 · 0 评论 -
android四大组件之service知识点最强总结
1.基本概念Service只能在后台运行,适合那些不需要界面的操作,像是播放音乐或者监听动作等,因为它 的名字就已经提示了:它就是一个服务。 Service同样也是运行在主线程中,所以不能用它来做耗时的请求或者动作,否则就会阻塞住主线程。如果真的要这么做,可以跟Activity一样的做法:新开一个线程。2.启动方式Service根据启动方式分为两类:Started和Bound。其中,S原创 2016-11-01 19:45:08 · 534 阅读 · 0 评论 -
React Native 之搭建开发环境(MacOS用户)
必需软件HomebrewHomebrew, Mac系统的包管理器,用于安装NodeJS和一些其他必需的工具软件。/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"注:在Max OS X 10.11(El Capitan)版本中,homebrew在安装软件原创 2017-04-19 14:48:02 · 606 阅读 · 0 评论