自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MarcoZhan的博客

千里之行,始于足下

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

转载 Android Webview详解

前言现在很多App里都内置了Web网页(Hyprid App),比如说很多电商平台,淘宝、京东、聚划算等等,如下图 那么这种该如何实现呢?其实这是Android里一个叫WebView的组件实现的。今天我将全面介绍WebView的常用用法。目录1. 简介WebView是一个基于webkit引擎、展现web页面的控件。 Android的Webview在低版本和高版本采用了不同的webkit版本内

2017-04-29 00:47:14 2110

转载 Android Studio若干实用的插件

1、LayoutCreator功能可以让你在Activity/Fragment中自动生成findViewById等布局相关初始化代码 或者在Adapter中自动生成ViewHolder代码如果你有任何新的需求或者想法意见,也可以在issue中提出~ 安装方式一. 下载项目中的jar包,通过本地disk方式导入 方式二. 在Android Studio的插件中心搜索LayoutCreator下载

2017-04-21 12:00:09 641

转载 Android音视频点/直播模块开发

前言随着音视频领域的火热,在很多领域(教育,游戏,娱乐,体育,跑步,餐饮,音乐等)尝试做音视频直播/点播功能,那么作为开发一个小白,如何快速学习音视频基础知识,了解音视频编解码的传输协议,编解码方式,以及如何技术选型,如何解决遇到的坑,本文抛砖引玉,欢迎大咖交流。一. 音视频的基础知识1.1 基本概念视频是什么静止的画面叫图像(picture)。连续的图像变化每秒超过24帧(frame)画

2017-04-16 22:46:51 1664

转载 关于Android单元测试

【转载自美团点评技术团队的一篇文章,原文在这里:http://http://tech.meituan.com/Android_unit_test.htmld_unit_test.html。为了方便大家阅读,特在这里贴出原文内容,若涉嫌侵犯权益请告知,我会立即删除。】Android单元测试介绍处于高速迭代开发中的Android项目往往需要除黑盒测试外更加可靠的质量保障,这正是单元测试的用武之地。单元测

2017-04-16 18:55:45 807

原创 初识http、https、TCP/IP、Socket网络通信

网络由下往上分为: 物理层–                     数据链路层–网络层–                       IP协议传输层–                       TCP协议会话层–表示层和应用层–           HTTP协议 一、TCP/IP连接  手机能够使用联网功能是因为手机底层实现了TCP/IP协议,可以使手机终端通过无线网络建立TCP连接。

2017-04-14 15:47:14 2693

转载 内存泄漏与内存溢出分析

Java是垃圾回收语言的一种,开发者无需特意管理内存分配。但是JAVA中还是存在着许多内存泄露的可能性,如果不好好处理内存泄露,会导致APP内存单元无法释放被浪费掉,最终导致内存全部占据堆栈(heap)挤爆进而程序崩溃。内存泄露说到内存泄露,就不得不提到内存溢出,这两个比较容易混淆的概念,我们来分析一下。内存泄露:程序在向系统申请分配内存空间后(new),在使用完毕后未释放。结果导致一直占据该

2017-04-12 23:25:35 743

转载 关于MVC、MVP架构

这里开始记录下来自己对MVC、MVP、MVVM这三种框架模式的理解,本文从以下几个方面来梳理。架构的目的框架模式、设计模式MVC设计的介绍MVC在Android中的应用MVC该如何设计MVP设计的介绍MVP在Android中的应用1. 架构的目的当我们在进行OOP编程时,一切对象来源于需求,对象结合业务逻辑通过多态、继承、等封装成各个业务模块。我们通过设计将程序模块化,使模块内部高内

2017-04-12 23:20:12 483

转载 Android图片加载框架 Glide 的基本用法

转载自郭霖博客:http://blog.csdn.net/guolin_blog/article/details/53759439现在Android上的图片加载框架非常成熟,从最早的老牌图片加载框架UniversalImageLoader,到后来Google推出的Volley,再到后来的新兴军Glide和Picasso,当然还有Facebook的Fresco。每一个都非常稳定,功能也都十分强大。但是它们的使用场景

2017-04-12 22:56:01 1803

转载 完美结合LruCache和DiskLruCache实现Android照片墙

转载自:http://blog.csdn.net/guolin_blog/article/details/34093441Android照片墙完整版,完美结合LruCache和DiskLruCache ,看一看在实战当中应该怎样合理使用DiskLruCache。还不熟悉DiskLruCache用法的朋友可以先去参考郭霖大神的文章 Android DiskLruCache完全解析,硬盘缓存的最佳方案

2017-04-12 21:26:47 563

转载 RxBus对比EventBus

本文通过原理分析和实测结果对EventBus和RxBus做详尽的对比,给大家在实际项目中选型做参考。开始之前先提一下Otto:https://github.com/square/otto当初Android上的事件总线系统是两强相争,老大是EventBus,老二就是Otto。在EventBus官方的性能测试代码中,只和Otto做了对比测试。这么重要的人物为了么这次没出场呢?是因为它已经停止开发了。Ot

2017-04-12 20:48:12 1231

转载 ConstraintLayout新布局

在去年,2016年的Google i/o 大会上,Google推出了Android studio2.2,其中包含了为Android界面布局推出的最新的约束型布局ConstraintLayout,接触过iOS界面开发的朋友,可以认为这是Google为Android推出的AutoLayout布局。因为这方面的资料还不是很多,大部分的资料都是Google官方介绍翻译,没有具体用在项目里的实例,在此正好公司

2017-04-08 17:25:29 595

原创 Android Studio 2.3 正式版发布!看看有什么新功能

Android Studio 2.3 正式版发布了!来看看我们的劳动工具 2.3 有什么新功能吧!编译Instant Run工具栏上增加了一个“闪电”的标志,原来的「Run」按钮(Shift+F10)会保持全量编译。新增的「闪电」按钮(Gradle 需要升级到 2.3.0)才是 Instant Run,会在程序保持运行的情况下替换代码。Instant Run 的底层代码有很大的改进,消除了的启动延时

2017-04-08 17:16:48 625

原创 Android TextView 设置超链接、关键字高亮等效果

之前做TextView关键字高亮效果,使用的是Html.fromHtml(String source)方法,然后通过TextView的setText(CharSequence text)方法来显示后来测试此方法在部分手机上显示有问题,如Nexus4,华为P6等等。于是乎只能继续寻找别的解决办法了,在这里Mark一下。这里用到了SpannableString类使用 SpannableString.

2017-04-08 17:13:57 813

转载 NDK 和 jni 的关系

目录(?)[+]首先我们要知道Java是如何调用cc的什么是JNI简介为什么要使用JNI怎么使用JNI开发工具JNI中的JavaVM与JNIEnv对象JavaDalvik VMCC的运行机制与流程 在Android的NDK中JavaCCDalvik VM关系如下NDK和jni的区别 首先我们要知道Java是如何调用c/c++的什么是JNIJava native interface(j

2017-04-06 18:17:54 355

转载 Android Studio 2.2 NDK 开发 之 cMake 方式

前言:Android Studio 推出 2.2 之后 ,解锁一个 NDK 开发新姿势 : cMake ;跟传统的(Android Studio 2.2 之前)有很多大的不同.首先来比较一下两者的目录结构: 传统方式:cMake 方式:结构上还是有略微的差别的 ,接下来进入主题 。1、环境搭建这就不多说了,照着传统方式做,http://www.jianshu.com/p/e7c2c63fa70e

2017-04-06 17:43:29 666

转载 Android Studio 中 NDK 开发与调试(生成 .so 文件)

温馨提示:如果你的 Android Studio 版本在 2.2 以上 , 建议你用 cMake 的新姿势进行 NDK 开发 : http://www.jianshu.com/p/e03028f826d7我相信你会爱上 cMake 的;1. 环境搭建俗话说 “工欲善其事,必先利其器” ;所以咱还是得先下载 ndk;下载地址 :https://developer.android.com/ndk/d

2017-04-06 17:39:20 1509

转载 Java之线程池使用

出处:http://www.cnblogs.com/dolphin0520/           在前面的文章中,我们使用线程的时候就去创建一个线程,这样实现起来非常简便,但是就会有一个问题:  如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。  那么有没有一种办法使得线程可以复用,就是执行完

2017-04-02 10:46:26 277

转载 2017 年初、阿里、腾讯、百度、华为、京东、搜狗和滴滴面试题汇集

面临2016年寒冬季节,大量公司模仿O2O模式导致死掉企业的很多,在加之培训机构大量的培训人,导致供大于求,当然这不意味着饱和,只是市场更趋于合理一些(只要技术好不用怕的)。最近结合一些面试的同学和大牛们(张旭童)反馈,前几天听童哥去阿里面试顺便整理了下一些面试题目。希望对大家有所帮助,后期会不断更新添加新的面试题。可以帮大家查漏不缺。以下是(2016、2017 、阿里、腾讯、百度、华为、京东、搜

2017-03-25 17:32:50 1314

原创 创建安卓app的30个经验教训

编辑推荐:稀土掘金,这是一个针对技术开发者的一个应用,你可以在掘金上获取最新最优质的技术干货,不仅仅是Android知识、前端、后端以至于产品和设计都有涉猎,想成为全栈工程师的朋友不要错过! Amazing design from https://ramotion.com这个世界上有两种人-从经验教训中学习的人以及

2017-03-25 17:13:13 821

转载 关于Android架构的一些思考

刚开始,因为业务比较赶,我们也没有进行比较好的顶层设计,对代码的要求也是最低要求——完成功能开发就行了。这种短期设计也就造成了我们代码的扩展性几乎为零,稍微添加一点新功能,都要大动干戈。在后台系统架构从TCP转为HTTP时,这些缺点则被放大到极致……所以,我们只有重构了。近一个月来,我工作的重心便是好好规划和设计我们项目的代码结构,同时分享给我们的Android组并予以实行。因为研究了很多的架构,其

2017-03-23 17:36:30 411

原创 Android 若干错误总结

一、 Error:Execution failed for task ‘:app:transformClassesWithPreJackPackagedLibrariesForDebug’. com.Android.build.api.transform.TransformException: com.android.jack.api.ConfigNotSupportedException:

2017-03-22 11:13:02 854

转载 Android 通知栏Notification的整合 全面学习 (一个DEMO让你完全了解它)

在Android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等。下面就来说说经常会使用到通知机制中的通知栏框架(Notificaiton),它适用于交互事件的通知。它是位于顶层可以展开的通知列表。它会时不时的提醒你什么软件该更新了,什么人发你微信消息了等。(网上看了下

2017-03-22 11:11:26 770

原创 Android PopupWindow怎么合理控制弹出位置

说到PopupWindow,应该都会有种熟悉的感觉,使用起来也很简单// 一个自定义的布局,作为显示的内容Context context = null;  // 真实环境中要赋值int layoutId = 0;      // 布局IDView contentView = LayoutInflater.from(context).inflate(layoutId, null);final

2017-03-15 16:48:59 757

原创 带webView的Activity中实现监听左右滑动

1.设置手检测器,初始化并在activity中重写dispatchTouchEvent方法 (对WebView的手势监听重写的不是onTouchEvent,而是dispatchTouchEvent)GestureDetector detector; //手势监测器* detector = new GestureDetector(this)//监听webView需要在该方法中实现,而不是重写ONTO

2017-03-14 11:01:44 1430

原创 Android中WebView使用

WebView在现在的项目中使用的频率应该还是非常高的。我个人总觉得HTML5是一种趋势。找了一些东西,在此总结。本篇最后有一个非常不错 的 Html5Activity 加载类,不想看的可以直接跳下载。WebSettingsWebSettings webSettings = mWebView .getSettings();//支持获取手势焦点,输入用户名、密码或其他webview.requ

2017-03-14 10:57:56 515

原创 shareSDk分享功能实现

官方教程: Android studio下使用ShareSDK Android_快速集成指南 Android ShareSDK完整的集成文档 Android 不同平台分享内容的详细说明 [开源代码] 快捷分享——不同平台分享不同内容 高级自定义功能 ShareSDK自定义界面+仿搜狐视频弹窗分享详解 集成可以参考: 在Android Studio中

2017-03-13 19:02:12 1105

转载 Android开发:最全面、最易懂的Android屏幕适配解决方案

前言Android的屏幕适配一直以来都在折磨着我们Android开发者,本文将结合:Google的官方权威适配文档郭霖: Android官方提供的支持不同屏幕大小的全部方法Stormzhang:Android 屏幕适配鸿洋:Android 屏幕适配方案凯子: Android屏幕适配全攻略(最权威的官方适配指导)自身的思考&实践 给你带来一种全新、全面而逻辑清晰的Android屏幕适配思路,只要

2017-03-13 11:11:12 420

转载 Android 屏幕适配方案

1、概述大家在Android开发时,肯定会觉得屏幕适配是个尤其痛苦的事,各种屏幕尺寸适配起来蛋疼无比。如果我们换个角度我们看下这个问题,不知道大家有没有了解过web前端开发,或者说大家对于网页都不陌生吧,其实适配的问题在web页面的设计中理论上也存在,为什么这么说呢?电脑的显示器的分辨率、包括手机分辨率,我敢说分辨率的种类远超过Android设备的分辨率,那么有一个很奇怪的现象: 为什么Web页

2017-03-13 11:03:22 252

转载 Android Studio常见问题以及解决方式

gradle build的时候出现的问题: Error:Execution failed for task ':app:packageDebug'. Duplicate files copied in APK META-INF/notice.txt 解决办法:http://stackoverflow.com/questions/22467127/error-duplicate-files-du

2017-03-13 10:59:16 2341

原创 Android App优化之ANR详解

引言App优化系列已近中期, 前面分享了一些工具, 理论, 也结合了案例谈了下启动优化, 布局分析等. 原计划将本文作为这个系列的一个承上启下点, 对前面几篇作一个小总结, 聊聊App流畅度和快速响应的话题.粗一缕, 发现内容还是很多, 暂且拆成几篇来慢慢写吧, 勿怪~今天先来聊聊ANR.1, 你碰到ANR了吗在App使用过程中, 你可能遇到过这样的情况:恭喜你, 这就是传说中的ANR.1.1 何为

2017-03-10 16:58:31 408

原创 Android App优化之消除卡顿

引言前文App优化之ANR详解中说到的ANR基本是属于App中卡,慢的极致了, 属于不可用的状态了. 然而, 现实中有很多的App卡顿是不会产生ANR的, 但是又是用户可以感知的, 给人感觉我们的App运行非常慢, 影响用户体验.这节我们就来聊聊App中的卡顿现象.1, 感知卡顿用户对卡顿的感知, 主要来源于界面的刷新. 而界面的性能主要是依赖于设备的UI渲染性能. 如果我们的UI设计过于复杂, 或

2017-03-10 16:55:10 511

原创 Android App优化之Layout怎么摆

优化完App的启动速度, 接下来我们要关注的就是UI布局怎么更高效了.欲善其事, 先利其器. 分析布局, 就不得不用到Hierarchy Viewer了. 本文工具使用皆以GithubApp的详情界面RepoDetailActivity为例说明. 为了不影响阅读体验, 对应的布局文件activity_repo_detail.xml的代码放在文末1, Hierarchy Viewer怎么用

2017-03-10 16:43:29 397

原创 Android App优化之提升你的App启动速度之实例挑战

1, 代码分析以之前写的Github App为例.因为这个App集成了Bugly, Push, Feedback等服务, 所以Application的onCreate有很多第三方平台的初始化工作…public class GithubApplication extends MultiDexApplication {@Overridepublic void onCreate() { supe

2017-03-08 18:07:43 394

原创 Android App优化之提升你的App启动速度之理论基础

1, 欲善其事, 先利其器论语有云: 工欲善其事,必先利其器. 要想提升App的启动速度, 我们需要先找到拖后腿的点, 要想找到这些点, 我们就需要借助我们的工具了.前文提到了很多工具, 今天我们使用Traceview来分析我们的启动过程.1.1 Traceview介绍Traceview是一个性能分析工具, 主要是分析当前线程情况, 各个方法执行时间等. 如下: traceview 指标说明

2017-03-08 17:58:59 331

原创 Android App优化之性能分析工具

今天聊下个人比较惯用的一些App性能测试和分析工具, 先上个图: ![性能分析工具] 本文暂不对工具的使用做过多的深入. 在后续的具体实例中会具体说明怎么用这些工具来达成分析目的和解决问题的.1, 官方工具一般来说, 学习一门新的技术, 最应该做的就是阅读其官方文档, 那是最权威的. Android本身给我们提供了很多App性能测试和分析工具, 而且大部分都集成到Android Studio

2017-03-08 17:49:56 431

转载 Android Studio 工具栏添加图标

本文中 Android Studio 的版本为 Android Studio 2.2 ,操作系统为 Windows,如有操作不同,可能是版本差异。在工具栏中添加一些常用的图标有利于我们开发,举例说明:Android Studio 2.2 版本的菜单栏和工具栏在开发时,常用的 DDMS 在新版本的工具栏中找不到,当然我们也可以通过 Tools –> Android –> Android Devi

2017-03-08 10:08:12 1823

转载 Android contacts 联系人 通讯录 源码 完全解析

Android contacts 联系人 通讯录 源码 完全解析1简介2软件架构3各功能模块分析1联系人数据的显示1联系人列表显示2联系人详细信息数据的显示2联系人数据的编辑和存储1编辑界面相关2数据存储相关3Sim联系人数据的整合1Sim卡联系人数据的显示2开机自动导入Sim卡联系人3telephony中IccProvider浅析4Sim卡联系人的手动导入导出4SD卡

2017-03-07 19:10:12 23851 1

转载 Android—初识NDK

转载自:http://blog.csdn.net/jiangwei0910410003/article/details/17710243/前几天研究了JNI技术后,想在Android上试一试研究结果,查阅了很多资料后,总结如下步骤:首先来看一下什么是NDKNDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so 和java 应用一起打包成apk。这些工具对开发者的帮助是巨

2017-03-07 09:27:18 316

原创 关于App重构的几个方面

关于App重构的几个方面最近跟一个朋友聊到关于App架构的问题, 其中就聊到一个App, 开发了很长时间, 一开始没有去想框架的事儿, 迭代过程中, 由于时间紧, 任务重, 人员更替等原因, 也没能保证代码质量, 很多设计原则被抛之脑后, 代码质量逐步下降, 以致难于阅读, 难于维护. 进而导致迭代困难, 而形成恶性循环.从而引申出如何重构App代码的话题, 谈点个人理解:什么情况下需要重构1, 结

2017-03-07 09:05:42 934

转载 Android 高清加载巨图方案 拒绝压缩图片

Android 高清加载巨图方案 拒绝压缩图片http://blog.csdn.net/lmj623565791/article/details/49300989 本文出自:【张鸿洋的博客】一、概述对于加载图片,大家都不陌生,一般为了尽可能避免OOM都会按照如下做法:对于图片显示:根据需要显示图片控件的大小对图片进行压缩显示。如果图片数量非常多:则会使用Lr

2016-03-23 20:21:15 255

空空如也

空空如也

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

TA关注的人

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