自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

星月工厂

合抱之木,生于毫末。九层之台,起于累土。千里之行,始于足下

  • 博客(133)
  • 收藏
  • 关注

原创 安卓开发问题之 Unable to instantiate application com.android.tools.fd.runtime.BootstrapApplication

API 21 之前的设备调试,开启Instant run,有可能报这个错,21之后的设备就不会有了,,我这边实践的,应该还是Instant Run 不稳定所以把instant run 功能取消后在发布测试包就可以。这个问题出现在程序 Launcher3 运行中,系统端需要我这里修改 Launcher3 的一些东西,修改了给他,出现如下错误:--------- beginning

2016-08-30 17:04:21 2112 7

原创 你会这几项,就会极大的提升Gradle编译速度

原文链接:http://tikitoo.github.io/2016/05/26/android-studio-gradle-build-run-faster/不过有些事情我们是不得不承认的,Android Studio 越升级越卡顿有木有,每次升级都说有黑科技,但每次都被当做小白鼠,最后只能降版本保智商,每次构建,都要刷个干货群,刷个知乎才能完成,有时候代码改了运行了没有生效有木有???

2016-08-26 12:44:29 7824 3

翻译 使用HTTPS与SSL来保证安全性

原文链接:https://developer.android.com/training/articles/security-ssl.htmlSSL,安全套接层(TSL),是一个常见的用来加密客户端和服务器通信的模块。 但是应用程序错误地使用SSL可能会导致应用程序的数据在网络中被恶意攻击者拦截。为了确保这种情况不在我们的应用中发生,这篇文章主要说明使用网络安全协议常见的陷阱和使用Public-

2016-08-02 11:26:54 5771 5

原创 使用GreenDao对数据库进行操作

在gradle中进行如下配置buildscript { repositories { mavenCentral() } dependencies { classpath 'org.greenrobot:greendao-gradle-plugin:3.0.0' }}apply plugin: 'org.greenrobo

2016-08-02 10:35:04 896 4

翻译 ContentProvider 和ContentResolver内容提供者和内容解析者

内容提供程序管理对中央数据存储库的访问。提供程序是 Android 应用的一部分,通常提供自己的 UI 来使用数据。 但是,内容提供程序主要旨在供其他应用使用,这些应用使用提供程序客户端对象来访问提供程序。 提供程序与提供程序客户端共同提供一致的标准数据界面,该界面还可处理跨进程通信并保护数据访问的安全性。本主题介绍了以下基础知识:内容提供程序的工作方式。用于从内容提供程序检索数据

2016-07-29 17:46:34 2418 1

原创 使用RxPermission框架对android6.0权限进行检测

可前往Github上进行查看相关DEMOhttps://github.com/tbruyelle/RxPermissions如果想用RxPermission,minSdkVersion 必须大于等于9.在gradle中添加如下代码repositories { jcenter() // If not already there}dependencies {

2016-07-29 11:17:22 6362 2

翻译 让你的程序实现MaterialDesign风格

原文链接:http://android-developers.blogspot.sg/2014/10/implementing-material-design-in-your.html材料设计 是一个全面的方法来可视化、交互和运动设计的多屏幕的世界。 Android 5.0棒棒糖和更新的支持库帮助您创建ui。 这里有一个破旧的一些材料设计和api的主要元素和小部件,您可以使用它们来实现

2016-07-26 15:31:50 1083 2

原创 Tint Drawable为图标着色

原文链接:http://www.race604.com/tint-drawable/其实在 Android Support V4 的包中提供了 DrawableCompat 类,我们很容易写出如下的辅助方法来实现 Drawable 的着色,如下:public static Drawable tintDrawable(Drawable drawable, ColorStateList

2016-07-25 15:26:02 2632 2

转载 解决软键盘遮挡按钮

原文链接:http://www.jianshu.com/p/49efa382352a#前言比如在进行登录的操作中,用户输入完密码之后,肯定是想直接点击登录按钮的。返回键隐藏软键盘这样的体验肯定很糟糕,程序员,遇到问题解决问题。实现1xmlScrollView android:id="@+id/scrollview" android

2016-07-21 16:13:43 658 1

转载 Android应用端秒开优化体验

原文链接:http://zhengxiaoyong.me/2016/07/18/Android%E7%AB%AF%E5%BA%94%E7%94%A8%E7%A7%92%E5%BC%80%E4%BC%98%E5%8C%96%E4%BD%93%E9%AA%8C/前言最近部门内抛出了一个问题,应用启动很慢、卡图标?主要表现在中低端机型中。究其这个问题,由于对性能优化比较感兴趣,借了个低端

2016-07-21 15:46:32 663 1

原创 Android定位的实现

原文链接地址:http://blog.csdn.net/limb99/article/details/8765584/基于android的定位无非就两种:network、gps。两者各有优劣。Network:定位快,准确度低,受环境影响小。GPS:定位慢,准确度高,受环境影响大。本文要解决的问题:1.      locationManager

2016-07-21 14:24:32 507 1

原创 下一代Android打包工具,100个渠道包只需要10秒钟

项目介绍packer-ng-plugin 是下一代Android渠道打包工具Gradle插件,支持极速打包,100个渠道包只需要10秒钟,速度是 gradle-packer-plugin 的300倍以上,可方便的用于CI系统集成,支持自定义输出目录和最终APK文件名,依赖包:com.mcxiaoke.gradle:packer-ng:1.0.5 简短名:packer,可以在项目的 buil

2016-07-20 17:00:30 2375 1

原创 使用NavigationView 进行导航栏的设计

Navigation View抽屉导航是app识别度与内部导航的关键,保持这里设计上的一致性对app的可用性至关重要,尤其是对于第一次使用的用户。 NavigationView 通过提供抽屉导航所需的框架让实现更简单,同时它还能够直接通过菜单资源文件直接生成导航元素。把NavigationView作为DrawerLayout的内容视图来使用,比如下面

2016-07-20 14:50:05 1439 1

原创 使用Picasso进行网络图片的加载

picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以实现图片下载和缓存功能。仅仅只需要一行代码就能完全实现图片的异步加载:1Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").in

2016-07-20 10:36:51 1868

原创 如何在APP中集成Google账户登录

下图是用谷歌账户的登录流程图:如果在APP中使用Google账户进行登录。步骤一:GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) .requestScopes(new Scope(Scopes.DRIVE_APPFOL

2016-07-19 17:39:36 6023 1

原创 Vector Drawable(矢量图形)和黑夜白昼主题的设置

矢量图先创建一个Vector Drawable<vector xmlns:android="http://schemas.android.com/apk/res/android" android:viewportWidth="500" android:viewportHeight="500" android:width="500px" android:

2016-07-19 15:48:33 878 1

原创 5.0新特性转场动画的实现

本篇主要解决的问题是:5.0转场动画的实现,用Picasso进行网络图片的加载。用到了SnackBar、AppBarLayout结合CollapsingToolbarLayout进行滑动的ToolBar设计、NestedScrollView滑动控件更好的解决滑动过程中出现的各种问题。转场动画主要用到的方法就是下面 public static void navigate(AppCo

2016-07-13 17:48:13 615

原创 使用Jsoup解析HTML页面

Jsoup是通过解析网站网页,结合标签,进而获取想要的内容。通过继承Asynctask,通过Jsoup解析标签,将标签内容显示出来。用法很简单。class LoadHtml extends AsyncTask { Document doc; URLImageParser imageParser = new URLImageParser(); @Override pro

2016-06-29 19:43:26 721 3

转载 Hotfix安卓热部署方案https://github.com/dodola/HotFix

原文链接:https://github.com/dodola/HotFix介绍该项目是基于QQ空间终端开发团队的技术文章实现的,完成了文章中提到的基本功能。文章地址:安卓App热补丁动态修复技术介绍项目部分代码从 dalvik_patch 项目中修改而来,这个项目本来是用来实现multidex的,发现可以用来实现方法替换的效果。项目包括核心类库,补丁制作库,

2016-06-27 19:55:35 1211 2

转载 各大热补丁方案分析和比较

原文链接:http://blog.zhaiyifan.cn/2015/11/20/HotPatchCompare/最近开源界涌现了很多热补丁项目,但从方案上来说,主要包括Dexposed、AndFix、ClassLoader(来源是原QZone,现淘宝的工程师陈钟,在15年年初就已经开始实现)三种。前两个都是阿里巴巴内部的不同团队做的(淘宝和支付宝),后者则来自腾讯的QQ空间团队。

2016-06-27 19:16:20 556 2

转载 Retrofit+OKHttp实现缓存以及遇到的问题

原文链接:http://blog.csdn.net/Picasso_L/article/details/50579884#comments简介retrofit本身并没有缓存。如果想缓存,它要么必须让retrofit之上的应用层知道你的域和如何缓存事物,或它需要在retrofit之下HTTP client层知道HTTP的语义。OkHttp是由Square发布的一个HT

2016-06-27 11:34:51 1463 3

转载 Android事件机制ScrollView,ViewPager

原文链接:http://www.jianshu.com/p/a2185e4b1b53#当手指触摸到屏幕时,系统就会调用相应View的onTouchEvent,并传入一系列的action。onTouchEvent的传递当有多个层级的View时,在父层级允许的情况下,这个action会一直向下传递直到遇到最深层的View。所以touch事件最先调用的是最底层View的onTouchEv

2016-06-23 18:20:28 668 1

原创 ViewPager实现Banner图的展示

先是自定义一个ViewPagerpublic class ScrollerViewPager extends ViewPager implements OnGestureListener{ public static final int DEFAULT_INTERVAL = 5000; public static final int

2016-06-22 18:37:28 729 2

原创 调试APP LOGCAT提示 Debugger is no longer active

问题描述:有时候,用 Android Studio调试APP的时候,有时候,界面会一直卡在那里,然后,不能进行调试。或者点击运行的时候,程序明明运行起来了,但是APP不自主启动起来,还需要手动点击APP才能运行起来。仔细看LOGCAT会输出一句话:                         art: Debugger is no longer active所有的问题,其实

2016-06-17 15:18:03 12594

转载 400、500等各种返回码所代表的含义

在网站日志中,我们经常会看到很多返回的http代码,如201、304、404、500等等。可是这些具体的返回的HTTP代码究竟什么含义呢,在此做一下知识普及吧,记不住不要紧,到时候看看就行了,但最主要的几个还要要清楚的。 一些常见的状态码为:  200 - 服务器成功返回网页  404 - 请求的网页不存在  503 - 服务器超时  下面提供 HTTP 状

2016-06-13 18:03:54 7553 2

原创 Popupwindow显示

在弹出PopupWindow的时候 在 showAtLocation(,,)第一个参数 要求 是 parentView。他是这样说的a parent view to get the getWindowToken() token from意思 就是 改view必须能够获得 windowToken,其实只要是该窗体上的一个控件就可以。在安卓创建界面的时候 ,系统底层都是依附于w

2016-06-12 14:07:23 585

原创 解决单个DEX文件方法数超过65536的解决方案

决定使用Google官方的multiDex解决。1.修改gradle脚本来产生多dex。2.修改manifest 使用MulitDexApplication。步骤1.在gradle脚本里写上:在gradle文件中配置完就可以进行顺利编译了android {    compileSdkVersion 21    buildToolsVersion "21.1.0"  

2016-06-06 15:13:15 1616 2

转载 BitMap的recycle问题

虽然Android有自己的垃圾回收机制,对于是不是要我们自己调用recycle,还的看情况而定。如果只是使用少量的几张图片,回收与否关系不大。可是若有大量bitmap需要垃圾回收处理,那必然垃圾回收需要做的次数就更多也发生地更频繁,会对系统资源造成负荷。所以,这个时候还是自己试用recycle来释放的比较好。    如何去使用recycle()方法和何时试用recycle()都是值得考虑的

2016-06-04 11:24:35 668

转载 Espresso:快速的Android UI自动化测试

在我和很多Android开发者聊天的时候,我注意到他们在开发的过程中并不注重测试这一环节,原因是他们认为Android测试太难实现,或者难以集成到现有的工程中等等。但是实际上写一个 Espresso并不是一件很难的事情,而且它能够非常方便地集成到你的工程之中。容易实现Espresso测试是非常容易实现的,它由三部分组成:ViewMachers:寻找用来测试的View

2016-06-04 10:52:39 632

原创 如何在googleplay上发布应用?

下面链接地址是谷歌官方 上传应用市场的详细步骤。https://developer.android.com/distribute/googleplay/developer-console.html#merchant-account在注册账户前,需要先支付25美金(用visa卡支付)。所有应用“所有应用”部分让您能够快速浏览您的应用,您可以

2016-06-03 17:02:13 20535

原创 如何理解闭包?

摘抄网上一个人的解释。闭包很简单,就是在函数定义时把函数外部的环境打包进函数内,使得在函数体内可以访问到函数体外的环境(主要是访问函数体外的变量)// 假设这里的环境为 (1)function(){ // 假设这里的环境为 (2) function(){ // 假设这里的环境为 (3) };};在环境(1)中只能访问到环境(1)的变量,但是环境(

2016-06-02 09:27:00 850

转载 你真的了解Instant Run吗?

今天是周二,又轮到我写文章了。先扯点题外话,我是2010年8月份开始自学Android的,到现在已经快有6年的时间了。当时为了自学我专门买了一本书,叫《Android高级编程》,作者是Reto Meier,这本书现在仍然还在我的书架上,这是我刚拍的一张略显陈旧的照片:然后最近在学习Instant Run,看了下Android的官方视频

2016-05-31 09:59:08 939 3

转载 Mock以及Mockito的使用

几点说明:代码中的 //很多时候,为了避免中文歧义,我会用英文表述原文地址:http://www.open-open.com/lib/view/open1462177583813.html在第一篇文章里面 我们提到,返回类型为void方法的单元测试方式,往往是验证里面的某个对象的某个方法是否得到了调用。在那篇文章里面,我举的例子是activity

2016-05-26 10:52:28 968 2

转载 Android Studio2.0搭建NDK环境

现在使用Ndk开发的场景还蛮多,游戏引擎、音视频开发等都能涉及到,以前的工程大部分都是Eclipse的工程目录,但是App开发现在大部分都是在AndroidStudio开发工具中进行的,那就有个问题了?怎么在As中搭建Ndk的环境呢。这就是本篇文章所要解答的,并且会创建一个小例子,编译成.so文件,且在项目中使用。Come on….在没具体动手之前我们想一想怎么实现比较好吧,假如我们新建一

2016-05-24 10:28:34 923 1

转载 SignalR(ASP.NET)实现推送功能

在 Asp.NET MVC 中使用 SignalR 实现推送功能罗朝辉 ( http://blog.csdn.net/kesalin )CC许可,转载请注明出处一,简介Signal 是微软支持的一个运行在 Dot NET 平台上的 html websocket 框架。它出现的主要目的是实现服务器主动推送(Push)消息到客户端页面,这样客户端就不必重新发送请

2016-05-23 14:05:43 6972 2

转载 如何理解android中的Context?

Activity mActivity =new Activity()作为Android开发者,不知道你有没有思考过这个问题,Activity可以new吗?Android的应用程序开发采用JAVA语言,Activity本质上也是一个对象,那上面的写法有什么问题呢?估计很多人说不清道不明。Android程序不像Java程序一样,随便创建一个类,写个main()方法就能运行,Android应用模型是基于组

2016-05-21 11:55:33 605 2

转载 在Android中加入和使用Realm(速度更快,更先进加密性更好)

介绍如果你比较关心android开发的最新动态的话,那么你肯定会听说过Realm,Realm是一个轻量级的数据库,在Android开发中,它可以替代SQLite和ORM框架。和SQLite相比,Realm速度更快并且它有很多先进的特性,例如对JSON的支持,流畅的API,数据变化通知(观察者),加密支持… 所有的这一切都会让android开发者日子过得更潇洒(这里扯淡了,开发者日子

2016-05-20 15:28:00 2167 1

转载 MpAndroidChart强大的图表功能

核心特征8 个不同的图表类型在两个轴上进行缩放 ( touch-gesture, axes separately or pinch-zoom)Dragging / Panning (with touch-gesture)结合图表进行显示 (line-, bar-, scatter-, candle-data)双轴或独轴显示自定义 坐标轴显示 (both x- and y-轴)高亮属

2016-05-20 11:52:04 1014 1

原创 SmoothProgressBar 水平进度条

GithubDemo地址:https://github.com/castorflex/SmoothProgressBar效果图如下:                gradle上添加下面这段代码dependencies { // of course, do not write x.x.x but the version number compil

2016-05-20 11:18:20 2932 2

原创 FancyCoverFlow(GalleryView)

先看实现效果图:这是Github上的一个开源库,虽然没有对应的AndroidStudio版本(通过 在gradle添加一句话就引入到项目中),但是可以通过import project通过依赖的方式添加到项目,完美实现效果。导入依赖就不说了,梳理一下导入项目之后的过程在布局中添加FancyCoverFlow的view <at.technikum.mti.fancycoverflo

2016-05-20 10:19:50 678 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除