- 博客(47)
- 资源 (6)
- 收藏
- 关注
原创 JavaScript原型
一.原型1.初识原型JS中原型是一个很重要的概念,有点类似于java类中的静态变量,这么说也不是很准确。构造函数有个prototype属性,该属性是一个对象叫做原型对象,通过该属性可以为构造函数添加其实属性和方法然后被对象使用。 //构造函数 function User(name, age) { this.name = name; this.ag...
2019-07-16 08:05:32
312
原创 JavaScript面向对象
一.创建对象创建对象的方式有三种:通过Object构造函数自定义构造函数字面量创建对象1.通过Object构造函数 var obj = new Object(); obj.width = 100; obj.height = 200; obj.area = function () { return obj.width * obj.hei...
2019-07-09 14:51:29
228
原创 JavaScript预解析
JS代码的执行是由浏览器中的js解析器来执行的,js解析器执行js代码的时候,分为两个过程分为预解析过程和代码执行过程。1.预解析直接看代码
2019-07-08 11:24:52
379
原创 JavaScript作用域
概念作用域就是变量的作用范围。因此讲作用域之前必须先讲变量。 变量在很多编程语言中变量都有全局变量,局部变量的概念,JS中也是这样。JS中全局变量和局部变量的区别在于变量的定义位置不同,定义在函数之外的为全局变量;定义在函数内的为局部变量。<script> // 全局变量 var name = "magic"; // 隐式全局变量 age = "...
2019-07-04 18:12:10
176
原创 JavaScript函数
1.函数定义JS中用 function 关键字来声明函数。函数的定义和Java类似分为两种方式:命名函数、匿名函数。命名函数即是有函数名,匿名函数即没有函数名,匿名函数要被调用的话必须被一个变量接收,或者自调用。 function f1() { alert("命名函数") } // 命名函数调用通过函数名() f1(); // 匿...
2019-07-03 11:28:37
305
原创 JavaScript数组
数组JavaScript数组里面可以存放不同数据类型的数据,不像Java那样只能存放相同数据类型的数据。数组的创建方式:通过构造函数创建数组通过字面量创建数组1.通过构造函数创建数组 var array = new Array(); //指定数组长度 var array = new Array(3); array[0] = 1; array[1...
2019-07-01 16:44:06
268
原创 JavaScript基础
写在前面JavaScript 是一种轻量级的弱类型、基于原型的脚本语言,非面向对象语言。主要用于为界面提供动态交互。JavaScript编写方式分为两种:<html><head>// 第一种在<head>或<body>标签中加入<script>标签编写代码<script>...</script>&l...
2019-06-30 23:59:41
227
原创 处理ViewPager嵌套RecycleView卡顿问题
ViewPager里面添加了三个Fragment,Fragment里面添加了RecycleView,发现ViewPager左右滑动切换非常不流畅,存在滑动冲突,使用外部拦截进行处理 so easy~~~/** * Created by magic on 2017/6/12 0012.外部拦截处理ViewPager嵌套RecycleView左右滑动切换Fragment卡顿问题 */public
2017-06-12 22:51:36
2454
原创 Android中WebView的使用
WevView是一个可以显示网页的控件,它采用WebKit渲染引擎来显示网页。由于在实际开发中并未使用过WebView,所以对WebView并未有经验之谈,还有很多没有整理不打算写了,以后实际开发中在整理吧。本文参考慕课网、Android API。1、基本用法首先添加网络访问权限:<uses-permissionandroid:name="android.permission.INTERNET"/>
2016-10-26 15:34:03
1283
原创 Android线程间通信之Handler
Handler机制及基本使用也已经是老生常谈了~~~1、概述Android中拒绝子线程中更新UI。且主线程中过多执行耗时操作会造成界面卡顿导致ANR影响用户体验,因此Handler线程间通信的信使应运而生。Handler有两个主要用途:(1)调度消息和runnable对象作为将来的执行;及(2)将被执行在一个不同的线程自己的方法。1.Handler基本原理主线程(UI线程) 子线程(work线程)
2016-10-23 23:08:52
911
原创 Android中的序列化操作
1、概述对象序列化化后可以传递自定义对象数据,序列化的目的是将对象数据转换成字节流的形式。但是序列与反序列化仅处理Java变量而不处理方法,序列与反序列化仅对数据进行处理。 实现方法:实现Serializable接口(JDK提供的接口)实现Parcelable(AndroidSDK提供的接口,优先使用)二者区别:在内存的使用中,实现Parcelable接口在性能方面要强于实现Seriali
2016-10-21 11:28:02
1993
原创 Android中JSON的解析
1、概述什么是JSON(JavaScript Object Notation)?一种轻量级的数据交换格式。特点:可读性强,传输效率高,数据体积小,描述性相对较差。 JSON更加适用于移动设备,尤其对于网络环境较差和流量限制的情况下,相对于XML格式的数据传输会更节省流量,传输效率更高。 JSON语法:数据在键值对中 “key”:”value”数据由逗号分隔 花括号保存对象
2016-10-18 19:47:54
1223
原创 Android中XML数据解析
一般情况下服务器端返回给客户端的数据主要包括三种类型,字符串,xml,json,因此需要解析成为可读数据。xml数据传输,现在已经用的比较少了,而json用的比较广泛。不过还有一些免费的接口还是会返回xml形式数据,因此学习xml解析还是有必要的!!! 1、概述什么是XML?可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。特点,可读性强,传输效率低。 XM
2016-10-17 22:19:40
1522
1
原创 Android中的数据存储
转载请注明出处:http://blog.youkuaiyun.com/magic_jss/article/details/52746142; 国庆小长假已经接近尾声了,感觉还没开始呢就已经结束了!期间生物钟完全被打破,晚睡晚起~计划泡汤~各种泡汤~真的不能再这样下去了~ 我决心戒掉拖延症,做个言出必行,行之必果的人。此文为鉴!!!1、概述Android中数据存储的分类:内部存储外部存储数据
2016-10-07 10:38:30
1272
原创 Android 存储首选项SharedPreferences
Android中使用SharedPreferences存储比较少的配置信息(例如:记住密码、自动登录..) SharedPreferences使用的基本步骤:声明SharedPreferences接口声明Editor对象SharedPreferences对象初始化、Editor对象初始化Editor对象.put()数据Editor对象.commit();提交数据SharedPrefer
2016-10-06 17:37:50
2797
原创 Android 倒计时处理
转载请注明出处:; Android中的计时操作主要包括,倒计时处理、定时器处理。其实倒计时处理sdk提供了CountDownTimer类,定时器处理则提供了Timer、TimerTask类,今天就通过CountDownTimer、Timer分别实现获取手机验证码效果。效果图: 比较low~~~由于比较简单,就不多赘述了,直接上代码~·~1、CountDownTimer实现CountDownTim
2016-10-05 23:13:01
1791
原创 Android ExpandableListView的使用
转载请注明出处:; ExpandableListView可扩展列表一般可用来开发类似QQ联系人的界面效果。简单整理了一下ExpandableListView的使用,希望帮助到需要的亲们,由于比较简单就没有添加文字描述,欢迎留言交流!!!先看下效果图: 1、主Activity/** * Created by magic on 2016年10月5日.防QQ联系人效果 */public clas
2016-10-05 21:07:58
1490
原创 Android Fragment使用小结
转载请注明出处: http://blog.youkuaiyun.com/magic_jss/article/details/52738648; Fragment的使用可谓是老生常谈了~~~1、概述自API 11引入Fragment之后,Fragment可谓风靡一时,现在大部分项目都或多或少的用到了Fragment,其更轻量级,更加适用屏幕,更加方便UI设计等优势。说了这么多什么是Fragment呢? Fra
2016-10-05 15:01:54
1925
原创 Android ViewPager使用小结
Viewpager在项目中随处可见,通常用来做引导页、图片轮翻,或结合Fragment搭建Tab+Fragment+ViewPager项目整体框架。简单总结了一下ViewPager的常见使用方式,由于比较简单直接上代码!1、引导页实现引导页一般分为两种,左右滑动引导,上下滑动引导,通过ViewPager轻松实现左右滑动的引导页,并且实现引导点跟随滑动而移动的引导页。 效果图: activity_
2016-09-28 09:54:59
5573
原创 Android中的Service使用全解析
一、概述Service是后台服务,没有用户界面,适合用于去执行长期运行的任务。Service不是一个单独的进程,除非单独指定,否则将会应用程序运行在同一个进程当中。Service不是一个线程,需要在Service中开启线程去执行耗时操作。Service的分类:启动Service(Service不能够与Activity很好的交互)绑定Service(Service相对于服务端Activity相对于
2016-09-26 21:01:21
1272
原创 Android中的广播使用全解析
Broadcast是一种广泛运用的、在应用程序之间传输信息的机制,广播机制是一个典型的发布-订阅模式,也就是我们所说的观察者模式。通过这样的形式来达到接、收双方的完全解耦合。可使用EventBus框架替代广播的使用。发送方和接收方不存在必然联系;BroadcastReceiver会堵塞主线程只有onReceive()结束,主线程才得以继续进行;每次广播到来时,会重新创建BroadcastReceiv
2016-09-26 15:52:07
2191
1
原创 Android系统架构
(android系统架构图)Android系统架构:应用层应用框架层系统库和Android运行时Linux内核层 未完待续… 雄关漫道真如铁 而今迈步从头越
2016-09-26 10:08:25
709
原创 Android热修复之dex多分包架构设计
转载请注明出处:http://blog.youkuaiyun.com/magic_jss/article/details/52521056; 自2015年QQ空间Team放出安卓App热补丁动态修复技术介绍之后,各种热修复技术层出不穷,越来越多的项目也开始尝试这种新技术,也有了一些相对稳定的框架出现。本文主要讲解如何在Eclipse中利用Ant构建工具产生多个dex文件,从而为热修复做准备。若有问题恳请指正,
2016-09-13 01:41:35
2587
原创 使用Ant打包Apk
当我们在Eclipse中对项目Run As Android Application的时候,会在bin文件夹下生成apk及其他一些文件,至于为什么生成这些文件开始我也不明白,查了相关资料才知道原来Android项目在Eclipse中是通过Ant进行构建的。学习Ant踩了很多坑,总结下来以后方便查看,也希望帮助更多的人。欢迎评论交流哦!1、下载Ant并配置环境变量Ant下载地址:http://ant.a
2016-09-11 15:28:32
1866
原创 Android插件化开发实现动态换肤
今晚实在不想coding,于是想着整理点知识点,那么简单整理了下插件化开发实现动态更换皮肤。插件化开发大家应该不陌生或多或少用过或听过,插件化开发在项目业务拓展、模块化等方面有不小优势,当然实现一个完美的插件是有困难的。本文如果存在问题恳请指正!欢迎评论交流哦! 效果图: 1、换肤方案分析res下放多种皮肤的资源文件加载插件apk使用其中的皮肤资源 方案一: 优点:容易实现。 缺点
2016-09-01 21:59:50
4220
原创 ListView的私人订制
转载请注明出处:http://blog.youkuaiyun.com/magic_jss/article/details/52369091; 现在开发中Android RecyclerView可能用的比较多,不过ListView作为常用控件学习它的使用和扩展也是十分重要的。简单封装了一个下拉刷新和上拉加载的ListView,你是否也想有个私人订制的ListView呢?或许这篇文章能够帮到你,如有问题恳请指正!
2016-08-30 14:38:40
1650
原创 自定义View实现仪表盘(账户安全)
转载请注明出处:http://blog.youkuaiyun.com/magic_jss/article/details/52348392; 群里聊天一哥们发的一个自定义View感觉很perfection,于是就根据他发的图写了个类似的效果。一个仪表盘,描述用户的账号安全等级。希望能够帮助到需要类似效果的猿/媛们,如果存在什么问题恳请指正!效果图: 模拟器上运行效果可能有点差,真机上就比较清晰了。1、自定义
2016-08-28 22:29:35
1353
原创 自定义View仿魅族手机加速(手机管家)效果
看着魅族手机管家上的手机加速效果不错,决定自己实现之。希望自己加深对自定义View的理解和使用,也希望帮助需要类似效果的朋友。先上效果: 由于是模拟器上运行的效果不是很好,真机上运行会好很多。1、继承View废话少说,直接上码;/** * Created by magic on 2016年8月11日.仿魅族手机加速(手机管家)的效果 */@SuppressLint({ "DrawAlloca
2016-08-18 23:15:52
1871
原创 Java 中的反射机制
转载请注明出处:http://blog.youkuaiyun.com/magic_jss/article/details/52187726; 反射我们肯定不陌生,项目中或多或少接触过,最近在看Android中的插件开发就碰到了它,然后竟然完全懵逼忘干净了,因此赶快整理了该博文,希望以后方便查看,也希望帮助更多的人。1、什么是反射?JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有
2016-08-12 01:11:52
906
原创 Java 中的类加载
1、类的加载当我们程序要使用某个类时,如果该类还未被加载到内存中,则系统会通过加载、连接、初始化三步来实现对这个类的初始化。类初始的时机?创建类的实例访问类的静态变量,或为静态变量赋值调用类的静态方法初始化某个类的子类使用反射方式强制创建某个类或接口的字节码对象2、类加载器类加载器的作用是将.class文件加载到内存中,并为之创建对应的Class对象,Java中提供了三类加载器。Boo
2016-08-11 22:52:18
578
原创 MVP架构初体验
转载请注明出处:http://blog.youkuaiyun.com/magic_jss/article/details/52144019; 是否对越来越多的业务需求感到力不从心,是否对越来越臃肿的代码感到反感,或许MVP模式在一定程度上能帮助到我们,所谓模式不过是代码编写时对我们有指导性意义而非约束性,若过分遵循岂不是缺少了很多个人风格(三哥除外!!!),欢迎评论交流哦!1、什么是MVP?MVP:一种架构模
2016-08-07 23:44:13
1267
2
原创 Java 网络编程之无网不欢
无网不欢 1、什么是网络编程?书上是这么描述的,网络编程是指物理上位于两台计算机的两个进程之间实现网络通信的编程。其实就是计算机通过Java程序实现资源共享和信息传递。 网络通信主要由三个要素组成:IP地址、端口号、协议。/TCP/IP协议/ 2、IP地址IP地址用于标示某一天计算机,类似于计算机的身份证。IP地址的组成:网络号段+主机号段 A类:第一号段为网络号段+后三段的主机号段
2016-06-05 23:39:24
803
原创 Java 多线程操作
以前一听到多线程操作就感到好腻害好腻害的,如果你现在也是这种情况或许这篇文章能够帮助到你。 1、什么是多线程?先了解两个概念 进程:正在运行的程序,是系统进行资源分配和调用的独立单位,有自己的内存空间和系统资源。 线程:是进程中的单个顺序控制流,是一条执行路径,线程是应用程序中执行的基本单元。某位大神的总结:进程就相当于工厂,线程就是工厂里的流水线,线程不能独立存在,必须存在于进程中。多进程:
2016-05-26 23:16:46
1945
原创 Java 常用IO流操作详解
IO流大家肯定不陌生,简单整理了一下常用IO流基本用法,其他的IO流以后有时间在整理。 1.基本概念IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。2.IO流的分类图示:(主要IO流) 3.字节流(1).字节流基类1).InputStreamInputStream:字节输入流基类,抽象类是表示字节输入流的所有
2016-05-22 17:19:31
37409
14
原创 Java File文件操作
Java提供File类,让我们对文件进行操作,简单整理了一下File类的用法。 1.基本概念File:文件和目录路径名的抽象表示形式,代表文件或者文件夹。 2.构造方法 // 根据parent抽象路径名和child路径名字符串创建一个新File实例 File(File parent, String child) // 通过将给定路径名字符串转换为抽象路
2016-05-21 20:35:57
19658
2
原创 Java Map集合知多少?
Map集合可以存储键值对,在开发中使用相当方便,所以整理一下。 1.基本概念Map(K,V):将键映射到值的对象接口,一个映射不能包含重复的键;每个键最多只能映射到一个值。2.常用方法(1).添加功能// 将指定的值与此映射中的指定键关联 V put(K key, V value) // 从指定映射中将所有映射关系复制到此映射中 void putAll(Map //子类
2016-05-17 23:50:06
2148
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人