自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

墨家剑客的专栏

兼爱非攻

  • 博客(189)
  • 资源 (10)
  • 问答 (1)
  • 收藏
  • 关注

转载 Android开发自动生成的AndroidManifest.xml中的allowBackup属性的含义和危险性实例讲解

传送门:http://www.wjdiankong.cn/blog一、前言今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失。下面就来看一下这个属性的影响到底有多大。他的作用是什么?二、Android中的al...

2018-12-27 17:57:57 367

转载 Android项目组件化架构

转自:https://blog.csdn.net/weihuangcool/article/details/78109422前言用android studio开发的同学应该都知道,androidstudio的架构是project-module形式,也就可以理解为一个项目由多个模块组成。在刚接触android studio时,它的这种架构引出了我一个想法------我们的app也可以使用这样的架构,...

2018-07-12 08:54:24 14088 6

转载 ButterKnife使用详解

转自:http://blog.csdn.net/itjianghuxiaoxiong/article/details/50177549写在前面:该文档使用7.0版本,8.0版本方法名有所改动,建议看官方文档,整体业务逻辑和原理没什么变动,官网在Android编程过程中,我们会写大量的布局和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得麻烦类,所以可以采用注解的方

2016-12-13 10:06:33 830

原创 优雅编码框架简介一

RetrolambdaLambda表达式是一种可用于创建委托或表达式目录树类型的匿名函数。AndroidStudio配置:build.gradle(Project)buildscript {    repositories {        mavenCentral()    }    dependencies {        classpath 'me.

2016-11-14 13:50:37 774

转载 RxJava之入门详解

感谢大神的无私奉献,请读三遍!!!转自:http://gank.io/post/560e15be2dca930e00da1083前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有

2016-11-12 16:53:30 547

转载 Android系统广播大全

//关闭或打开飞行模式时的广播Intent.ACTION_AIRPLANE_M;//充电状态,或者电池的电量发生变化;//电池的充电状态、电荷级别改变,不能通过组建声;Intent.ACTION_BATTERY_CH;//表示电池电量低Intent.ACTION_BATTERY_LO;//表示电池电量充足Intent.ACTION_BATTERY

2016-11-10 16:58:30 518

转载 OkHttp Recipes

We've written some recipes that demonstrate how to solve common problems with OkHttp. Read through them to learn about how everything works together. Cut-and-paste these examples freely; that's what t

2016-11-03 17:05:18 395

原创 Android开发艺术探索

README《Android开发艺术探索》任玉刚共15章第一章 Activity的生命周期和启动模式四大组件:Activity/Service/Broadcast Receiver/Content Provider六大布局:RelativeLayout/LinearLayout/FrameLayout/TableLayout/AbsoluteLayout/G

2016-11-01 14:11:23 700

原创 简单选择排序

1 思想:循环进行比较选择出最小的或则最大的那个数进行交换。2 代码:/** * 简单选择排序 * @param src */ private static > void selectSort(T[] src) { int length = src.length; for (int i = 0; i < length; i++) { int position

2016-10-23 16:25:58 312

原创 希尔排序

1 思想:希尔排序又称缩小增量排序,它是直接插入排序的一种改进。因为直接插入排序在数列有序的情况下性能可达O(n),希尔排序就是把一组序列按增量d分成d组,然后对每组进行直接插入排序,使每组组内有序,然后缩小增量d重新分组,如此反复到增量为1。2 代码/** * 希尔排序 插入排序 * * @param src */ private static > void shel

2016-10-20 14:23:50 345

原创 直接插入排序

1 思想:向有序序列中依次插入待排元素,保证元素插入后的序列有序,直到待排元素插完为止。2 代码/** * 直接插入排序 * * @param src */ private static > void insertSort(T[] src) { int i; // 外层循环用于插入n-1个数 int j; // 内层循环用于查找插入位置 int leng

2016-10-19 15:10:22 319

原创 顺序查找

1 思想:一个一个的比较,针对无序表的查找。2 代码/** * 顺序查找 * * @param src * @param key * @return */ private static > int orderSearch(T[] src, T key) { int length = src.length; for (int i = 0; i < le

2016-10-19 14:20:42 625

转载 Android HTTP框架Volley详解

From:http://www.androidhive.info/2014/05/android-working-with-volley-library-1/Android volley is a networking library was introduced to make networking calls much easier, faster without writing to

2016-10-12 14:27:46 442

转载 Android缓存LruCache详解

转自:http://www.cnblogs.com/tianzhijiexian/p/4248677.htmlLruCache是android提供的一个缓存工具类,其算法是最近最少使用算法。它把最近使用的对象用“强引用”存储在LinkedHashMap中,并且把最近最少使用的对象在缓存值达到预设定值之前就从内存中移除。其在API12被引进,低版本可以用support包中的类。一、分析源

2016-10-12 14:23:54 3684

转载 TCP/IP协议三次握手与四次握手流程解析

转自:http://www.2cto.com/net/201310/251896.html一、TCP报文格式  TCP/IP协议的详细信息参看《TCP/IP协议详解》三卷本。下面是TCP报文格式图:图1 TCP报文格式  上图中有几个字段需要重点介绍下:  (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 

2016-10-11 15:53:15 267

原创 冒泡排序

1、思想冒泡排序的思想是小数往上浮,大数向下沉,并且沉下去的数下次不再处理,而向上浮的过程要一遍又一遍。排序算法的核心是比较交换,查找算法的核心是比较;2、代码/** * 冒泡排序算法 * * @param src * 原始数据数组 * @return 有序数据数组 */ private static > T[] bubbleSort(

2016-09-22 15:11:50 366

原创 折半查找

1、思想从一堆有序数列中查找某一关键字所在位置。以由小到大数列为例:首先和这堆数列的中间数进行比较,若相等则此中间数位置即为所查找关键字位置;若比中间数大,则此关键字肯定在中间数位置之后;若比中间数小,则此关键字肯定在中间数位置之前;2、代码/** * 折半查找算法 * * @param src * 原始数据数组 * @param k

2016-09-22 14:31:52 393

原创 iOS黑魔法之Method Swizzling

此黑魔法本应属于OC,它是基于Runtime实现的偷天换日大法。那么什么是Method Swizzling呢?从字面意思来看叫方法协调,大概就是这个意思了。使用此魔法可以替换现有方法为自定义方法,来个偷天换日,偷梁换柱。使用方法很简单,代码基本为以下框架。但其具有较强的魔力,这是一个方法hook啊。/** * Method Swizzling * 黑魔法之偷天换日 */

2016-08-19 11:40:16 918

原创 Android共享Library到JCenter

新建项目没什么要求,就是建立一个项目,用来测试库 新建Android库没什么要求,新建一个Model,选择Android Library 修改build.gradle文件如图所示添加两部分内容ext { PUBLISH_GROUP_ID = 'cn.weidongjian.android' PUBLISH_ARTIFACT_ID

2016-08-09 18:10:29 358

转载 iOS 认识CoreData-多线程

转自:http://www.cocoachina.com/ios/20160804/17282.htmlCoreData使用相关的技术点已经讲差不多了,我所掌握的也就这么多了....在本篇文章中主要讲CoreData的多线程,其中会包括并发队列类型、线程安全等技术点。我对多线程的理解可能不是太透彻,文章中出现的问题还请各位指出。在之后公司项目使用CoreData的过程中,我会将其中

2016-08-04 18:00:08 687

转载 iOS 认识CoreData-高级

在之前的文章中,已经讲了很多关于CoreData使用相关的知识点。这篇文章中主要讲两个方面,NSFetchedResultsController和版本迁移。文章题目中虽然有“高级”两个字,其实讲的东西并不高级,只是因为上一篇文章中东西太多了,把两个较复杂的知识点挪到这篇文章中。文章中如有疏漏或错误,还请各位及时提出,谢谢!NSFetchedResultsController

2016-08-04 17:57:44 393

转载 iOS 认识CoreData-进阶

转自:http://www.cocoachina.com/ios/20160802/17260.html之前两篇文章都比较偏理论,文字表达比较多一些,但都是干货!学习时先理解理论知识,才能更好的帮助后面的理解。在这篇文章中,将会涉及关于CoreData的一些复杂操作,这些操作会涉及分页查询、模糊查询、批处理等高级操作。通过这些操作可以更好的使用CoreData,提升CoreData性能。文

2016-08-04 17:55:31 495

转载 iOS 认识CoreData-入门

转自:http://www.cocoachina.com/ios/20160801/17248.html第一篇文章中并没有讲CoreData的具体用法,只是对CoreData做了一个详细的介绍,算是一个开始和总结吧。这篇文章中会主要讲CoreData的基础使用,以及在使用中需要注意的一些细节。因为文章中会插入代码和图片,内容可能会比较多,比较考验各位耐心。文章中如有疏漏或错

2016-08-04 17:52:23 1155

转载 iOS 认识CoreData-基础

转自:http://www.cocoachina.com/ios/20160729/17245.html这段时间公司一直比较忙,和组里小伙伴一起把公司项目按照之前逻辑重写了一下。由于项目比较大,还要兼顾之前项目的迭代和其他项目,目前为止只写完第一阶段。之前项目本地持久化方案主要用的是SQLite,这次重写项目打算换一种持久化方案,于是我们经过讨论选择了苹果的“亲儿子”CoreDat

2016-08-04 17:48:37 393

原创 iOS CoreData入门

一、基本概念iOS 5引入CoreData对象关系模型ORMOC对象 SQLite数据库*模型的封装*数据库的操作Entity(Attributes/Relationships/FetchedProperties)可以省略(主要是为了自定义NSManagedObject 添加自己的属性和方法)二、相关APINSManagedObject

2016-08-02 18:30:23 355

原创 iOS GCD完全解析

GCD多线程编程完全解析,详细介绍什么是GCD,什么是多线程,GCD的API使用,GCD的实现等内容。丰富的代码可以直接使用,为《Objective-C高级编程》中第三章的总结和读后感,分类清晰,以作用:使用方法进行API的说明。作此文已备用。

2016-07-28 17:46:38 622

原创 iOS Xcode插件的使用

工欲善其事,必先利其器。方法一:下载插件项目->编译运行(Cmd+R)->重启Xcode(Cmd+Q)方法二:a.         安装插件管理插件(Alcatraz)退出Xcode;执行命令:curl –fsSL https://raw.github.com/alcatraz/Alcatraz/master/Scripts/install.sh| sh打开Xc

2016-07-25 10:32:21 525

转载 iOS设计控件全解析

代码的等级:可编译、可运行、可测试、可读、可维护、可复用前言一个控件从外在特征来说,主要是封装这几点:交互方式显示样式数据使用对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内;而一个好的控件除了有对外一致的体验之外,还有其内在特征:灵活性低耦合易拓展易维护

2016-07-13 15:12:45 580

原创 iOS零碎知识点

1、PCH文件New File… —> Other —> PCH File —> PrefixHeader.pch#import “Header.h”PROJECT/TARGETS —> Build Settings —> Precompile Prefix Header(YES) —> Prefix Header($(SRCROOT/项目名/组名/PrefixHeader.pch))

2016-07-12 11:35:05 281

原创 iOS学习笔记

一、开篇综述1、iPhone/iPad/iPod Touch/Apple TV/Mac book2、特性:HomeKit/HealKit/iCloud Driver3、Xcode xib pib Objective-C Swift4、- (NSInteger)numberOfRowsInSection:(NSInteger)section;二、第一个iOS应用程序1

2016-07-12 00:05:05 471

原创 iOS模型和代码组织结构

一、代码组织决定了项目的可维护性、可复用性,同时通过设计模式和设计原则决定可扩展性。下面是用MVC的形式进行代码组织。二、模型是iOS编程的基本功,有利于代码扩展和维护。//.h/** * 情景模式的模型 */#import #import @interface MLScene : NSObject//图片地址@property (nonatomic, copy)

2016-07-11 20:16:40 738

原创 iOS改变NavigationBar和TabBar相关颜色

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. UIColor * mainColor

2016-07-11 11:57:40 967

原创 Git学习笔记

Git是世界上最先进的分布式版本控制系统;VCS Version Control System 版本控制系统 CVS SVN;Linux Linus 两周 Git github.com coding.com集中式版本控制系统 分布式版本控制系统一、安装$ git  //查看是否已经安装了git 也可使用 git —version$ sudo apt-get insta

2016-07-07 11:39:44 296

转载 iOS数据持久化

转自:http://www.cocoachina.com/ios/20150720/12610.html概论所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案:plist文件(属性列表)preference(偏好设置)NSKeyedArchi

2016-07-07 09:16:51 246

转载 iOS数据持久化1

概览在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库。例如前面IOS开发系列—Objective-C之Foundation框架的文章中提到归档、plist文件存储,包括偏好设置其本质都是存储为文件,只是说归档或者plist文件存储可以选择保存到沙盒中,而偏好设置系统已经规定只能保存到沙盒的Library/Preferences目录。当然,文件存储并不作为本文的

2016-07-07 09:12:37 413

原创 iOS视图导航

尺寸之间,无穷世界。手机作为移动设备,屏幕空间有限,要想在手机上展示丰富的内容,就要提供多视图,大尺寸。为了避免程序页面跳转混乱,就需要视图导航来解决此问题。一、模态视图模态视图:不属于导航结构的主要分支,是为了打断主视图显示出来提供用户交互,如在登录页面提供注册接口,注册页面就是模态视图。模态视图通常由下往上滑入,由上往下滑出。当然,也可以使用动画来改变其模式。通常会用到:- (vo

2016-07-05 18:55:27 1997

原创 iOS设计模式

一、设计模式a)               所谓模式就是在某种情境下针对某问题的某种解决方案;b)              设计模式基本来源于GoF,共23种;二、单例模式a)               单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。#import "Singlton.h"

2016-07-01 10:00:55 656

转载 iOS事件详解

转自:http://www.cnblogs.com/kenshincui/p/3950646.html概览iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计。今天我们就针对iOS的触摸事件(手势操作)、运动事件、远程控制事件等展开学习:iOS事件简介触摸事件手势识别运动事件远程控制事件

2016-06-25 12:14:43 929

原创 iOS多线程编程

一、什么是多线程a)               进程是运行着的程序;b)              一个进程至少包含一个线程(主线程,界面更新UIKit);c)               线程共用程序内存,但每个线程都有自己的stack空间;d)              多线程就是多个执行流,可以同步或异步,是一种并发执行技术。二、iOS中实现方法a)        

2016-06-25 09:41:19 545

原创 iOS网络编程

一、HTTPa)               HTTP(Hyper Text TransferProtocol)超文本传输协议,是一种基于请求响应的无状态的应用层协议。其通过tcp协议进行传输。b)              HTTP1.0 一次连接一次传输;HTTP1.1一次连接多次传输。二、POST &GETa)               GET 请求变量在url中,安全性能

2016-06-24 16:17:30 364

C程序设计.谭浩强.第5版.课件源程序.zip

谭浩强老师的《C程序设计第5版》的课件和程序源代码。一共10章,没有压缩密码。

2019-07-09

C语言程序设计(谭浩强.第四版).zip

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

2019-07-09

Android-BLE-OAD升级Demo

Android BLE OAD升级的官方源码包,android studio项目。

2018-02-06

魔小灯DIY说明包

魔小灯DIY包,提供DIY说明,封装了数据协议,可根据文档进行魔小灯软件DIY

2016-08-11

Reachability

iOS中判断网络连接状态用到的文件

2016-06-24

高仿QQ音乐播放器

本小项目是仿照QQ音乐播放器开发的一款本地音乐播放器。完成了基本的音乐控制,包括通知栏控制,和内容展示等功能。本项目提供了完整的Service 加 Activity 加 Notification开发音乐播放器的思路。

2015-09-15

EveryDay每日一天

本app代码主要功能为获取金山词霸的每日一句,通过JSoup解析html显示到布局中,每日更新。

2015-09-12

快捷导航Home

安装程序后,点击程序图标可以打开相应的网站。本程序是进入baidu的

2015-09-11

串口调试肋手V1.3

较为常用的串口有9针串口(DB9)和25针串口(DB25),通信距离较近时(<12m),可以用电缆线直接连接标准RS232端口(RS422,RS485较远),若距离较远,需附加调制解调(MODEM)。最为简单且常用的是三线制接法,即地、接收数据和发送数据三脚相连。

2015-07-22

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

TA关注的人

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