- 博客(418)
- 资源 (57)
- 收藏
- 关注
转载 js数组合并concat()和运用.apply()实现扁平化具体解析
今天偶然间看到了数组扁平化的一个方法,很简单只有一行代码,对于初学者小白来说很适合使用,但是有局限性,下面我们来看看吧。 let aa=[[12,21],[1,2,3],[2,3,4]]; function turn (arr){ return [].concat.apply([],arr); } console.log(turn(aa)); 输出的结果呢当然就是下面躁动不安的我开始胡思乱想为什么这样一行语句就可以把数组拆开呢,apply在这里扮演着
2020-11-23 11:33:53
1441
1
转载 一次性讲明白vue插槽slot
一、前言vue官方文档中在"组件基础"内容中提到组件可以通过插槽分发内容,那插槽是怎么使用的呢?它要解决什么场景的问题呢? 我们在构建页面过程中一般会把用的比较多的公共的部分抽取出来作为一个单独的组件,但是在实际使用这个组件的时候却又不能完全的满足需求,我希望在这个组件中添加一点东西,这时候我们就需要用到插槽来分发内容。 注意:以下的所有内容是基于vue版本 2.6.0 起二、插槽是什么下面看一个例子 写一个父组件: test.vue<template> <div
2020-11-23 11:31:30
242
1
转载 Vue-Cli4基础配置及目录简介
Vue-Cli4基础配置 vue是一个JavaMVVM库,是一套用于构建用户界面的渐进式框架,是初创项目的首选前端框架。它是以数据驱动和组件化的思想构建的,采用自底向上增量开发的设计。它是轻量级的,它有很多独立的功能或库。初始环境配置Vue安装需下载node.jsVue提供了一个CLI,为单页面应用 (SPA) 快速搭建繁杂的脚手架。配置过程大致总结如下:打开终端: 安装node.js,安装完node.js之后,npm也会自动安装。查询是否安装成功的命令:node -v...
2020-11-13 16:21:15
612
1
转载 Vuex数据状态持久化-vuex-persistedstate
vuex可以进行全局的状态管理,但刷新后刷新后数据会消失,这是我们不愿意看到的。怎么解决呢,我们可以结合本地存储做到数据状态持久化,但是太麻烦每次都要操作,强烈建议使用插件利用vuex-persistedstate插件.今天推荐两种vuex-persistedstate和vuex-persist第一种 vuex-persistedstate插件安装npm install vuex-persistedstate --save1.使用vuex-persistedstate默认存储到local
2020-11-13 09:59:44
3171
原创 vue使用prerender-spa-plugin预渲染达到SEO优化
传统页面和框架开发的区别传统html是通过a标签跳转来作为切换的,每一个页面都是一个html,这样百度很容易抓取到的,也能顺着a链接到你的子级页面。 像vue、react、angular开发的都是spa应用,他只有一个页面index,他们都是内加载,动态加载切换路由的,所以你再多页面百度蜘蛛只能爬到首页,这就是spa的一大痛点解决方案说完了区别说下怎么解决这个问题,目前我所了解的两种:vue.js官网提供的SSR(服务端渲染)这种方案呢学习成本高,对于刚开始的新手来说可能有点难度(也包括我..
2020-11-11 15:34:12
2849
1
原创 App 模块化实战经验总结
随着业务的不断发展壮大,App 端所承担的功能也越来越重,特别是代码几易其主之后开始变得杂乱无章,牵一发而动全局的事情时常发生。为了应对团队壮大之后的开发模式,我们必须要对业务进行隔离,同时沉淀出通用组件,完善移动开发的基础设施。1. 痛点模块化之前,我们主要面临以下痛点:业务边界不清晰通用代码与业务代码耦合代码、资源文件大量重复常量满天飞其中业务边界不清晰是最大的痛点,最直接的表现就是处处有
2017-05-02 15:04:32
10378
1
原创 三步实现控件悬浮
原理很简单,用RecyclerView addHeaderView的方式实现,实现步骤:1.添加依赖1.compile 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.14'2.compile 'com.android.support:recyclerview-v7:25.1.0'导入BaseRecyclerViewAdapterHe
2017-05-02 14:49:01
5145
转载 JQuery+ajax+jsonp 跨域访问
Jsonp(JSON with Padding)是资料格式 json 的一种“使用模式”,可以让网页从别的网域获取资料。关于Jsonp更详细的资料请参考http://baike.baidu.com/view/2131174.htm,下面给出例子: 一.客户端> html> head> meta http-equiv="Content-Type" content="text/html; cha
2016-12-16 13:10:33
10456
1
翻译 Instant Run工作原理及用法
Instant RunInstant Run,是android studio2.0新增的一个运行机制,在你编码开发、测试或debug的时候,它都能显著减少你对当前应用的构建和部署的时间。当我们第一次点击run、debug按钮的时候,它运行时间和我们往常一样。但是接下去的时间里,你每次修改代码后点击run、debug按钮,对应的改变将迅速的部署到你正在运行的程序上,传说速度快到你都来不及把注意力
2016-11-25 13:34:11
5831
翻译 Android Studio2.0的逆天功能Instant Run(告别编译运行)
作为一个Android开发者,很多的时候我们需要花大量的时间在bulid,运行到真机(虚拟机)上,对于ios上的Playground羡慕不已,这种情况将在Android Studio 2.0有了很大改善,使用instant run,在第一次运行之后,就可以快速的在真机中看见修改后的结果,不仅仅是UI可以直接显示,还包括代码逻辑。不用再苦苦等build了,节约生命呀! 即时运行:更快的构建和部署
2016-11-25 12:07:03
8460
翻译 ButterKnife使用手册中文
简介ButterKnife意为“黄油刀”,意思是此开源库可以让你的应用开发过程像用刀切黄油一样干净利落。此库的核心功能是通过注解来实现视图的注入,从而在代码中避免冗余的方法调用和丑陋的内部类监听器。简单的理解“绑定”的概念,就是将View和任意一个对象相互关联,从而在该对象中,不用findViewById就能使用View上的所有子视图,不用setOnClickListener就能给控件设置监听
2016-11-24 10:14:35
5217
原创 RxAndroid + OkHttp + MVP(Android Studio)
MVP是一种架构,是区别于MVC的,可以有更好的去耦合性,最终的目的都是方便于我们的开发维护工作。有兴趣的可以google了解详情,也可以通过我这个简单的demo有个初步的一些体验与了解 下面讲述一下具体该怎么在代码里面用。 第一:新增一个Project,使用RxAndroid之前的一些工具包的准备(在Module:app里面的build.gradle的dependencies里面
2016-11-24 10:11:15
7358
1
翻译 Android各大网络请求库的比较及实战
自己学习android也有一段时间了,在实际开发中,频繁的接触网络请求,而网络请求的方式很多,最常见的那么几个也就那么几个。本篇文章对常见的网络请求库进行一个总结。HttpUrlConnection最开始学android的时候用的网络请求是HttpUrlConnection,当时很多东西还不知道,但是在android 2.2及以下版本中HttpUrlConnection存在着一些bug,所以建
2016-11-24 09:59:56
6669
1
翻译 AndFix Bug热修复框架原理及源码解析
AndFix原理AndFix的原理就是方法的替换,把有bug的方法替换成补丁文件中的方法。 注:在Native层使用指针替换的方式替换bug方法,已达到修复bug的目的。使用AndFix修复热修复的整体流程:方法替换过程:源码解析解析源码从使用的方法一一解析。在自定义Application中初始化PatchManger:PatchManager mPatchManager = new Patc
2016-11-09 11:18:01
9077
翻译 AndFix Bug热修复框架的使用
AndFix这篇主要介绍alibaba的AndFix项目的使用,下一篇介绍 AndFix原理及源码解析。Github:https://github.com/alibaba/AndFixAndFix介绍AndFix是一个Android App的在线热补丁框架。使用此框架,我们能够在不重复发版的情况下,在线修改App中的Bug。AndFix就是 “Android Hot-Fix”的缩写。 就目前来
2016-11-09 11:15:38
4941
原创 如何使用Android Studio把自己的Android library分享到jCenter和Maven Central
如果你想在Android Studio中引入一个library到你的项目,你只需添加如下的一行代码到模块的build.gradle文件中。123dependencies { compile 'com.inthecheesefactory.thecheeselibrary:fb-like:0.9.3'}就是如此简单的一行代码,你就可以使用这个library了。酷呆了。不过你可能很好奇Andro
2016-07-29 09:35:10
5552
翻译 Google推荐的图片加载库Glide介绍
在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。毫无疑问,这个库引起了我的兴趣。于是我花了一个晚上研究和把玩它,将它的实现原理分析清楚以后,我决定写一篇博文分享一些自己的经验。在开始之前我想说,Glide和Picasso有90%的相似度,
2016-07-29 09:27:45
5405
翻译 Android使用fitsSystemWindows属性实现--状态栏【status_bar】各版本适配方案
Android使用fitsSystemWindows属性实现--状态栏【status_bar】各版本适配方案首先我们看下qq的status bar在各个android版本系统中适配: 1.Android5.0以上:半透明(APP 的内容不被上拉到状态) 2.Android4.4以上:全透明(APP 的内容不被上拉到状态) 3.Android4.4以下:不占据status bar 这里我们就按照
2016-07-29 09:24:53
8513
翻译 最清晰的Android多屏幕适配方案
当您的Android应用即将发布的时候,如果你想让更多的用户去使用你的应用,摆在工程师面前的一个重要问题就是如何让你的应用能在各种各样的终端上运行,这里的各种各样首当其冲的就是不同的屏幕分辨率和尺寸。 屏幕适配主要从图片和距离(文字)进行下手。从以往的方式适配方式中,开发者可能会考虑各种各样的分辨率,比如480*800、1280*800、1920*1080等,为此在资源文件夹里面创建了一大堆
2016-07-29 09:22:51
10695
原创 你需要知道的Android拍照适配方案
拍照功能实现Android 程序上实现拍照功能的方式分为两种:第一种是利用相机的 API 来自定义相机,第二种是利用 Intent 调用系统指定的相机拍照。下面讲的内容都是针对第二种实现方式的适配。通常情况下,我们调用拍照的业务场景是如下面这样的:A 界面,点击按钮调用相机拍照;A 界面得到拍完照片,跳转到 B 界面进行预览;B 界面有个按钮,点击后触发某个业务流程来处理这张照片;实现的大体流程代
2016-06-21 14:38:26
15726
2
翻译 Android App 不死之路
如何让你的app一直在运行状态呢?默认情况下,不做任何跨进程部署配置的话,每个android app运行在单独一个虚拟机上,每个虚拟机对应一个进程。当app被系统回收或者是被用户主动杀掉(通过app管理软件),进程就彻底退出了。在有些场景,app所在的进程退出了,我们希望还能做一些操作。比如,app被卸载后(卸载会先退出运行),我们希望跳转浏览器做一些卸载原因的调查问卷;或者为了优化体验,提高ap
2016-06-21 14:33:06
9112
翻译 关于Android的.so文件所需要知道的
早期的Android系统几乎只支持ARMv5的CPU架构,你知道现在它支持多少种吗?7种!Android系统目前支持以下七种不同的CPU架构:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起),每一种都关联着一个相应的ABI。应用程序二进制接口(Application Binary Int
2015-12-30 16:45:21
11719
1
翻译 Android surfaceview详解(一)
surface,这个单词的意思是浮在表面的,那么surfaceview就是浮在表面的view了。如果真的这样解释,估计有人要拍砖了。然而,话虽不能这么说,取这个名儿,多少还是有点关系的。surface是一个可见区域。我们在屏幕上看到的这些view,在屏幕上看到的就是画面,在内存中就是一块内存区。绘图的时候,就是显示的硬件如显卡将内存区的这块图形数据绘制到屏幕上。所以,从内存的角度去看这些东西,会比
2015-12-29 08:55:09
8533
原创 Mobiscroll的介绍【一款兼容PC和移动设备的滑动插件】
Mobiscroll是一个用于触摸设备的日期和时间选择器,它的使用不会改变HTML5、PhoneGap以及混合应用的原生用户体验。作为一款jQuery日期插件,用户可以自定义主题样式,为自己的移动项目UI组件添色。Mobiscroll支持所有主流平台:iOS、Android、BlackBerry, Windows Phone 8以及Amazon Kindle。 此作品是一款非常实用且兼容PC和移
2015-11-11 16:00:38
33330
3
原创 Android 4.4后WebView的一些注意事项
自Android 4.4起,Android中的WebView开始基于Chromium( 这大概是因为Android部门负责人从Andy Rubin变成了Chrome部门的主管Sundar Pichai了吧,^_^)。这个改变使得WebView的性能大幅度提升,并且对HTML5, CSS3, and JavaScript有了更好的支持。那么,作为一个客户端开发者,我们写代码的时候需要注意哪些呢?1.
2015-10-28 12:01:48
10735
1
原创 Android机型适配之痛[干货分享]
Android平台的诞生为手机智能化的普及立下汗马功劳,但其最大的缺点也越来越凸显,那就是碎片化严重:设备繁多、品牌众多、版本各异,芯片、摄像头、分辨率不统一等等,这些都逐渐成为Android系统发展的障碍,碎片化严重不仅造成Android系统混乱,也导致Android应用隐形开发成本的增多。本文中详细介绍了Android琳琅满目的适配问题。一、个性化十足的Launcher快捷方式虽然看起来只是一
2015-10-28 11:25:56
7505
8
原创 android 多线程断点续传下载 四 - 仿下载助手
我们先一起简单回顾下它的基本原理。http://blog.csdn.net/shimiso/article/details/6763664 android 多线程断点续传下载 一http://blog.csdn.net/shimiso/article/details/6763986 android 多线程断点续传下载 二http://blog.csdn.net/shimiso/article/
2015-10-27 16:50:26
9025
5
原创 ReactJs入门教程-精华版
现在最热门的前端框架有AngularJS、React、Bootstrap等。自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了我,下面来跟我一起领略ReactJs的风采吧~~ 文章有点长,耐心读完,你会有很大收获哦~ 一、ReactJS简介 React 起源于 Facebook 的内部项目,因为该公司对市场上所有 JavaScript MVC
2015-10-27 16:16:27
4225
原创 Android自定义控件系列四:绘制实用型的柱形图和折线图
概述:前几天突然需要做两种图表——柱形图、折线图,于是第一反应是先看看网上有没有现成的,结果有是有,但都不是想要的,而且大多数不是用纯android代码完成,不过HTML5似乎完成这类工作要容易得多,单是非我们所擅长。**知识点:**android自定义view、图形图像、Fragment、MVC模式。Demo界面是模仿红圈营销搭建的折线图: 代码,注释很详细,直接看代码就行了:001.publi
2015-10-27 16:07:52
10399
18
原创 Android自定义控件系列三:如何画画
前面章节我们说了如何定义属性、如何定义宽高,这样之后组件的简单外形或轮廓就已经出来,或者说已经定义出了画布的大小,解下来就是如何在画布上挥毫泼墨了。组件(除了容器组件)实际上都是靠画出来的,通过系统提供的画笔(Paint)以及基本图形(圆、矩形、直线等)就可以完整的勾画出一个组件。下面就详细介绍如何画以及一些技巧:如何获取颜色一般情况下,要实现啥样的组件,是由美工设计出效果图,或者是网上找的些图片
2015-10-27 15:47:05
3714
1
原创 Android自定义控件系列二:如何自定义属性
上一篇Android自定义控件系列一:如何测量控件尺寸 我们讲了如何确定控件的属性,这篇接着也是讲个必要的知识-如何自定义属性。对于一个完整的或者说真正有实用价值的控件,自定义属性是必不可少的。如何为控件定义属性在res/values/attrs.xml(attrs.xml如果不存在,可以创建个)中使用标签定义属性,比如我想定义个显示头像的圆形的图片控件(AvatarImageView):01.x
2015-10-27 15:43:41
3028
原创 Android自定义控件系列一:如何测量控件尺寸
测量控件尺寸(宽度、高度)是开发自定义控件的第一步,只有确定尺寸后才能开始画(利用canvas在画布上画,我们所使用的控件实际上都是这样画上去的)。当然,这个尺寸是需要根据控件的各个部分计算出来的,比如:padding、文字大小,间距等。非容器控件的onMeasure下面我们就来看看如何给非容器控件(即直接extends View)这只尺寸的:1.@Override2.protected void
2015-10-27 15:25:01
8887
翻译 程序员的激情其实是一种痛苦
我不是一个“充满激情的程序员”。我觉得,固定8小时工作之后,就应该去做点别的事情,比如说看看科幻小说,和我亲爱的妻子聊聊天等等。当别人问起,我会正儿八经地这么回答,“这才是所谓的生活。你也应该试一试”。 其实我内心非常看不上那些充满激情的程序员,他们所谓的激情就是一天花上12甚至16个小时坐在电脑前写代码,或者为了写代码而牺牲了自己的爱好、睡眠以及人际交往,有时候甚至连基本的生活自理都无暇顾及。这哪
2015-09-09 16:26:40
3604
13
原创 Android开发过程中内存泄露检测
一、内存泄露内存泄漏会因为减少可用内存的数量从而降低计算机的性能。最终,在最糟糕的情况下,过多的可用内存被分配掉导致全部或部分设备停止正常工作,或者应用程序崩溃。内存泄漏可能不严重,甚至能够被常规的手段检测出来。在现代操作系统中,一个应用程序使用的常规内存在程序终止时被释放。这表示一个短暂运行的应用程序中的内存泄漏不会导致严重后果。在以下情况,内存泄漏导致较严重的后果:1)程序运行后置之不理,并且
2015-03-27 15:03:52
3524
1
翻译 Fragment销毁时replace和add两个方法的区别
这个首先从一个bug说起,如图: 我们都知道fragment切换有两种方式:1. replace方式transaction.replace(R.id.content, IndexFragment);2. add-hide-show方式transaction.add(R.id.content, IndexFragment); transaction.hide(otherfragment); tr
2015-03-27 15:01:33
47584
8
翻译 Android MP3录音实现
Android录音支持的格式有amr、aac,但这两种音频格式在跨平台上表现并不好。MP3显然才是跨平台的最佳选择。近期由于项目需要,实现了这个需求,代码托管在Github上,欢迎拍砖项目地址GavinCT/AndroidMP3Recorder使用方法见:README.md推荐直接下载libs.zip集成到自己项目里。【温馨提示:只下载此zip可以使用Chrome插件GitHub Mate】实现思
2015-02-03 12:05:10
22807
6
原创 用ADT的FileExplorer查看android手机中的数据库
在这之前首先手机要打开ROOT权限,可以借助安卓刷机精灵等一键ROOT软件其次像魅族、小米等手机拿到ROOT以后不能执行su命令,所以无法给手机中的文件授权,需要下载一个SuperSU权限管理器有了他们我们就可以开始下面的步骤了:1.window->show view->other2. 输入 file 查找 3. 出来了吧4. 可惜啊,data文件夹死活打不开啊, 看这个办法 当然在这之前需要把S
2015-01-14 18:12:59
11157
2
转载 从程序员到项目经理
在希腊德尔斐的阿波罗神庙上,刻得着一句神秘的箴言:“认识你自己”。从某种程度上来说,我们都是自己的“最熟悉的陌生人”。认识自己的位置,是每个人获得成长的第一堂课。一个人的位置,对其言行的影响是至关重要的,俗话说:“屁股决定脑袋”,虽然听着粗俗,却饱含人生哲理。既然我们屁股在项目经理的位置上,就应该像项目经理一样去思考问题,做事情。一.项目经理的处境经过数年的打拼,怀着美好的向往,我们终于成了他——
2014-11-20 15:16:42
4048
转载 给程序员的忠告(转)
展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们。01. 自己的户口档案、养老保险、医疗保险、
2014-11-20 15:06:11
3297
5
原创 Android.9图片讲解(二)
1、Android中放置图片资源的文件夹Android中一般有drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi、drawable-xxhdpi等放置图片资源的文件夹,这几个文件夹分别对应的像素密度为:文件夹对应的像素密度drawable-ldpi120dpidrawable-mdpi160dpidrawable-hdpi240dpid
2014-11-13 15:36:41
3526
2
ZXing经典例子
2013-04-10
AvatarImageView
2015-10-27
收据手袋软件
2013-11-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人