Android
文章平均质量分 75
xiaoyangxavier
士不可以不弘毅,任重而道远!
展开
-
Android开发之MediaRecorder类详解
手机一般都有麦克风和摄像头,而Android系统就可以利用这些硬件来录制音视频了。为了增加对录制音视频的支持,Android系统提供了一个MediaRecorder的类。该类的使用也非常简单,下面让我们来了解一下这个类:一、类结构:java.lang.Object? android.media.MediaRecorder二、类概述:用于录制音频和视频的一个类。三、状态图:说明:与MediaPlay...转载 2018-06-03 14:36:36 · 4331 阅读 · 0 评论 -
Android开发之如何保证Service不被杀掉(broadcast+system/app)
序言最近项目要实现这样一个效果:运行后,要有一个service始终保持在后台运行,不管用户作出什么操作,都要保证service不被kill,这可真是一个难题。参考了现今各种定制版的系统和安全厂商牛虻软件,如何能保证自己的Service不被杀死呢?其实除了常规的手段,我们可以参考一下微信和360,设置-程序-正在运行,可以看到微信是同时开启了两个进程和服务:【有兴趣可转载 2017-05-05 16:06:09 · 396 阅读 · 0 评论 -
Android Notification常见样式总结
本文总结一下开发中使用的Notification的常见样式 Demo下载地址 demo里有两首歌和打包后的apk,所以比较大,如果网不好下载请耐心!代码中用的自定义常量 public static final int TYPE_Normal = 1; public static final int TYPE_Progress = 2; public s转载 2017-05-05 15:10:18 · 331 阅读 · 0 评论 -
iOS 程序从开发完到上 AppStore 那点事儿
一、账号体系想要进行iOS开发,除了必备一台装有Mac OS X/Xcode的Mac开发机(iMac or MacBook)之外,还必须要有苹果开发者账号,只有拥有开发者账号,才能申请开发/发布证书及相应配置文件,项目才可以发布到App Store上。开发者账号分为两种类型:Individual(个人或公司开发者账号$99):能够在指定的设备上进行真机调试,可以在AppSt转载 2017-05-05 14:07:17 · 1039 阅读 · 0 评论 -
Android 减包 - 减少APK大小
用户经常会避免下载看起来体积较大的应用,特别是在不稳定的2G、3G网络或者在以字节付费的网络。这篇文章描述了怎样减少你的APK大小,这会让更多的用户愿意下载你的应用。理解APK的结构在讨论怎样减少应用大小之前,先了解APK的结构是有用的。一个APK文件就是ZIP包,其中包含了组成你的应用的所有文件,比如Java类文件,资源文件,和一个包含被编译资源的文件。一个APK包含了以转载 2017-05-04 10:58:46 · 1242 阅读 · 0 评论 -
Android 新一代多渠道打包神器
ApkChannelPackage是一种快速多渠道打包工具,同时支持基于V1和V2签名进行渠道打包。插件本身会自动检测Apk使用的签名方法,并选择合适的多渠道打包方式,对使用者来说完全透明。Github地址:https://github.com/ltlovezh/ApkChannelPackage概述众所周知,因为国内Android应用分发市场的现状,我们在发布转载 2017-05-04 10:57:58 · 1916 阅读 · 0 评论 -
WebView与JS交互
:Android API中提供了WebView组件来实现对html的渲染。现在HTML5、CSS3、jS的相关开发技术,以及数据交换格式json/XML。Web开发工程师的技能。为了减少对android的过度依赖,通常会在原生的Android 嵌入部分的html了。这样一来就避免不了为js数据交互。我们新建一个简单的布局,只有一个webview控件"@+id/webView"转载 2017-05-04 10:11:59 · 261 阅读 · 0 评论 -
Android的滑动分析以及各种实现
一、滑动效果的产生滑动一个View,本质区别就是移动一个View。改变当前View所在的坐标,原理和动画相似不断改变坐标位置实现。实现View的滑动就必须监听滑动的事件,并且根据事件传入的坐标,动态且不断改变View的坐标,从而实现View跟随用户触摸的滑动而滑动。(1)、Android的坐标系Android中将屏幕最左上角的顶点作为Android坐标系的原点,从这个点向右转载 2017-05-04 10:09:13 · 617 阅读 · 0 评论 -
Android实现推送方式解决方案
本文介绍在Android中实现推送方式的基础知识及相关解决方案。推送功能在手机开发中应用的场景是越来起来了,不说别的,就我们手机上的新闻客户端就时不j时的推送过来新的消息,很方便的阅读最新的新闻信息。这种推送功能是好的一面,但是也会经常看到很多推送过来的垃圾信息,这就让我们感到厌烦了,关于这个我们就不能多说什么了,毕竟很多商家要做广告。本文就是来探讨下Android中实现推送功能的一些解决方案,也转载 2017-04-21 11:35:40 · 415 阅读 · 0 评论 -
Android (Notification)消息推送机制
1.首先是布局文件代码 activity_main.xml android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > TextView android:layout_width="f转载 2017-04-21 11:35:00 · 340 阅读 · 0 评论 -
Android图片加载框架最全解析(二),从源码的角度理解Glide的执行流程
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/53939176本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。在本系列的上一篇文章中,我们学习了Glide的基本用法,体验了这个图片加载框架的强大功能,以及它非常简便的API。还没有看过上一篇文章的朋友,建议转载 2017-04-21 09:59:34 · 1129 阅读 · 0 评论 -
Android图片加载框架最全解析(一),Glide的基本用法
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/53759439本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。现在Android上的图片加载框架非常成熟,从最早的老牌图片加载框架UniversalImageLoader,到后来Google推出的Volley转载 2017-04-21 09:58:27 · 406 阅读 · 0 评论 -
Android service后台保活原理相关和测试结果
引子:目前在做的一个Android项目,涉及到了后台Service保活的问题,网上找了很多资料,基本的保活方法都测试了。结果是:不同的手机,不同的Android版本保活效果各有差异~。最难绕过的是个厂商对“后台程序保活”管理。下面把相应的测试结果和保活方法罗列下。测试的机子有限,非常希望有不完整的地方能提出补充。正文:一、为什么我们的后台Service会被结束掉?转载 2017-05-05 16:32:46 · 975 阅读 · 0 评论 -
Handler解析(源码+Demo)
Handler的使用方法如下所示:Handler myHandler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { ... }转载 2017-05-16 11:29:14 · 356 阅读 · 0 评论 -
Android高效加载大图、多图解决方案,有效避免程序OOM
本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文。http://developer.android.com/training/displaying-bitmaps/index.html高效加载大图片我们在编写Android程序的时候经常要用到许多图片,不同图片总是会有不同的形状、不同的大小,但在大多数情况下,这些图片都会大于我们程序所需要的大小。...转载 2018-06-03 11:02:44 · 224 阅读 · 0 评论 -
Android 贝塞尔曲线解析
相信很多同学都知道“贝塞尔曲线”这个词,我们在很多地方都能经常看到。利用“贝塞尔曲线”可以做出很多好看的UI效果,本篇博客就让我们一起学习“贝塞尔曲线”。贝塞尔曲线的原理贝塞尔曲线是用一系列点来控制曲线状态的,这些点简单分为两类:类型作用数据点确定曲线的起始和结束位置控制点确定曲线的弯曲程度转载 2017-09-11 14:38:00 · 511 阅读 · 0 评论 -
Android NFC
使用硬件:Google Nexus S,北京大学学生卡。(ps:笔者本想使用公交一卡通进行测试,发现手机不能正确识别)手机操作系统:Android ICS 4.04。开发时,笔者从Google Play Store上下载了NFC TagInfo软件进行对比学习。所以我们可以使用任意一张能被TagInfo软件正确识别的卡做测试。在Android NFC 应用中,Android转载 2015-07-09 14:41:06 · 554 阅读 · 0 评论 -
Android应用分身功能介绍
1 背景从去年下半年360奇酷手机发布后,国内的手机新品发布,都会提到应用分身、微信双开等类似概念,有一些第三方应用也以分身/双开作为亮点抢占市场,一时间分身类应用成为主流手机的一个必备功能。在了解和比较了国内的分身类产品后,我将介绍目前市面上主流的分身类产品,及其使用场景、实现原理和存在的风险整理出来,分享给大家、也作为知识的总结积累。2 分身转载 2017-06-20 07:35:20 · 9320 阅读 · 0 评论 -
LBE平行空间的技术实现
利益相关:本人是LBE员工,Parallel Space平行空间的名字就是我起的:)前面有同学对LBE平行空间的原理做了一些推测和分析,有些正确,有些不完整,我再做些补充LBE平行空间和市面上的其他应用双开app有本质区别,其他方案是通过改包名、改Framework等非常粗糙的方式达到目的,而LBE平行空间的底层是一个完整的虚拟化引擎:MultiDroid更准确的说,Mul转载 2017-06-20 07:34:46 · 7475 阅读 · 4 评论 -
鸿洋大神2016年所有文章链接
1自定义View Android Path酷炫动画 , 极速get花式Path[Android]五行代码实现 炫动滑动 卡片层叠布局Android 如何实现一个平滑过渡的ViewPager广告条Android自定义View--自己撸一个柱状图也没那么难这交互炸了:一分钟让你拥有微信拖拽透明返回PhotoView转载 2017-04-27 16:21:50 · 641 阅读 · 0 评论 -
WebView
在代码中,把WebView当做其子View添加进去WebView webView = new WebView(context); webViewLayout.addView(webView); 网上很多人说这个context应该用application的,我觉得是不对的,如果你的WebView需要弹出一个dialog呢?还有其他的不可预估的问题的,最好还是用当前的activity的原创 2017-05-08 09:56:45 · 322 阅读 · 0 评论 -
异步处理工具类:AsyncTask
前言我们都知道在主线程和子线程之间的通信主要依靠Handler完成,但子线程无法直接对主线程的组件进行更新,在android1.5后提供了一个android.os.AsyncTask(非同步任务)类,我们可以通过此类完成非阻塞的操作类。该类和Handler类似,可以在后台进行操作之后更新主线程的UI,但它的使用要比Handler容易许多。正文AsyncTask是异步任务,那转载 2017-04-26 15:05:11 · 409 阅读 · 0 评论 -
App开机启动
在app后台运行,然后重新启动手机时才可以监听到启动事件,如果将后台服务杀死后重启手机无效!!!首先,在app的配置页面加入权限AndroidManifest.xml:此外,在您的AndroidManifest.xml,定义一个广播,监听开机事件: <receiver android:name=".receiver.Start原创 2017-05-08 17:59:15 · 290 阅读 · 0 评论 -
AlertDialog自定义
收藏(19)Android 提供了 AlertDialog 类可通过其内部类 Builder 轻松创建对话框窗口,但是没法对这个对话框窗口进行定制,为了修改 AlertDialog 窗口显示的外观,解决的办法就是创建一个指定的 AlertDialog 和 AlertDialog.Builder 类。定义外观我们希望将上面默认的对话框外观修改为如下图所示的新对话框风格:该转载 2017-05-08 14:20:55 · 668 阅读 · 0 评论 -
Hybrid App
随着智能手机的普及,移动端应用几乎成为每个互联网产品的标配。在快速迭代的互联网战场中高效开发、低成本上线产品,是每个应用开发团队追求的目标。此时,选择合适的应用类型和开发模式便至关重要。移动应用可以粗分为三种:原生应用(native app), 网页应用(web app,或HTML5 app),以及它们的混血儿——混合模式移动应用(hybrid app)。今天的博文就来和大家简单聊聊近年来蓬勃发展转载 2017-05-11 16:07:51 · 1549 阅读 · 0 评论 -
AppUasge统计app的使用情况,启动次数,启动时间
Google从 API 21 新增了接口 android.app.usage , 通过这个api我们可以统计到每个app的使用情况,启动次数,启动时间等,也可以判断是否运行在前后台,比较方便,也可以用作埋点,统计框架中,今天就来深入的学习一下。获取前后台5.0以前做法是这样的: public String getForegroundApp(Context context) {转载 2017-05-03 14:20:29 · 4890 阅读 · 0 评论 -
View 绘制流程
View 绘制机制1. View 树的绘图流程当 Activity 接收到焦点的时候,它会被请求绘制布局,该请求由Android framework 处理.绘制是从根节点开始,对布局树进行 measure 和 draw 。整个 View 树的绘图流程在ViewRoot.java类的performTraversals()函数展开,该函数所做 的工作可简单概况为是否需要重新计算视图转载 2015-03-26 16:24:42 · 337 阅读 · 0 评论 -
Matrix
Matrix的数学原理在Android中,如果你用Matrix进行过图像处理,那么一定知道Matrix这个类。Android中的Matrix是一个3 x 3的矩阵,其内容如下: Matrix的对图像的处理可分为四类基本变换:Translate 平移变换Rotate 旋转变换Scale转载 2015-03-26 16:19:58 · 281 阅读 · 0 评论 -
Lock Pattern 源码解析
1. 介绍1.1 关于Android 的图案密码解锁,通过手势连接 3 * 3 的点矩阵绘制图案表示解锁密码。基于 Android Source Code。1.2 特点支持: Android 1.6+ (API 4+)。无特殊依赖。支持手机与平板的布局。Stealth mode (invisible pattern)。包含 5 种主题:Dark/Ligh转载 2015-03-26 16:17:36 · 385 阅读 · 0 评论 -
PhotoView 源码解析
1. 功能介绍特性(Features):支持Pinch手势自由缩放。支持双击放大/还原。支持平滑滚动。在滑动父控件下能够运行良好。(例如:ViewPager)支持基于Matrix变化(放大/缩小/移动)的事件监听。优势:PhotoView是ImageView的子类,自然的支持所有ImageView的源生行为。任意项目可以非常方便的从ImageView升级到Photo转载 2015-03-26 16:15:06 · 672 阅读 · 0 评论 -
CircularFloatingActionMenu 源码解析
1. 功能介绍一个与著名应用 Path 菜单类似的圆形弹出菜单,可方便的定制菜单以及动画。菜单可能是非完整圆形,本文统称为圆形菜单。1.1 特点可自定义动画、菜单、角度范围、半径等。1.2 概念以上是简单的圆形弹出菜单示例,更详细的示例图见:Screenshot。菜单按钮(Event):点击会弹出圆形菜单的控件,如上图的 + 对应控件,对应代码中转载 2015-03-26 16:13:58 · 434 阅读 · 0 评论 -
HoloGraphLibrary 源码解析
1. 功能介绍HoloGraphLibrary 是一个可用于绘制图表的项目,支持绘制线状图、柱状图、饼状图。优点:图形设计友好,使用方便。2. 总体设计本项目较为简单,总体设计请参考4.1类关系图。3. 流程图本项目的每个控件的流程较为类似,可以抽象成一个流程图来理解。4. 详细设计4.1 类关系图其中LineGrap转载 2015-03-26 16:13:36 · 408 阅读 · 0 评论 -
ViewPagerindicator 源码解析
1. 功能介绍1.1 ViewPagerIndicatorViewPagerIndicator用于各种基于AndroidSupportLibrary中ViewPager的界面导航。主要特点:使用简单、样式全、易扩展。2. 总体设计该项目总体设计非常简单,一个pageIndicator接口类,具体样式的导航类实现该接口,然后根据具体样式去实现相应的逻辑。 IcsLin转载 2015-03-26 16:12:12 · 529 阅读 · 0 评论 -
xUtils 源码解析
1. 功能介绍xUtils一个Android公共库框架,主要包括四个部分:View,Db, Http, Bitmap 四个模块。View模块主要的功能是通过注解绑定UI,资源,事件。Db模块是一个数据库orm框架, 简单的语句就能进行数据的操作。Http模块主要访问网络,支持同步,异步方式的请求,支持文件的下载。Bitmap模块是加载图片以及图片的处理, 支持加载本地,网络图片。而转载 2015-03-26 16:10:00 · 475 阅读 · 0 评论 -
EventBus 源码解析
1. 功能介绍1.1 EventBusEventBus 是一个 Android 事件发布/订阅框架,通过解耦发布者和订阅者简化 Android 事件传递,这里的事件可以理解为消息,本文中统一称为事件。事件传递既可用于 Android 四大组件间通讯,也可以用户异步线程和主线程间通讯等等。传统的事件传递方式包括:Handler、BroadCastReceiver、Interfac转载 2015-03-26 16:07:56 · 310 阅读 · 0 评论 -
Dagger 源码解析
1. 功能介绍1.1 DaggerDagger 是一款 Java 平台的依赖注入库,关于依赖注入,详细见 依赖注入简介。Java 的依赖注入库中,最有名的应该属 Google 的 Guice,Spring 也很有名,不过是专注于 J2EE 开发。Guice 的功能非常强大,但它是通过在运行时读取注解来实现依赖注入的,依赖的生成和注入需要依靠 Java 的反射机制,这对于对性转载 2015-03-26 16:05:15 · 368 阅读 · 0 评论 -
Android Universal Image Loader 源码分析
1. 功能介绍1.1 Android Universal Image LoaderAndroid Universal Image Loader 是一个强大的、可高度定制的图片缓存,本文简称为UIL。简单的说 UIL 就做了一件事——获取图片并显示在相应的控件上。1.2 基本使用1.2.1 初始化添加完依赖后在Application或Activity中初始转载 2015-03-26 16:04:21 · 353 阅读 · 0 评论 -
View 事件传递
本文后面后继续整理。推荐一篇我看到的对传递机制介绍最清楚的国外文章吧。本文略作翻译。1、基础知识(1) 所有Touch事件都被封装成了MotionEvent对象,包括Touch的位置、时间、历史记录以及第几个手指(多指触摸)等。(2) 事件类型分为ACTION_DOWN, ACTION_UP, ACTION_MOVE, ACTION_POINTER_DOWN, AC转载 2015-03-26 16:29:56 · 485 阅读 · 1 评论 -
ViewHolder工具类实现
前言在开发APP的过程中,攻城狮少不了要跟ListView、GridView这些组件眉来眼去,暗送几波秋波。自然原生态美人BaseAdapter更是程序员的最爱,有了它,我们想怎么干就能怎么干,嘿嘿,你懂的哈哈~但是,每次写一个BaseAdapter,我们都很自觉的给他写一个ViewHolder,一两个还好,万一应用程序中有数不清的ListView,呵呵~你妹!千篇一律,看得都审美转载 2015-05-06 16:30:07 · 628 阅读 · 1 评论 -
触摸事件,使用layout方法使View随手指的滑动而滑动
1.思路在View的onTouchEvent方法中对MotionEvent中的坐标进行记录,记录按下的时候记录,在移动的时候计算他们的偏移量,调用layout()对view的位置进行重绘制2.对坐标的处理1.可以通过event.getX()来获取相对父View的坐标2.页可以通过event.getRawX()来获取相对屏幕的坐标 @Override publ转载 2017-05-03 14:16:19 · 631 阅读 · 0 评论