
app
文章平均质量分 90
旺仔哥
一直从事IT行业
展开
-
Android Studio AIDL进行IPC通信的使用步骤
1.新建IMyAidlInterface.aidl、Person.aidl文件// IMyAidlInterface.aidlpackage demo.com.aidldemo;import demo.com.aidldemo.Person;interface IMyAidlInterface { /** * Demonstrates some basic types that yo...原创 2018-04-26 16:17:58 · 324 阅读 · 0 评论 -
android 虚拟机介绍
概述Android4.4以上开始使用ART虚拟机,在此之前我们一直使用的Dalvik虚拟机,那么为什么Google突然换了Android运行的虚拟机呢?答案只有一个:ART虚拟机更优秀。1. Dalvik虚拟机基本知识介绍Dalvik基本概念Dalvik虚拟机是Android程序的虚拟机,其指令集基于寄存器架构,执行其特有的文件格式——dex字节码,主要负责完成对象生命周期管理、堆栈管理、线程管理...原创 2018-04-04 10:44:36 · 19172 阅读 · 1 评论 -
Android Studio常用的build.gradle 配置
//正式环境def API_RELEASE_HOST = "\"xxxxxxx\""//测试环境def API_TEST_HOST = "\"xxxxxxx\""//开发环境def API_DEV_HOST = "\"xxxxxxxx\""//获取当前时间def getCurrentTime() { return new Date().format("原创 2018-04-03 15:48:23 · 314 阅读 · 0 评论 -
Android Studio:ProGuard 混淆配置
转载地址:https://blog.youkuaiyun.com/doris_d/article/details/52609703在 Android Studio 中可通过配置 proguard-rules.pro 对生成的 apk 和 jar 进行加密,以免被轻易破解。(附:破解方法)Android Studio 创建Module后,会自动生成 proguard-rules.pro 文件,在其中添加需要的规...转载 2018-04-03 11:13:03 · 3492 阅读 · 0 评论 -
android adb指令
配置环境变量(Mac)终端来到home目录:vim ~/.bash_profileANDROID_HOME=/Users/wuziwang/Library/Android/sdkexport PATH=$PATH:$ANDROID_HOME/toolsexport PATH=$PATH:$ANDROID_HOME/platform-tools是否成功检测指令输入: adb versionAndro...原创 2018-04-10 14:38:53 · 324 阅读 · 0 评论 -
一种完全无侵入的换肤方式,支持插件式和应用内,无需重启Activity.
开源框架地址:https://github.com/hongyangAndroid/AndroidChangeSkinAndroidChangeSkin特点插件式换肤应用内换肤支持插件或者应用内多套皮肤支持动态生成addView无需重启Activity效果图:引入下载changeskin,作为module依赖至主项目,例如:dependencies { compile project('...原创 2018-03-20 17:03:32 · 1103 阅读 · 0 评论 -
android 开发多语言切换
public static void setLanguage(boolean isEnglish) { Configuration configuration = MainActivity.instance.getResources().getConfiguration(); DisplayMetrics displayMetrics = MainActivity.i...原创 2018-03-20 17:00:15 · 239 阅读 · 0 评论 -
Android架构之组件化方案
1、Android组件化项目在Android项目组件化之前,我们的项目都是像下图那样,一个单一工程下,根据不同的业务分几个文件夹,把需要的第三方库依赖下就开始开发了,这样的代码耦合严重,牵一发而动全身,删除某处代码就会到处报错,如果不解决掉报错的地方,就没法编译打包,而且这样的代码只适合于个人开发,尤其团队开发合并代码的时候那真是一个麻烦,相信大家都会深有体会,如果项目很大的话,修改一转载 2017-03-20 10:08:32 · 5066 阅读 · 3 评论 -
免费无限次的API 接口
APIStore由百度出品,是一个连接服务商与开发者的第三方API分发平台,下面就罗列百度 api集市免费接口。IP地址查询 http://apistore.baidu.com/apiworks/servicedetail/114.html频道新闻API_易源 http://apistore.baidu.com/apiworks/原创 2017-04-27 10:08:52 · 13408 阅读 · 2 评论 -
2017 年最新最全阿里、腾讯、百度、华为、京东、搜狗和滴滴面试题汇集
前言前一段时间和大牛们交流了一下,据反馈现在Android岗位也没有以前那么多了,没这么好找了,面临2016年寒冬季节,大量公司模仿O2O模式导致死掉企业的很多,在加之培训机构大量的培训人,导致供大于求,当然这不意味着饱和,只是市场更趋于合理一些(只要技术好不用怕的)。最近结合一些面试的同学和大牛们(张旭童)反馈,前几天听童哥去阿里面试顺便整理了下一些面试题目。希望对大家有所帮助,后期原创 2017-05-15 21:28:55 · 647 阅读 · 0 评论 -
Rxjava 从入门到开发
rxjava在业内越来越受欢迎,但是虽受欢迎却难理解,辛亏前面有大神们开路,并把心得体会记录流传后辈。比较出名的有抛物线,hi大头鬼等等,当时拜读大神们的文章,感受颇多,最深的体会是:虽得武林绝学,但无奈本人内力不足,学完秘籍还是觉得似懂非懂,得此招数,却无法理解精髓。但是经过一段时间的摸索,也慢慢有了一些对学习rxjava的心得体会,故记录下来充当自己的笔记,也希望可以给想学习rxjava的童鞋原创 2017-03-16 17:10:21 · 269 阅读 · 0 评论 -
一个开源的多媒体播放器JiaoZiVideoPlayer,使用超级简单
https://github.com/lipangit/JiaoZiVideoPlayer主要特点可以完全自定义UI和任何功能一行代码切换播放引擎,支持的视频格式和协议取决于播放引擎,android.media.MediaPlayer ijkplayer完美检测列表滑动可实现全屏播放,小窗播放能在ListView、ViewPager和ListView、ViewPager和Fragment等多重嵌套...原创 2018-03-29 15:22:39 · 11276 阅读 · 9 评论 -
Glide使用详解
一、简介Glide,一个被google所推荐的图片加载库,作者是bumptech。这个库被广泛运用在google的开源项目中,包括2014年的google I/O大会上发布的官方app。(PS:众所周知的简介就到此为止了)Glide 对于 Android SDK 的最低要求是 API level 10Glide滑行的意思,可以看出这个库的主旨就在于让图片加载变的流畅。现在被广泛使用,当然还是有很多...转载 2018-04-04 23:20:28 · 626 阅读 · 0 评论 -
android 圆环倒计时控件
1.自定义属性<?xml version="1.0" encoding="utf-8"?><resources> <!-- 倒计时控件属性 --> <declare-styleable name="CountDownView"> <!--颜色--> &原创 2018-04-13 19:12:09 · 2591 阅读 · 0 评论 -
java基础数据结构
从开始接触软件行业开始,就知道了 程序=数据结构+ 算法。作为一名搞技术的,平时单独研究数据结构和算法的情况不多,但是这些相关的数据结构都有一直在用。 今天趁空闲时间总结下java中的相关的数据结构的知识点。1.Array数组Java中除了8中基本类型,数组也是作为对象处理的,所以创建对象时也需要使用new关键字。和大多数编程语言一样,数组一旦创建,大小便不可改变。 J...原创 2018-04-07 12:27:21 · 302 阅读 · 0 评论 -
Android View重绘和更新常用的方法
Android开发过程中,由于个性化的需求越来越多,原生的系统的View已经不能满足于产品的需要。所以开发过程中自定义View已经是家常便饭.在自定义View中我们经常会用重绘和更新常用的方法有 invalidate、requestLayoutinvalidate方法会执行draw过程,重绘View树。View执行requestLayout方法,会向上递归到顶级父View中,再执行这个顶级父Vie...原创 2018-04-06 12:08:18 · 23849 阅读 · 2 评论 -
Android framework浅析
先看下图结构:从图可以简单的看出 Android framework主要分成4层:1.应用程序层我们平常开发安卓用java编写的app都属于这一层,当然系统自带的程序比如时钟啊,email等都是属于这一层2.应用程序框架层这一层是核心应用程序所使用的API框架,为应用层提供各种接口API,包括各种组件和服务来支持我们的安卓开发,包括ActivityManager,WindowManager,Vie...原创 2018-04-05 18:37:54 · 2471 阅读 · 1 评论 -
Android Studio构建 Android 应用之必备功能
Android Studio 是 Android 的官方 IDE。它是专为 Android 而打造,可以加快您的开发速度,帮助您为每款 Android 设备构建最优应用。它提供专为 Android 开发者量身定制的工具,其中包括丰富的代码编辑、调试、测试和性能分析工具。比以往更快的编码和循环访问速度Android Studio 是基于 Intellij IDEA 而构建,可以提供尽可能最短的编码和...原创 2018-04-05 18:10:53 · 556 阅读 · 0 评论 -
Android多线程的实现方式及使用场景
有android开发经验的人都知道,凡是耗时的操作不要放在UI线程种执行,否则会引起ANR错误。所以,如果要执行耗时的操作,我们需要另起线程执行。 通常情况在新线程执行完耗时操作以后,常常是要把结果反馈给UI界面,让UI线程更新界面。然而在android里面,UI线程不是线程安全的,所以不能在非UI线程里面更新界面。 android给我们提供了几种的多线程...原创 2018-04-05 11:38:19 · 4765 阅读 · 1 评论 -
AndroidStudio开发工具实现JNI的开发
Android开发之使用AndroidStudio开发工具实现JNI的开发本篇文章我将详细介绍通过AndroidStudio开发工具是如何进行JNI的开发的,相信你阅读学习完这篇文章后,一定会有所收获!下面我们废话少说,直接步入正题吧!第一步:创建一个普通的Android工程第二步:配置NDK环境选择File→Project Structure进入SDK和J原创 2017-03-26 13:14:18 · 447 阅读 · 0 评论 -
多个可以提高你Android开发技能的国外优秀开源 app
学习的最佳方式就是阅读,对程序员来说也是如此。如果你想成为一个更优秀的程序员,你必须阅读更多的代码,就是这么简单。书籍,博客,论坛在某种程度上都是有益的,但是没有什么能替代功能完善、代码详细的开源项目。整个app的所有相关资源都直接呈现在你面前。这些都是很好的学习素材,不管是代码设计、UI设计还是产品设计都值得我们学习和借鉴。你所要做的就是坐下来,泡上一杯茶,然后阅读一些够劲儿的代码。本文原创 2017-03-22 17:58:11 · 1382 阅读 · 0 评论 -
Android开发人员不得不收集的代码
各种帮助类汇总:https://github.com/Blankj/AndroidUtilCode常用的 ios 风格 dialog 和 meterial design 风格的 dialog:https://github.com/glassLake/DialogUtils提高 android 应用的颜值,酷炫 UI 组件汇总:https://github.com/madon原创 2017-03-20 17:23:33 · 3701 阅读 · 1 评论 -
SwitchButton
SwitchButton.An beautiful+lightweight+custom-style-easy switch widget for Android,minSdkVersion >= 11https://github.com/zcweng/SwitchButtonSwitchButtonSwitchButton.An beautiful+lightwe原创 2017-03-20 17:21:03 · 1770 阅读 · 0 评论 -
Retrofit
关于RetrofitA type-safe HTTP client for Android and Java一个针对Android和Java类型安全的http客户端目前版本2.0.0这是官网地址: retrofitgithub地址:retrofitRetrofit.png通俗理解Retrofit我们来通俗的理解Retrofit,它是一个可以用于A原创 2017-03-18 16:50:33 · 280 阅读 · 0 评论 -
Android开发:最全面、最易懂的Android屏幕适配解决方案
前言Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合:Google的官方权威适配文档郭霖: Android官方提供的支持不同屏幕大小的全部方法Stormzhang:Android 屏幕适配鸿洋:Android 屏幕适配方案凯子: Android屏幕适配全攻略(最权威的官方适配指导)自身的思考&实践 给你带来一种全新、全面而逻辑清晰的Andr原创 2017-03-18 16:37:20 · 51077 阅读 · 16 评论 -
开始使用 Fresco
如果你仅仅是想简单下载一张网络图片,在下载完成之前,显示一张占位图,那么简单使用 SimpleDraweeView 即可。在加载图片之前,你必须初始化Fresco类。你只需要调用Fresco.initialize一次即可完成初始化,在 Application 里面做这件事再适合不过了(如下面的代码),注意多次的调用初始化是无意义的。12345678原创 2017-03-18 16:12:29 · 192 阅读 · 0 评论 -
android FileDownloader
FileDownloaderAndroid 文件下载引擎,稳定、高效、灵活、简单易用README DOC版本迭代日志: Change Log英文文档: Wiki、优化建议特点简单易用高并发灵活可选择性支持: 独立/非独立进程自动断点续传需要注意当下载的文件大小可能大于1.99GB(2^31-1=2_147_483_64原创 2017-03-18 16:04:33 · 7520 阅读 · 1 评论 -
Android (ImageLoader、Fresco、Gilde)三大图片缓存原理、缓存对比
如今,网上的开源的图片加载库有很多,选择一个对自己项目更加合适的图片资源加载库成了Android开发者的必经之路,现在开源的比较广泛的Universal ImageLoader、Volley ImageLoader、Picasso、Glide 以及最近的 Fresco,他们各有好处,希望阅读完这篇文章能够让大家对图片加载库一个更细致的认识。出自谁家Universal ImageLoader 是很早...转载 2017-03-18 15:57:34 · 3296 阅读 · 1 评论 -
Android避免内存溢出(Out of Memory)方法总结
避免内存溢出的方法,主要是对以下三个方面对程序进行优化内存引用在处理内存引用之前,我们先来复习下什么是强引用、软引用、弱引用、虚引用强引用:强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。 当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。转载 2017-02-09 10:12:11 · 7942 阅读 · 0 评论 -
Android内存泄漏
Android内存泄漏是一个经常要遇到的问题,程序在内存泄漏的时候很容易导致OOM的发生。那么如何查找内存泄漏和避免内存泄漏就是需要知晓的一个问题,首先我们需要知道一些基础知识。Java的四种引用强引用: 强引用是Java中最普通的引用,随意创建一个对象然后在其他的地方引用一下,就是强引用,强引用的对象Java宁愿OOM也不会回收他软引用: 软引用是比强引用弱的引用,在Ja原创 2017-02-09 10:09:04 · 416 阅读 · 0 评论 -
最新优秀的通用Android应用架构:从建项目开始
1.项目结构现在的MVP模式越来越流行。就默认采用了。如果项目比较小的话:app——Application Activity Fragment Presenter等的顶级父类config——API,常量表等model——数据层entities——数据模型presenter——MVP的P转载 2017-02-09 10:03:36 · 565 阅读 · 0 评论 -
Dagger2使用教程
为什么网上这么多dagger2教程,我还写了这篇文章。找了很多Dagger2相关的博客,我看的脑浆炸裂……Dagger2给我们带来了什么,大多数博文也没有说明手动写写,加深印象,骗骗粉丝 (手动滑稽)部分Dagger2的运作机制是我个人的臆测,比如Dagger2编译入口,不过应该八九不离十吧,测试了挺多次的,没有@Component的话是不会编译的=。=一、Dagger2使用Q&A原创 2017-03-11 11:16:36 · 646 阅读 · 0 评论 -
Android学习路线总结
一、前言不知不觉自己已经做了几年开发了,由记得刚出来工作的时候感觉自己能牛逼,现在回想起来感觉好无知。懂的越多的时候你才会发现懂的越少。如果你的知识是一个圆,当你的圆越大时,圆外面的世界也就越大。最近看到很多Android新手问Android学习路线,学习方法啊,如何入门啊,所以我从网上找了一些资料,然后以我的工作经验给大家总结一下,让你们少走弯路,提取一些工作中经常用到的原创 2017-03-11 11:19:10 · 318 阅读 · 0 评论 -
Android View进阶之RecyclerView 实现滑动删除和拖拽功能
前言从Android 5.0开始,谷歌推出了新的控件RecyclerView,相对于早它之前的ListView,优点多多,功能强大,也给我们的开发着提供了极大的便利,今天自己学习一下RecyclerView轻松实现滑动删除及拖拽的效果,如下图。相信研究过RecyclerView的同学,应该很清楚该怎么实现这样的效果,若是用ListView原创 2017-03-29 13:25:01 · 1101 阅读 · 0 评论 -
DrawerLayout的使用
目前很多应用都有侧滑菜单,最初的侧滑菜单很多都有SildingMenu,相信很多人都用的很熟。Google推出了自己人侧滑菜单DrawerLayout,相信很多人已经在用了。这里记录一下DrawerLayout的使用。DrawerLayout目前大体有两种形式吧。效果图下面看一下效果图:效果一效果二其实还有第三种效果,就是第一种的原创 2017-03-13 09:48:46 · 232 阅读 · 0 评论 -
实现Android底部导航栏
底部导航栏目前基本上每个app必备的。一般放到首页的,来显示app整个内容的框架。效果图效果图实现导航栏的五种方式实现的五种方式如上图导航栏上显示的,这里面我总结了这几种,下面会就这几种方式一一记录到文章中。如果写到一篇里估计有点多,还条例不怎么清晰。接下来会记录这几篇文章。其中TabHost这种方法比较老,就不再记录了。原创 2017-03-12 12:46:32 · 809 阅读 · 0 评论 -
基于Android系统Api封装常用工具类
项目地址https://github.com/h4de5ing/AndroidCommon/blob/master/README-cn.mdgradle使用方式compile 'com.code19.library:library:0.1.2'常用工具类常用代码片段收集 Issues如果你有更好的代码,请提交Pull request使用示例:AppUtil原创 2017-03-21 18:53:27 · 2941 阅读 · 0 评论 -
AndroidAutoLayout
AndroidAutoLayoutAndroid屏幕适配方案,直接填写设计图上的像素尺寸即可完成适配。项目地址:https://github.com/hongyangAndroid/AndroidAutoLayout效果图最大幅度解决适配问题,并且最大化方便开发者。so,看下用法:你没有看错,拿到设计稿,在布局文件里面直接填写对应的px即可,px:这里的px原创 2017-03-21 18:50:40 · 309 阅读 · 0 评论 -
Android广告图片轮播控件
Android广告图片轮播控件,支持无限循环和5种主题,可以灵活设置轮播样式、时间、位置、图片加载框架等!传送门(最新文档信息请跳转到github查看)https://github.com/youth5201314/banner现在的绝大数app都有banner界面,实现循环播放多个广告图片和手动滑动循环等功能。因为ViewPager并不支持循环翻页,所以要实现循环原创 2017-03-21 18:42:25 · 444 阅读 · 0 评论 -
LeakCanary使用说明
LeakCanaryAndroid 和 Java 内存泄露检测。“A small leak will sink a great ship.” - Benjamin Franklin千里之堤, 毁于蚁穴。 -- 《韩非子·喻老》demo一个非常简单的 LeakCanary demo: https://github.com原创 2017-03-21 14:59:05 · 742 阅读 · 0 评论