- 博客(189)
- 资源 (10)
- 问答 (1)
- 收藏
- 关注
转载 Android开发自动生成的AndroidManifest.xml中的allowBackup属性的含义和危险性实例讲解
传送门:http://www.wjdiankong.cn/blog一、前言今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失。下面就来看一下这个属性的影响到底有多大。他的作用是什么?二、Android中的al...
2018-12-27 17:57:57 497
转载 Android项目组件化架构
转自:https://blog.csdn.net/weihuangcool/article/details/78109422前言用android studio开发的同学应该都知道,androidstudio的架构是project-module形式,也就可以理解为一个项目由多个模块组成。在刚接触android studio时,它的这种架构引出了我一个想法------我们的app也可以使用这样的架构,...
2018-07-12 08:54:24 14362 6
转载 ButterKnife使用详解
转自:http://blog.csdn.net/itjianghuxiaoxiong/article/details/50177549写在前面:该文档使用7.0版本,8.0版本方法名有所改动,建议看官方文档,整体业务逻辑和原理没什么变动,官网在Android编程过程中,我们会写大量的布局和点击事件,像初始view、设置view监听这样简单而重复的操作让人觉得麻烦类,所以可以采用注解的方
2016-12-13 10:06:33 903
原创 优雅编码框架简介一
RetrolambdaLambda表达式是一种可用于创建委托或表达式目录树类型的匿名函数。AndroidStudio配置:build.gradle(Project)buildscript { repositories { mavenCentral() } dependencies { classpath 'me.
2016-11-14 13:50:37 802
转载 RxJava之入门详解
感谢大神的无私奉献,请读三遍!!!转自:http://gank.io/post/560e15be2dca930e00da1083前言我从去年开始使用 RxJava ,到现在一年多了。今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 。而最近这几个月,我也发现国内越来越多的人开始提及 RxJava 。有
2016-11-12 16:53:30 577
转载 Android系统广播大全
//关闭或打开飞行模式时的广播Intent.ACTION_AIRPLANE_M;//充电状态,或者电池的电量发生变化;//电池的充电状态、电荷级别改变,不能通过组建声;Intent.ACTION_BATTERY_CH;//表示电池电量低Intent.ACTION_BATTERY_LO;//表示电池电量充足Intent.ACTION_BATTERY
2016-11-10 16:58:30 573
转载 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 458
原创 Android开发艺术探索
README《Android开发艺术探索》任玉刚共15章第一章 Activity的生命周期和启动模式四大组件:Activity/Service/Broadcast Receiver/Content Provider六大布局:RelativeLayout/LinearLayout/FrameLayout/TableLayout/AbsoluteLayout/G
2016-11-01 14:11:23 743
原创 简单选择排序
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 338
原创 希尔排序
1 思想:希尔排序又称缩小增量排序,它是直接插入排序的一种改进。因为直接插入排序在数列有序的情况下性能可达O(n),希尔排序就是把一组序列按增量d分成d组,然后对每组进行直接插入排序,使每组组内有序,然后缩小增量d重新分组,如此反复到增量为1。2 代码/** * 希尔排序 插入排序 * * @param src */ private static > void shel
2016-10-20 14:23:50 370
原创 直接插入排序
1 思想:向有序序列中依次插入待排元素,保证元素插入后的序列有序,直到待排元素插完为止。2 代码/** * 直接插入排序 * * @param src */ private static > void insertSort(T[] src) { int i; // 外层循环用于插入n-1个数 int j; // 内层循环用于查找插入位置 int leng
2016-10-19 15:10:22 346
原创 顺序查找
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 650
转载 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 471
转载 Android缓存LruCache详解
转自:http://www.cnblogs.com/tianzhijiexian/p/4248677.htmlLruCache是android提供的一个缓存工具类,其算法是最近最少使用算法。它把最近使用的对象用“强引用”存储在LinkedHashMap中,并且把最近最少使用的对象在缓存值达到预设定值之前就从内存中移除。其在API12被引进,低版本可以用support包中的类。一、分析源
2016-10-12 14:23:54 3741
转载 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 292
原创 冒泡排序
1、思想冒泡排序的思想是小数往上浮,大数向下沉,并且沉下去的数下次不再处理,而向上浮的过程要一遍又一遍。排序算法的核心是比较交换,查找算法的核心是比较;2、代码/** * 冒泡排序算法 * * @param src * 原始数据数组 * @return 有序数据数组 */ private static > T[] bubbleSort(
2016-09-22 15:11:50 394
原创 折半查找
1、思想从一堆有序数列中查找某一关键字所在位置。以由小到大数列为例:首先和这堆数列的中间数进行比较,若相等则此中间数位置即为所查找关键字位置;若比中间数大,则此关键字肯定在中间数位置之后;若比中间数小,则此关键字肯定在中间数位置之前;2、代码/** * 折半查找算法 * * @param src * 原始数据数组 * @param k
2016-09-22 14:31:52 418
原创 iOS黑魔法之Method Swizzling
此黑魔法本应属于OC,它是基于Runtime实现的偷天换日大法。那么什么是Method Swizzling呢?从字面意思来看叫方法协调,大概就是这个意思了。使用此魔法可以替换现有方法为自定义方法,来个偷天换日,偷梁换柱。使用方法很简单,代码基本为以下框架。但其具有较强的魔力,这是一个方法hook啊。/** * Method Swizzling * 黑魔法之偷天换日 */
2016-08-19 11:40:16 959
原创 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 379
转载 iOS 认识CoreData-多线程
转自:http://www.cocoachina.com/ios/20160804/17282.htmlCoreData使用相关的技术点已经讲差不多了,我所掌握的也就这么多了....在本篇文章中主要讲CoreData的多线程,其中会包括并发队列类型、线程安全等技术点。我对多线程的理解可能不是太透彻,文章中出现的问题还请各位指出。在之后公司项目使用CoreData的过程中,我会将其中
2016-08-04 18:00:08 713
转载 iOS 认识CoreData-高级
在之前的文章中,已经讲了很多关于CoreData使用相关的知识点。这篇文章中主要讲两个方面,NSFetchedResultsController和版本迁移。文章题目中虽然有“高级”两个字,其实讲的东西并不高级,只是因为上一篇文章中东西太多了,把两个较复杂的知识点挪到这篇文章中。文章中如有疏漏或错误,还请各位及时提出,谢谢!NSFetchedResultsController
2016-08-04 17:57:44 410
转载 iOS 认识CoreData-进阶
转自:http://www.cocoachina.com/ios/20160802/17260.html之前两篇文章都比较偏理论,文字表达比较多一些,但都是干货!学习时先理解理论知识,才能更好的帮助后面的理解。在这篇文章中,将会涉及关于CoreData的一些复杂操作,这些操作会涉及分页查询、模糊查询、批处理等高级操作。通过这些操作可以更好的使用CoreData,提升CoreData性能。文
2016-08-04 17:55:31 514
转载 iOS 认识CoreData-入门
转自:http://www.cocoachina.com/ios/20160801/17248.html第一篇文章中并没有讲CoreData的具体用法,只是对CoreData做了一个详细的介绍,算是一个开始和总结吧。这篇文章中会主要讲CoreData的基础使用,以及在使用中需要注意的一些细节。因为文章中会插入代码和图片,内容可能会比较多,比较考验各位耐心。文章中如有疏漏或错
2016-08-04 17:52:23 1215
转载 iOS 认识CoreData-基础
转自:http://www.cocoachina.com/ios/20160729/17245.html这段时间公司一直比较忙,和组里小伙伴一起把公司项目按照之前逻辑重写了一下。由于项目比较大,还要兼顾之前项目的迭代和其他项目,目前为止只写完第一阶段。之前项目本地持久化方案主要用的是SQLite,这次重写项目打算换一种持久化方案,于是我们经过讨论选择了苹果的“亲儿子”CoreDat
2016-08-04 17:48:37 413
原创 iOS CoreData入门
一、基本概念iOS 5引入CoreData对象关系模型ORMOC对象 SQLite数据库*模型的封装*数据库的操作Entity(Attributes/Relationships/FetchedProperties)可以省略(主要是为了自定义NSManagedObject 添加自己的属性和方法)二、相关APINSManagedObject
2016-08-02 18:30:23 375
原创 iOS GCD完全解析
GCD多线程编程完全解析,详细介绍什么是GCD,什么是多线程,GCD的API使用,GCD的实现等内容。丰富的代码可以直接使用,为《Objective-C高级编程》中第三章的总结和读后感,分类清晰,以作用:使用方法进行API的说明。作此文已备用。
2016-07-28 17:46:38 648
原创 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 545
转载 iOS设计控件全解析
代码的等级:可编译、可运行、可测试、可读、可维护、可复用前言一个控件从外在特征来说,主要是封装这几点:交互方式显示样式数据使用对外在特征的封装,能让我们在多种环境下达到 PM 对产品的要求,并且提到代码复用率,使维护工作保持在一个相对较小的范围内;而一个好的控件除了有对外一致的体验之外,还有其内在特征:灵活性低耦合易拓展易维护
2016-07-13 15:12:45 596
原创 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 312
原创 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 495
原创 iOS模型和代码组织结构
一、代码组织决定了项目的可维护性、可复用性,同时通过设计模式和设计原则决定可扩展性。下面是用MVC的形式进行代码组织。二、模型是iOS编程的基本功,有利于代码扩展和维护。//.h/** * 情景模式的模型 */#import #import @interface MLScene : NSObject//图片地址@property (nonatomic, copy)
2016-07-11 20:16:40 765
原创 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 999
原创 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 316
转载 iOS数据持久化
转自:http://www.cocoachina.com/ios/20150720/12610.html概论所谓的持久化,就是将数据保存到硬盘中,使得在应用程序或机器重启后可以继续访问之前保存的数据。在iOS开发中,有很多数据持久化的方案,接下来我将尝试着介绍一下5种方案:plist文件(属性列表)preference(偏好设置)NSKeyedArchi
2016-07-07 09:16:51 266
转载 iOS数据持久化1
概览在iOS开发中数据存储的方式可以归纳为两类:一类是存储为文件,另一类是存储到数据库。例如前面IOS开发系列—Objective-C之Foundation框架的文章中提到归档、plist文件存储,包括偏好设置其本质都是存储为文件,只是说归档或者plist文件存储可以选择保存到沙盒中,而偏好设置系统已经规定只能保存到沙盒的Library/Preferences目录。当然,文件存储并不作为本文的
2016-07-07 09:12:37 437
原创 iOS视图导航
尺寸之间,无穷世界。手机作为移动设备,屏幕空间有限,要想在手机上展示丰富的内容,就要提供多视图,大尺寸。为了避免程序页面跳转混乱,就需要视图导航来解决此问题。一、模态视图模态视图:不属于导航结构的主要分支,是为了打断主视图显示出来提供用户交互,如在登录页面提供注册接口,注册页面就是模态视图。模态视图通常由下往上滑入,由上往下滑出。当然,也可以使用动画来改变其模式。通常会用到:- (vo
2016-07-05 18:55:27 2036
原创 iOS设计模式
一、设计模式a) 所谓模式就是在某种情境下针对某问题的某种解决方案;b) 设计模式基本来源于GoF,共23种;二、单例模式a) 单例模式是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。#import "Singlton.h"
2016-07-01 10:00:55 678
转载 iOS事件详解
转自:http://www.cnblogs.com/kenshincui/p/3950646.html概览iPhone的成功很大一部分得益于它多点触摸的强大功能,乔布斯让人们认识到手机其实是可以不用按键和手写笔直接操作的,这不愧为一项伟大的设计。今天我们就针对iOS的触摸事件(手势操作)、运动事件、远程控制事件等展开学习:iOS事件简介触摸事件手势识别运动事件远程控制事件
2016-06-25 12:14:43 972
原创 iOS多线程编程
一、什么是多线程a) 进程是运行着的程序;b) 一个进程至少包含一个线程(主线程,界面更新UIKit);c) 线程共用程序内存,但每个线程都有自己的stack空间;d) 多线程就是多个执行流,可以同步或异步,是一种并发执行技术。二、iOS中实现方法a)
2016-06-25 09:41:19 567
原创 iOS网络编程
一、HTTPa) HTTP(Hyper Text TransferProtocol)超文本传输协议,是一种基于请求响应的无状态的应用层协议。其通过tcp协议进行传输。b) HTTP1.0 一次连接一次传输;HTTP1.1一次连接多次传输。二、POST &GETa) GET 请求变量在url中,安全性能
2016-06-24 16:17:30 386
C语言程序设计(谭浩强.第四版).zip
2019-07-09
高仿QQ音乐播放器
2015-09-15
串口调试肋手V1.3
2015-07-22
三星Glaxy系列grand手机不能显示音乐频谱
2015-02-03
TA创建的收藏夹 TA关注的收藏夹
TA关注的人