- 博客(53)
- 资源 (29)
- 收藏
- 关注

原创 Android的消息机制分析
Android平台上,主要用到的通信机制有两种:Handler和Binder,前者用于进程内部的通信,后者主要用于跨进程通信。1. 概述今天我们主要来聊一聊进程内部的消息机制Handler。从技术实现来说消息机制并不复杂,不只是Android平台,各种平台的消息机制原理基本上都是比较相似的,其中用到的主要概念有: 1. 消息发送者 2. 消息队列 3. 消息循环处理
2017-04-29 09:24:56
617
翻译 我进入编程世界的第一步
My first step into the world of Software Development — and what you can learn from it转载自:medium 原文链接Link As a budding student of computer science, there’s a disconnect between what you learn in
2018-01-07 15:57:50
955
1
原创 多个 git 账户共存
Git 多账户问题困扰我很久,今天决定自己研究下。我遇到的问题是同一台电脑上公司的 git 账号和 github 账号如何共存的问题。
2017-08-17 13:54:24
2558
原创 Android通信机制分析-Binder(1)
概述Android四大组件分别是 Activity、Service、BroadcastReceiver、ContentProvider,我们平时开发的 App 都是由四大组件中的一个或者多个组合而成;这四大组件所涉及的多进程间通信底层实现都是基于 Binder 的 IPC 机制。我们平时开发过程中用到很多跨进程的通信。
2017-05-04 10:34:03
449
原创 Hexo接入网易云评论
搞了GitPage之后不久看到多说评论6月份要关闭的消息,一直在琢磨换哪家,大家都有不同的观点,我还是觉得网易的云跟帖值得拥有,毕竟是大厂并且是易友好多年。不多说,说干就干。我使用的是Hexo的插件indigo。
2017-04-29 09:23:00
3078
原创 Android上传库到自由仓库Nexus
最近因为公司项目需要,多个组开发的项目依赖于一些公共的Library,正好公司也有Nexus仓库,于是就学习下如何如何将自己的Library上传到Nexus仓库供大家使用。
2017-04-29 09:20:50
1502
原创 you-get遇到的坑
you-get好用的视频下载器 https://github.com/soimort/you-get可以下载多个视频网站的视频,包括youtube,爱奇艺等
2017-04-29 09:18:45
33978
1
原创 经典排序之冒泡排序
冒泡排序是在学校学习编程的时候学习的第一种排序算法,可谓是最经典的排序算法,它是基于比较的排序算法,实现简单,接下来我们来一起温习下冒泡排序的实现原理和时间复杂度。 实现原理(升序):相邻的两个数据(A,B)进行比较,如果A>B,则swap(A,B);一趟排序下来,最大的那个数据排在了数组的末尾,第二趟也是如此,如此类推,直到所有的数据排序完成。 Java的代码实现如下:
2016-08-16 11:23:11
328
原创 iOS代码布局
初学iOS开发,请教做iOS开发多年的朋友使用代码布局的居多,赶紧又问了下度娘,发现使用storyboard和nib等布局有诸多不便,遂决定试一把代码布局,虽然iOS不想android那样多种多样的分辨率,但现在手机也有4个不同分辨率要兼容,好在水果公司出了autoLayout,话不多说直接上代码for (UIView *view in _userView.subviews) {view.tr
2016-04-18 11:39:42
709
原创 Android4.4以上沉浸式状态栏
在BaseActivity的onCreate中添加如下代码,设置状态栏透明和设置状态栏颜色 if (Build.VERSION.SDK_INT >= 19) { getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); getWindow().addFlag
2016-04-06 18:58:12
474
原创 RadioButton样式自定义
1、下载要替换的样式图或者由设计师提供,我是从google下载的https://design.google.com/icons/#ic_radio_button_unchecked2、写selector来设置样式 3、在xml中设置android:button="@drawable/radiobutton_bg"
2016-04-05 14:15:10
485
原创 Android常用正则表达式
常用正则表达式收集正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。匹配中文字符的正则表达式: [\u4e00-\u9fa5]评注:匹配中文还真是个头疼的事,有了这个表达式就好办了匹配双字节字符(包括汉字在内):[^\x00-\xff]评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)匹
2016-04-05 13:47:43
662
原创 限制EditText输入文字的数目
1、在xml布局中设置android:maxLength="36"2、通过代码设置editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(36)}); 3、通过设置editText的监听private TextWatcher mTextWatcher = new TextWatcher(){ To
2016-04-05 13:32:57
1123
原创 IOS开发随笔2
1、网络访问代码 用户登录时app常用的,需要将用户名和密码以及一些服务端需要的数据传给服务端,代码示例如下- (void)login { NSLog(@"login btn has pressed! username = %@, password=%@", _username.text, _password.text); _hud = [Utils createH
2016-03-12 12:27:13
472
原创 IOS开发随笔
1、网络访问 作为一个app,基本99%都需要访问网络,无论是下载数据还是访问接口刷新页面都需要网络,那方法是什么?请客官随我来 使用XCode打开Info.plist,然后加入一行App Transport Security Settings,然后在App Transport Security Settings下加入如下属性 Allow Arbitrary
2016-03-12 10:57:31
417
原创 cocapods的使用
做Android开发几年,一直想自学IOS的开发,之前尝试多次都因为自制力不足,一两周之后就搁置了,这次重新拾起来,决定更进一步。 在Android开发的时候有很多第三方(大牛们)开发的成熟的好用的库,避免自己重复造轮子,用起来也简单方便,所以IOS也有不少,这里就记录下我在初学IOS的时候如何使用第三方库的。我使用的插件名字是Cocoapods1、升级Ruby
2016-03-12 10:24:27
1082
转载 ubuntu recovery mode root readonly filesystem 解决
进入ubuntu recovery mode选择root opt进去后mount -o remount, rw /
2015-09-16 09:53:01
1922
原创 Ubuntu开启远程控制的方法
1、安装openssh-server sudo apt-get install openssh-server 2、检查是否安装成功有sshd证明是启动成功了3、使用ssh localhost,连接本地验证4、在其他电脑上使用ssh连接最后cd ~和ls 显示的内容已经是Ubuntu上的内容了,说明已经连接成功5、从Ubuntu上下载东西到
2015-03-28 09:54:12
3080
2
转载 EventBus使用和代码分析
转自:http://blog.youkuaiyun.com/yuanzeyao/article/details/38174537尊重原创:http://blog.youkuaiyun.com/yuanzeyao/article/details/38174537代码下载:http://download.youkuaiyun.com/detail/yuanzeyao2008/7684041 在编程
2015-01-23 14:15:54
863
转载 transient关键字使用小记
1. transient的作用及使用方法 我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。 然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,
2015-01-21 10:17:39
592
转载 Volley 实现原理解析(转)
转自:https://github.com/android-cn/android-open-project-analysis/tree/master/volleyVolley 实现原理解析本文为 Android 开源项目实现原理解析 中 Volley 部分项目地址:Volley,分析的版本:35ce778,Demo 地址:Volley Demo分析者:grumoon,校
2015-01-21 09:40:21
25176
原创 WireShark on MacOS
1、下载WireShark 64位 https://2.na.dl.wireshark.org/osx/Wireshark%201.12.2%20Intel%2064.dmg2、双击安装3、安装后启动,提示4、安装X11地址http://xquartz.macosforge.org/landing/5、下载安装后,再次启动WireShark,选择使用工
2015-01-04 10:42:20
2286
转载 Android working with Volley Library
Android volley is a networking library was introduced to make networking calls much easier, faster without writing tons of code. By default all the volley network calls works asynchronously, so we don
2014-12-29 10:40:04
1097
原创 AIDL调用指南
最近有需求要实现两个apk之间的通信,想到用AIDL来实现,现写一个demo学习下AIDL如何使用。这里我要实现一个apk(client端)调用另一个apk(server端)的方法。先实现server端,代码结构如下aidl文件内容:package com.example.testaidl;interface MyInterface { void testMeth
2014-07-06 11:28:26
1248
转载 Add SurfaceView flash a black screen
Add SurfaceView flash a black screen(动态添加SurfaceView导致黑一下屏)最近工作需要,需要将一个VideoView动态添加到一个View上,但是出现了问题,第一次添加VideoView的时候,总是会全屏闪一下黑屏。搜了所有地方,都没有合适的解答。查看了一下VideoView的源代码,发现这个类从SurfaceView继承而来。为了排
2013-09-17 18:33:34
3247
原创 Android installed app, never used, cannot receiver BroadcastReceiver
官方文档是这么写的:(http://developer.android.com/about/versions/android-3.1.html#launchcontrols)Launch controls on stopped applicationsStarting from Android 3.1, the system's package manager keeps trac
2013-09-09 14:22:41
1300
原创 dom4j解析和修改xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.helloworld" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:min
2013-08-11 15:12:57
4379
原创 Android工程打包
1、命令行定位到工程所在的目录。2、android list target列出所支持的target的列表3、新建一个ant.properties文件。写入keystore的相关信息。key.alias=my.keystorekey.store.password=xxxxxxxxxxxxxxxxxxxxxxxxkey.store=myi.keystorekey.alias
2013-07-09 19:10:30
1271
转载 Android出现“Read-only file system”解决办法
操作设备文件系统上的文件结果遇到"... Read-only file system"。解决办法:1. 最简单的,adb remount2. 不行的话,adb shell su之后将文件系统remount为读写权限: mount -o remount rw /system。出于安全考虑,记得完事后remount回只读: mount -o ro,remount /sy
2013-04-24 11:48:54
47028
3
转载 MAC系统安装/卸载cocos2d-x
卸载cocos2d-x:(将隐藏的模板文件删除掉)1、打开你mac终端,输入命令: 显示Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles YES隐藏Mac隐藏文件的命令:defaults write com.apple.finder AppleShowAllFiles NO输入回车,关闭终端。
2013-03-24 12:15:55
1698
原创 使用plist创建精灵并执行动画
素材图:然后使用Texture Packer放到一张图片上,并生成plist文件接下来直接上代码 CCSize size = CCDirector::sharedDirector()->getWinSize(); //获得屏幕的尺寸 CCArray* pArray = CCArray::createWithCapacity(4);
2013-03-24 11:53:31
6939
原创 如何清除右键打开方式中的重复工具
把以下内容拷贝到终端执行,然后重启。/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
2013-03-24 11:09:53
2122
转载 iOS开发中@property的属性介绍
大家都知道@property和@synthesize可以自动生成某个类成员变量的存取方法,但可能对property中的一些属性不是很了解,网上的一些介绍有的不是很正确,感觉会误导新手,于是准备详细介绍一下property中的详细属性。先介绍一下默认的情况:readwrite:这个属性是默认的情况,会自动为你生成存取器assign:这个属性
2013-02-19 21:02:13
522
转载 Android开发优化之——对Bitmap的内存优化
转自http://blog.youkuaiyun.com/arui319/article/details/7953690在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容。 1)
2013-02-01 16:01:47
582
转载 Android开发优化之——使用软引用和弱引用
转自http://blog.youkuaiyun.com/arui319/article/details/8489451Java从JDK1.2版本开始,就把对象的引用分为四种级别,从而使程序能更加灵活的控制对象的生命周期。这四种级别由高到低依次为:强引用、软引用、弱引用和虚引用。这里重点介绍一下软引用和弱引用。如果一个对象只具有软引用,那么如果内存空间足够,垃圾回收器就不会回收它;
2013-02-01 15:25:48
696
转载 iOS开发准备——资源推荐
转自http://blog.youkuaiyun.com/huxiweng/article/details/85609771年前入手了Mac Pro,当时寻思着学习下Mac或者iOS下的开发,懒着多了一年都没有行动。2013年年初又买了IPHONE 4S,没理由再继续偷懒了!随着iPhone取得巨大成功,而且后续的IPHONE MINI大众化之后,iOS开发将会变得更加流行。学习如何在这样一个新的平台
2013-02-01 15:00:31
672
转载 Activity的4种launchMode
转自http://blog.youkuaiyun.com/noodies/article/details/8562452也许是我的英文理解能力问题,Google关于launchMode的描述总是让我困惑,所以我就分别测试了这几种模式,按照我的理解重新整理一下文字A - standard:默认模式,总是创建新的A实例,同一个任务可以有多个A的实例Task堆栈:A1->A2->A3
2013-02-01 14:55:08
508
struts2权威指南(完整版+源码)2
2009-04-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人