![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
-【编程语言】
文章平均质量分 60
MagicPig.
不要在你一定后悔的事情上浪费你的时间!
展开
-
占坑2
占坑2原创 2019-08-31 21:35:06 · 187 阅读 · 0 评论 -
自定义View仿魅族手机加速(手机管家)效果
看着魅族手机管家上的手机加速效果不错,决定自己实现之。希望自己加深对自定义View的理解和使用,也希望帮助需要类似效果的朋友。先上效果: 由于是模拟器上运行的效果不是很好,真机上运行会好很多。1、继承View废话少说,直接上码;/** * Created by magic on 2016年8月11日.仿魅族手机加速(手机管家)的效果 */@SuppressLint({ "DrawAlloca原创 2016-08-18 23:15:52 · 1812 阅读 · 3 评论 -
处理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 · 2375 阅读 · 0 评论 -
Android中WebView的使用
WevView是一个可以显示网页的控件,它采用WebKit渲染引擎来显示网页。由于在实际开发中并未使用过WebView,所以对WebView并未有经验之谈,还有很多没有整理不打算写了,以后实际开发中在整理吧。本文参考慕课网、Android API。1、基本用法首先添加网络访问权限:<uses-permissionandroid:name="android.permission.INTERNET"/>原创 2016-10-26 15:34:03 · 1245 阅读 · 0 评论 -
Android线程间通信之Handler
Handler机制及基本使用也已经是老生常谈了~~~1、概述Android中拒绝子线程中更新UI。且主线程中过多执行耗时操作会造成界面卡顿导致ANR影响用户体验,因此Handler线程间通信的信使应运而生。Handler有两个主要用途:(1)调度消息和runnable对象作为将来的执行;及(2)将被执行在一个不同的线程自己的方法。1.Handler基本原理主线程(UI线程) 子线程(work线程)原创 2016-10-23 23:08:52 · 871 阅读 · 0 评论 -
Android中的序列化操作
1、概述对象序列化化后可以传递自定义对象数据,序列化的目的是将对象数据转换成字节流的形式。但是序列与反序列化仅处理Java变量而不处理方法,序列与反序列化仅对数据进行处理。 实现方法:实现Serializable接口(JDK提供的接口)实现Parcelable(AndroidSDK提供的接口,优先使用)二者区别:在内存的使用中,实现Parcelable接口在性能方面要强于实现Seriali原创 2016-10-21 11:28:02 · 1930 阅读 · 0 评论 -
Android中JSON的解析
1、概述什么是JSON(JavaScript Object Notation)?一种轻量级的数据交换格式。特点:可读性强,传输效率高,数据体积小,描述性相对较差。 JSON更加适用于移动设备,尤其对于网络环境较差和流量限制的情况下,相对于XML格式的数据传输会更节省流量,传输效率更高。 JSON语法:数据在键值对中 “key”:”value”数据由逗号分隔 花括号保存对象原创 2016-10-18 19:47:54 · 1152 阅读 · 0 评论 -
Android中XML数据解析
一般情况下服务器端返回给客户端的数据主要包括三种类型,字符串,xml,json,因此需要解析成为可读数据。xml数据传输,现在已经用的比较少了,而json用的比较广泛。不过还有一些免费的接口还是会返回xml形式数据,因此学习xml解析还是有必要的!!! 1、概述什么是XML?可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。特点,可读性强,传输效率低。 XM原创 2016-10-17 22:19:40 · 1466 阅读 · 1 评论 -
Android中的数据存储
转载请注明出处:http://blog.csdn.net/magic_jss/article/details/52746142; 国庆小长假已经接近尾声了,感觉还没开始呢就已经结束了!期间生物钟完全被打破,晚睡晚起~计划泡汤~各种泡汤~真的不能再这样下去了~ 我决心戒掉拖延症,做个言出必行,行之必果的人。此文为鉴!!!1、概述Android中数据存储的分类:内部存储外部存储数据原创 2016-10-07 10:38:30 · 1219 阅读 · 0 评论 -
自定义View实现仪表盘(账户安全)
转载请注明出处:http://blog.csdn.net/magic_jss/article/details/52348392; 群里聊天一哥们发的一个自定义View感觉很perfection,于是就根据他发的图写了个类似的效果。一个仪表盘,描述用户的账号安全等级。希望能够帮助到需要类似效果的猿/媛们,如果存在什么问题恳请指正!效果图: 模拟器上运行效果可能有点差,真机上就比较清晰了。1、自定义原创 2016-08-28 22:29:35 · 1253 阅读 · 5 评论 -
ListView的私人订制
转载请注明出处:http://blog.csdn.net/magic_jss/article/details/52369091; 现在开发中Android RecyclerView可能用的比较多,不过ListView作为常用控件学习它的使用和扩展也是十分重要的。简单封装了一个下拉刷新和上拉加载的ListView,你是否也想有个私人订制的ListView呢?或许这篇文章能够帮到你,如有问题恳请指正!原创 2016-08-30 14:38:40 · 1623 阅读 · 2 评论 -
Android插件化开发实现动态换肤
今晚实在不想coding,于是想着整理点知识点,那么简单整理了下插件化开发实现动态更换皮肤。插件化开发大家应该不陌生或多或少用过或听过,插件化开发在项目业务拓展、模块化等方面有不小优势,当然实现一个完美的插件是有困难的。本文如果存在问题恳请指正!欢迎评论交流哦! 效果图: 1、换肤方案分析res下放多种皮肤的资源文件加载插件apk使用其中的皮肤资源 方案一: 优点:容易实现。 缺点原创 2016-09-01 21:59:50 · 4130 阅读 · 2 评论 -
占坑1
占坑1原创 2019-08-31 21:34:28 · 212 阅读 · 0 评论 -
占坑0
有时间赶快补上原创 2019-08-31 21:33:51 · 200 阅读 · 0 评论 -
JavaScript原型
一.原型1.初识原型JS中原型是一个很重要的概念,有点类似于java类中的静态变量,这么说也不是很准确。构造函数有个prototype属性,该属性是一个对象叫做原型对象,通过该属性可以为构造函数添加其实属性和方法然后被对象使用。 //构造函数 function User(name, age) { this.name = name; this.ag...原创 2019-07-16 08:05:32 · 255 阅读 · 0 评论 -
JavaScript基础
写在前面JavaScript 是一种轻量级的弱类型、基于原型的脚本语言,非面向对象语言。主要用于为界面提供动态交互。JavaScript编写方式分为两种:<html><head>// 第一种在<head>或<body>标签中加入<script>标签编写代码<script>...</script>&l...原创 2019-06-30 23:59:41 · 188 阅读 · 0 评论 -
JavaScript作用域
概念作用域就是变量的作用范围。因此讲作用域之前必须先讲变量。 变量在很多编程语言中变量都有全局变量,局部变量的概念,JS中也是这样。JS中全局变量和局部变量的区别在于变量的定义位置不同,定义在函数之外的为全局变量;定义在函数内的为局部变量。<script> // 全局变量 var name = "magic"; // 隐式全局变量 age = "...原创 2019-07-04 18:12:10 · 140 阅读 · 0 评论 -
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 · 179 阅读 · 0 评论 -
JavaScript函数
1.函数定义JS中用 function 关键字来声明函数。函数的定义和Java类似分为两种方式:命名函数、匿名函数。命名函数即是有函数名,匿名函数即没有函数名,匿名函数要被调用的话必须被一个变量接收,或者自调用。 function f1() { alert("命名函数") } // 命名函数调用通过函数名() f1(); // 匿...原创 2019-07-03 11:28:37 · 247 阅读 · 0 评论 -
Android热修复之dex多分包架构设计
转载请注明出处:http://blog.csdn.net/magic_jss/article/details/52521056; 自2015年QQ空间Team放出安卓App热补丁动态修复技术介绍之后,各种热修复技术层出不穷,越来越多的项目也开始尝试这种新技术,也有了一些相对稳定的框架出现。本文主要讲解如何在Eclipse中利用Ant构建工具产生多个dex文件,从而为热修复做准备。若有问题恳请指正,原创 2016-09-13 01:41:35 · 2483 阅读 · 2 评论 -
使用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 · 1780 阅读 · 0 评论 -
Android 存储首选项SharedPreferences
Android中使用SharedPreferences存储比较少的配置信息(例如:记住密码、自动登录..) SharedPreferences使用的基本步骤:声明SharedPreferences接口声明Editor对象SharedPreferences对象初始化、Editor对象初始化Editor对象.put()数据Editor对象.commit();提交数据SharedPrefer原创 2016-10-06 17:37:50 · 2742 阅读 · 0 评论 -
Android 倒计时处理
转载请注明出处:; Android中的计时操作主要包括,倒计时处理、定时器处理。其实倒计时处理sdk提供了CountDownTimer类,定时器处理则提供了Timer、TimerTask类,今天就通过CountDownTimer、Timer分别实现获取手机验证码效果。效果图: 比较low~~~由于比较简单,就不多赘述了,直接上代码~·~1、CountDownTimer实现CountDownTim原创 2016-10-05 23:13:01 · 1750 阅读 · 0 评论 -
Java Map集合知多少?
Map集合可以存储键值对,在开发中使用相当方便,所以整理一下。 1.基本概念Map(K,V):将键映射到值的对象接口,一个映射不能包含重复的键;每个键最多只能映射到一个值。2.常用方法(1).添加功能// 将指定的值与此映射中的指定键关联 V put(K key, V value) // 从指定映射中将所有映射关系复制到此映射中 void putAll(Map //子类原创 2016-05-17 23:50:06 · 2097 阅读 · 0 评论 -
Java Set集合知多少?
Set集合在开发中也会经常用到,有用的没用的都整理了一下。今天你Set了么? 1.基本概念Set:一个不包含重复元素的collection接口,元素无序、唯一。2.主要实现类(1)HashSetHashSet:实现Set接口,由哈希表支持,它不保证set的迭代顺序,无序唯一,不是同步的。/** * 用户类 * @author magic * */public class User {原创 2016-05-17 23:02:04 · 2259 阅读 · 0 评论 -
Java List集合知多少?
List集合在开发中可谓是最经常使用的了,从第一次使用到“爱不释手”。有用的没用的都整理了一下。 1.基本概念List:Collection集合的子接口,List是有序集合,允许元素重复,List中的元素都对应着一个整数型的序号,记载其在容器中的位置,可以根据序号存取容器中的元素。2.常用方法(1).添加功能 // 向滚动列表的末尾添加指定的项 void add(String ite原创 2016-05-16 23:50:44 · 2873 阅读 · 0 评论 -
Java Collection集合知多少?
Collection集合做为集合的顶级接口你又对它了解多少呢?一般开发中主要用到它的子类,其使用相对较少,不过作为顶级接口还是有学习的必要! 1.基本概念Collection:集合中的根接口,此接口的任何直接实现由更具体的子接口(Set,List)实现。2.层次结构图示: 3.常用方法1):添加功能 //确保此collection包含指定的元素 boolean add(E原创 2016-05-15 23:52:39 · 2215 阅读 · 0 评论 -
Java中的时间日期处理
日常开发中对时间或者日期处理肯定层出不穷,简单总结一下Java中时间相关的使用方法。 相关类Date: Date表示特定的瞬间,精确到毫秒,Date中的相应方法已废弃,从JDK 1.1开始,应该使用Calendar类实现日期和时间字段之间转换。 DateFormat: DateFormat是日期/时间格式化子类的抽象类,格式化并解析日期或时间,可以进行日期 -> 文本 ,文本-> 日期的转换原创 2016-05-13 00:18:12 · 12423 阅读 · 1 评论 -
Java 正则表达式从入门到“跑路”
日常开发中我们经常会遇到验证用户输入信息的地方,而某些验证就要用到正则表达式。之前总感觉正则神秘莫测,如果你也有同感?那接下来将为你揭开它神秘的面纱。 基本概念正则表达式:具有一定规则的字符串。组成规则常用组成规则:字符 x 字符 x \\ 反斜线字符 字符类 [abc] a、b 或 c(简单类) [^abc] 任何字符,除了 a、b 或 c(否定) [a-zA-Z] a 到 z原创 2016-05-12 00:03:17 · 3901 阅读 · 0 评论 -
Java中String、StringBuffer、StringBuilder简述及区别
容我喝杯82年的Java压压惊~~~如有欢迎指正。 1.String:由多个字符组成的一串数据,相当与字符数组。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。字符串是常量,它们的值在创建之后不能更改。 (1)字符串直接赋值和new String(…)的区别 图解:2.S原创 2016-05-10 23:35:30 · 2519 阅读 · 0 评论 -
==与equals方法的区别
刚开始学Java的时候==和equals()的区别总是不大明确! ==: 基本数据类型,比较值是否相同。 引用数据类型,比较的是地址值是否相同。equals: 引用数据类型,比较的是地址值是否相同,与==功能相同。而String类重写了equals方法,比较的是内容是否相同。 自定义对象一般需要重写equals方法,进行数据内容比较才更有意义。原创 2016-05-10 22:15:24 · 975 阅读 · 0 评论 -
JavaScript预解析
JS代码的执行是由浏览器中的js解析器来执行的,js解析器执行js代码的时候,分为两个过程分为预解析过程和代码执行过程。1.预解析直接看代码原创 2019-07-08 11:24:52 · 321 阅读 · 0 评论 -
Java File文件操作
Java提供File类,让我们对文件进行操作,简单整理了一下File类的用法。 1.基本概念File:文件和目录路径名的抽象表示形式,代表文件或者文件夹。 2.构造方法 // 根据parent抽象路径名和child路径名字符串创建一个新File实例 File(File parent, String child) // 通过将给定路径名字符串转换为抽象路原创 2016-05-21 20:35:57 · 19513 阅读 · 3 评论 -
Java 常用IO流操作详解
IO流大家肯定不陌生,简单整理了一下常用IO流基本用法,其他的IO流以后有时间在整理。 1.基本概念IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中。2.IO流的分类图示:(主要IO流) 3.字节流(1).字节流基类1).InputStreamInputStream:字节输入流基类,抽象类是表示字节输入流的所有原创 2016-05-22 17:19:31 · 37113 阅读 · 20 评论 -
Java 多线程操作
以前一听到多线程操作就感到好腻害好腻害的,如果你现在也是这种情况或许这篇文章能够帮助到你。 1、什么是多线程?先了解两个概念 进程:正在运行的程序,是系统进行资源分配和调用的独立单位,有自己的内存空间和系统资源。 线程:是进程中的单个顺序控制流,是一条执行路径,线程是应用程序中执行的基本单元。某位大神的总结:进程就相当于工厂,线程就是工厂里的流水线,线程不能独立存在,必须存在于进程中。多进程:原创 2016-05-26 23:16:46 · 1860 阅读 · 0 评论 -
Android ExpandableListView的使用
转载请注明出处:; ExpandableListView可扩展列表一般可用来开发类似QQ联系人的界面效果。简单整理了一下ExpandableListView的使用,希望帮助到需要的亲们,由于比较简单就没有添加文字描述,欢迎留言交流!!!先看下效果图: 1、主Activity/** * Created by magic on 2016年10月5日.防QQ联系人效果 */public clas原创 2016-10-05 21:07:58 · 1449 阅读 · 5 评论 -
Android Fragment使用小结
转载请注明出处: http://blog.csdn.net/magic_jss/article/details/52738648; Fragment的使用可谓是老生常谈了~~~1、概述自API 11引入Fragment之后,Fragment可谓风靡一时,现在大部分项目都或多或少的用到了Fragment,其更轻量级,更加适用屏幕,更加方便UI设计等优势。说了这么多什么是Fragment呢? Fra原创 2016-10-05 15:01:54 · 1862 阅读 · 0 评论 -
Android ViewPager使用小结
Viewpager在项目中随处可见,通常用来做引导页、图片轮翻,或结合Fragment搭建Tab+Fragment+ViewPager项目整体框架。简单总结了一下ViewPager的常见使用方式,由于比较简单直接上代码!1、引导页实现引导页一般分为两种,左右滑动引导,上下滑动引导,通过ViewPager轻松实现左右滑动的引导页,并且实现引导点跟随滑动而移动的引导页。 效果图: activity_原创 2016-09-28 09:54:59 · 5497 阅读 · 2 评论 -
Android中的Service使用全解析
一、概述Service是后台服务,没有用户界面,适合用于去执行长期运行的任务。Service不是一个单独的进程,除非单独指定,否则将会应用程序运行在同一个进程当中。Service不是一个线程,需要在Service中开启线程去执行耗时操作。Service的分类:启动Service(Service不能够与Activity很好的交互)绑定Service(Service相对于服务端Activity相对于原创 2016-09-26 21:01:21 · 1224 阅读 · 0 评论 -
Android中的广播使用全解析
Broadcast是一种广泛运用的、在应用程序之间传输信息的机制,广播机制是一个典型的发布-订阅模式,也就是我们所说的观察者模式。通过这样的形式来达到接、收双方的完全解耦合。可使用EventBus框架替代广播的使用。发送方和接收方不存在必然联系;BroadcastReceiver会堵塞主线程只有onReceive()结束,主线程才得以继续进行;每次广播到来时,会重新创建BroadcastReceiv原创 2016-09-26 15:52:07 · 2119 阅读 · 1 评论