- 博客(107)
- 资源 (19)
- 收藏
- 关注
转载 如何选择 compileSdkVersion, minSdkVersion 和 targetSdkVersion
当你发布一个应用之后,(取决于具体的发布时间)可能没过几个月 Android 系统就发布了一个新版本。这对你的应用意味着什么,所有东西都不能用了?别担心,向前兼容是 Android 非常关注的事情。用户在升级到新版 Android 的时候,用以前版本的 SDK 构建的现有应用应该不会出问题。这就是 compileSdkVersion, minSdkVersion 和 targetSdkVe
2017-03-31 18:06:58 212
转载 解决小米手机不能运行Android Studio程序的问题
问题描述Android Studio升级到2.3版本之后,小米手机MIUI8不能运行Android Studio程序,报如下错误:Installation failed with message Failed to establish session.It is possible that this issue is resolved by uninstalling an existin
2017-03-31 16:32:05 1154
转载 android permission权限与安全机制解析(下)
在android permission权限与安全机制解析(上)篇博客中,我已经详细介绍了Android相关系统permission和自定义permission,以及一些权限机制和安全机制。这篇博客主要将会介绍到android 6.0的相关权限更改,原理和相关的处理方式,解决方法等。 就以我以前的一个仿最新版微信相册为例子来分析。android 6.0权限全面详细分析和解决方案M
2017-03-31 13:50:46 855
转载 android permission权限与安全机制解析(上)
总结整理了一下Android权限相关的知识,由于篇幅过长,分为两篇博客来写,上篇博客主要是详解权限和安全,下篇主要是介绍android6.0权限适配问题: android permission权限与安全机制解析(下)uses-permission 用法为 为了保证application的正常运行,需要系统授予app的权限声明。这个权限是在用户安装应用的时候授予的。 a
2017-03-31 13:49:44 861
转载 Android 6.0: 动态权限管理的解决方案
Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用户体验, 同时也为程序员带来新的负担.动态权限管理就是这样, 一方面让用户更加容易的控制自己的隐私, 一方面需要重新适配应用权限. 时代总是不断发展, 程序总是以人为本, 让我们为应用添加动态权限管理吧! 这里提供了一个非常不错的解决方案, 提供源码, 项目可以直接使用.Android系统包含默认的授权提示框,
2017-03-31 10:33:19 334
转载 怎样减少 Android 应用包 60% 的大小?
我要减肥简评:应用的大小也是用户体验的一个重要方面,而减少 Android 应用安装包大小其实一点也不复杂。对于移动应用来说,应用安装包的大小当然是越小越好。特别是对于一些欠发达地区,你不希望用户因为手机「存储空间不足」而卸载你的应用。本文就介绍了几个小技巧来有效减少 apk 的大小:首先,我们先用 Android Studio 提供的 APK Analyser 工具来
2017-03-30 22:42:49 941
转载 Android开发:详解Handler的内存泄露
前言内存泄露在Android开发中非常常见内存泄露的定义:本该被回收的对象不能被回收而停留在堆内存中内存泄露出现的原因:当一个对象已经不再被使用时,本该被回收但却因为有另外一个正在使用的对象持有它的引用从而导致它不能被回收。这就导致了内存泄漏。本文将详细讲解内存泄露的其中一种情况:在Handler中发生的内存泄露阅读本文前建议先阅读Android开发
2017-03-30 22:25:12 221
转载 Android多线程全面解析:IntentService用法&源码
前言多线程的应用在Android开发中是非常常见的,常用方法主要有:继承Thread类实现Runnable接口AsyncTaskHandlerHandlerThreadIntentService今天,我将全面解析多线程其中一种常见用法:IntentService目录目录1. 定义IntentService是Android里面的一个封装
2017-03-30 22:17:02 254
转载 Dalvik和ART运行时环境的区别
在此,我并没有打算深入的学习Dalvik和ART两种方式的实现原理,只是想知道他俩的区别。之前,也是零零散散的看过,并没有总结成文字。在此,总结下。Dalvik以下内容来自wikipediaDalvik虚拟机,是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为.dex(即“Dalvik Executable”)格式的Java应用程序的运行
2017-03-30 16:49:00 459
转载 Weex 和 React Native的比较
写在前面目前主流的应用大体分成三类:Native App, Web App, Hybrid App. 三大主流的应用Native App特点:性能好完美的用户体验开发成本高,无法跨平台升级困难(审核),维护成本高Web App特点:开发成本低,更新快,版本升级容易,自动升级 跨平台,Write Once , Run Anywhere无法调用系统级
2017-03-30 15:41:04 4133
转载 Weex初体验--创建一个简单的Weex程序
最近阿里开源的Weex很火爆。参考官网的资料学习了一下,写了一个小Demo。分享出来和大家交流交流。环境准备按照官网的教程,完成以下步骤:安装Node.js安装weex-toolkit这两步完成以后,就可以进行代码的编写了。小Demo程序界面实现一个很简单功能:在文本框中输入文字,点击按钮,文字会出现在下面列表中。1、创建项目这里的Demo是
2017-03-30 15:38:01 984
转载 Android消息推送:第三方消息推送平台详细解析
前言消息推送在Android开发中应用的场景是越来越多了,比如说电商产品进行活动宣传、资讯类产品进行新闻推送等等,如下图:推送消息截图本文将介绍Android中实现消息推送的第三方推送的详细解决方案阅读本文前,建议先阅读我写的文章:史上最全解析Android消息推送解决方案目录目录1. 主流的第三方推送平台分类手机厂商
2017-03-30 13:50:31 674
转载 史上最全解析Android消息推送解决方案
前言消息推送在Android开发中应用的场景是越来越多了,比如说电商产品进行活动宣传、资讯类产品进行新闻推送等等,如下图:推送消息截图本文将介绍Android中实现消息推送的7种主流解决方案目录目录1.定义在用户未打开App时,App主动向用户推送服务器最新消息。如下图:消息推送的本质是:App将服务器更新的信息推
2017-03-30 13:45:40 1171
转载 Android事件分发机制详解:史上最全面、最易懂
前言Android事件分发机制是Android开发者必须了解的基础网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问题复杂化等等今天,我将全面总结Android的事件分发机制,我能保证这是市面上的最全面、最清晰、最易懂的本文秉着“结论先行、详细分析在后”的原则,即先让大家感性认识,再通过理性分析从而理解问题;所以,请各位读者
2017-03-30 13:43:47 724
转载 Android WebView常见问题及解决方案汇总
WebView在现在的项目中使用的频率应该还是非常高的。WebSettingsWebSettings webSettings = mWebView.getSettings();webview.requestFocusFromTouch();//支持获取手势焦点,输入用户名、密码或其他setJavaScriptEnabled(true);//支持jssetPluginsEna
2017-03-30 11:37:49 1791
转载 你不知道的 Android WebView 使用漏洞
前言现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图京东首页上述功能是由 Android的WebView 实现的,但是 WebView 使用过程中存在许多漏洞,容易造成用户数据泄露等等危险,而很多人往往会忽视这个问题今天我将全面介绍 Android WebView的使用漏洞 及其修复方式阅读本文前请先
2017-03-30 11:28:17 502
转载 最全面总结 Android WebView与 JS 的交互方式
前言现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图上述功能是由Android的WebView实现的,其中涉及到Android客户端与Web网页交互的实现今天我将全面介绍Android通过WebView与JS交互的全面方式阅读本文前请先阅读:Android开发:最全面、最易懂的Webview详解目
2017-03-30 10:53:35 608
转载 Android热修复技术选型——三大流派解析
2015年以来,Android开发领域里对热修复技术的讨论和分享越来越多,同时也出现了一些不同的解决方案,如QQ空间补丁方案、阿里AndFix以 及微信Tinker,它们在原理各有不同,适用场景各异,到底采用哪种方案,是开发者比较头疼的问题。本文希望通过介绍QQ空间补丁、Tinker以及基于AndFix的阿里百川HotFix技术的原理分析和横向比较,帮助开发者更深入了解热修复方案。
2017-03-30 09:57:30 241
转载 快来看看Google出品的Protocol Buffer,别只会用Json和XML了
前言习惯用 Json、XML 数据存储格式的你们,相信大多都没听过Protocol BufferProtocol Buffer 其实 是 Google出品的一种轻量 & 高效的结构化数据存储格式,性能比Json、XML 真的强!太!多!由于 Google出品,我相信Protocol Buffer已经具备足够的吸引力今天,我将献上一份 Protocol Buffer的介绍
2017-03-29 23:20:13 2876
转载 最全面的Android Webview详解
前言现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图 那么这种该如何实现呢?其实这是Android里一个叫WebView的组件实现的。今天我将全面介绍WebView的常用用法。目录1. 简介WebView是一个基于webkit引擎、展现web页面的控件。Android的Webv
2017-03-29 23:13:57 670
转载 android Priority Job Queue 入门
1. 简介 Android Priority Job Queue是一款专门为Android平台编写,实现了Job Queue的后台任务队列类库,能够轻松的在后台执行定时任务,提高用户体验和应用的稳定性。github地址:https://github.com/path/android-priority-jobqueue2. 背景 几乎所有的应用程序都存在后台线程工作。这些“背
2017-03-29 19:57:35 302
转载 android studio 插件 gradle view 查看gradle依赖树
依赖分析在使用maven时,设置依赖时总也是会有一些冲突的意外。而eclipse 或 myeclipse 对maven的支持中,有个可以分析依赖树的工具,挺好用的。那么Android studio中有没有能够分析Gradle 依赖树的工具呢?答案是肯定的,有! 下面就来介绍gradle view这个插件。安装 gradle viewstep1 打开设置进入plugi
2017-03-29 17:08:38 1235
转载 SqlBrite – 用 RxJava 来访问数据库
SqlBrite是对 Android 系统的 SQLiteOpenHelper 和 ContentResolver 的轻量级 Rx 封装,用来在 RxJava 中使用。如何使用创建一个 SqlBrite 对象,该对象是该库的入口:SqlBritesqlBrite = SqlBrite.create(); 需要注意的是,为了方便调试查询语句和结果,在创建 SqlB
2017-03-28 22:19:38 516
转载 GreenDao3.0简单使用
关于GreenDaogreenDao是一个将对象映射到SQLite数据库中的轻量且快速的ORM解决方案。关于greenDAO的概念可以看官网greenDAOgreenDAO 优势1、一个精简的库2、性能最大化3、内存开销最小化4、易于使用的 APIs5、对 Android 进行高度优化GreenDao 3.0使用GreenDao 3.0采用注解的方式来定义实
2017-03-28 22:08:30 291
转载 LitePal详解
一、首先,找到你下载的litepal。jar,将litepal-1.1.1-src.jar复制到你工程的libs目录, 这还没完, 配置LitePalApplication由于操作数据库时需要用到Context,而我们显然不希望在每个接口中都去传一遍这个参数,那样操作数据库就显得太繁琐了。因此,LitePal使用了一个方法来简化掉Context这个参数,只需要在AndroidManifest.xm
2017-03-28 22:07:10 932
转载 Android 数据库框架ormlite 使用精要
前言本篇博客记录一下笔者在实际开发中使用到的一个数据库框架,这个可以让我们快速实现数据库操作,避免频繁手写sql,提高我们的开发效率,减少出错的机率。ormlite是什么?首先可以去它的官网看看www.ormlite.com,它的英文全称是Object Relational Mapping,意思是对象关系映射;如果接触过Java EE开发的,一定知道Java Web开发就有一个类似的数
2017-03-28 22:04:15 224
转载 移动端数据库新王者:realm
介绍realm是一个跨平台移动数据库引擎,支持iOS、OS X(Objective-C和Swift)以及Android。2014年7月发布。由YCombinator孵化的创业团队历时几年打造,是第一个专门针对移动平台设计的数据库。目标是取代SQLite。为了彻底解决性能问题,核心数据引擎C++打造,并不是建立在SQLite之上的ORM。如果对数据引擎实现想深入了解可以查看:Realm
2017-03-28 12:11:31 266
原创 Android开源框架
ORM对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。LitePal:RX系列1、RxJava:观察者模式的事件消息交互框架2、RxAndroid:支持在Android 中通过
2017-03-27 22:41:36 398
转载 EventBus3.0详解
写在前面1.前言曾经,一层又一层的业务逻辑让我不知所措,一个又一个的回调让你头晕眼花,一个又一个的参数让你混乱不堪。EventBus,,一个耦合度低到令你害怕的框架。2.什么是EventBusEventBus是一个消息总线,以观察者模式实现,用于简化程序的组件、线程通信,可以轻易切换线程、开辟线程。EventBus3.0跟先前版本的区别在于加入了annotation @Subscr
2017-03-27 22:09:03 539
转载 一步一步带你写一个dagger2的Demo
1.MVP模式简介我们的目标是实现MVP模式来开发我们的应用,那首先得知道什么是MVP模式。下面这篇文章讲述得通俗易懂,非常适合新手学习。MVP模式简单易懂介绍这里简单讲一下,M ---- model,即数据层V ---- view,即界面层比如我们的Activity和FragmentP ---- presenter, 即业务层,我个人觉得更像是管理层。管理数据如何显示,管
2017-03-27 14:57:42 427
转载 用Dagger 2依赖注入 - DI介绍(翻译)
原文:http://frogermcs.github.io/dependency-injection-with-dagger-2-introdution-to-di/不久之前,在克拉科夫的 Tech Space 的 Google I/O 扩展中,我 展示 了一些关于使用Dagger 2来进行依赖注入。在准备期间我认识到有太多相关的东西需要去讲,无法用一打幻灯片就能覆盖到全部。但是它
2017-03-27 10:30:30 300
转载 Dagger2 使用初步
Dagger2 是一个Android依赖注入框架,由谷歌开发,最早的版本Dagger1 由Square公司开发。依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性。Dagger 这个库的取名不仅仅来自它的本意“匕首”,同时也暗示了它的原理。Jake Wharton 在对 Dagger 的介绍中指出,Dagger 即 DAG-er,这里的 DAG 即数据结构中的 DAG——有向无环图(Dir
2017-03-27 10:11:58 215
转载 什么是依赖注入
只讲原理,不讲过程。大多数面向对象编程语言,在调用一个类的时候,先要实例化这个类,生成一个对象。如果你在写一个类,过程中要调用到很多其它类,甚至这里的其它类,也要“依赖”于更多其它的类,那么可以想象,你要进行多少次实例化。这就是“依赖”的意思。依赖注入,全称是“依赖注入到容器”, 容器(IOC容器)是一个设计模式,它也是个对象,你把某个类(不管有多少依赖关系)放入这个容器中,可以“
2017-03-27 10:10:20 5556 2
转载 2016 排名前10 的Android开源库
http://www.open-open.com/lib/view/open1484707393342.html过去的 2016 年,开源社区异常活跃,很多个人与公司争相开源自己的项目,让人眼花缭乱,然而有些项目只是昙花一现,有些项目却持久创造价值,为开发者提供了极大的便利,这些终究由时间来判断。今天,我就来整理一篇,我个人认为的 2016 年对 Android 开发有巨大帮助的,甚至改变
2017-03-26 22:11:49 170
转载 十分钟搞定pandas
本文是对pandas官方网站上《10Minutes to pandas》的一个简单的翻译,原文在这里。这篇文章是对pandas的一个简单的介绍,详细的介绍请参考:Cookbook 。习惯上,我们会按下面格式引入所需要的包:一、 创建对象可以通过Data Structure Intro Setion 来查看有关该节内容的详细信息。1、可以通过传递一个list对
2017-03-26 21:12:33 227
转载 leakcanary:原理
LeakCanary 流程图leakcanaryLeakCanary 的机制如下:RefWatcher.watch() 会以监控对象来创建一个 KeyedWeakReference 弱引用对象在 AndroidWatchExecutor 的后台线程里,来检查弱引用已经被清除了,如果没被清除,则执行一次 GC如果弱引用对象仍然没有被清除,说明内存泄漏了,系统就导出 hprof
2017-03-26 19:24:26 426
转载 AndroidStudio:unable to access android sdk add-on list
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/50563122 文章出自:薛瑄的博客你也可以查看我的其他同类文章,也会让你有一定的收货!造成这个问题的原因可能有多种,下面两种方法,我亲自测试后可用,如果都不行,请在评论里告诉我,我会尽快帮你分析解决。左侧的文章分类中,Android Studio编译构建错误记录了我开发
2017-03-26 19:16:22 405
转载 LeakCanary: 让内存泄露无所遁形
本文为LeakCanary: Detect all memory leaks!的翻译。原文在:https://corner.squareup.com/2015/05/leak-canary.htmljava.lang.OutOfMemoryError at android.graphics.Bitmap.nativeCreate(Bitmap.java:-2)
2017-03-26 08:33:06 218
转载 Android内存优化之OOM
(一)Android的内存管理机制Google在Android的官网上有这样一篇文章,初步介绍了Android是如何管理应用的进程与内存分配:http://developer.android.com/training/articles/memory.html。Android系统的Dalvik虚拟机扮演了常规的内存垃圾自动回收的角色,Android系统没有为内存提供交换区,它使用paging与m
2017-03-26 08:13:29 173
转载 Android进程的内存管理分析
最近在网上看了不少Android内存管理方面的博文,但是文章大多都是就单个方面去介绍内存管理,没有能全局把握,缺乏系统性阐述,而且有些观点有误。这样对Android内存管理进行局部性介绍,很难使读者建立系统性概念,无法真正理解内存管理,对提高系统优化和系统稳定性分析方面的能力是不够的。 我结合自己的一些思考和理解,从宏观层面上,对内存管理做一个全局性的介绍,在此与大家交流分享
2017-03-26 08:04:41 347
建筑的永恒之道
2008-03-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人