- 博客(160)
- 资源 (30)
- 收藏
- 关注
原创 Android-->如何优雅的切换表情和键盘(原理)
网上有很多开源的项目, 但通常都封装的很复杂, 并不能很友好的自定义, 甚至原理都看不清楚.没关系, 这篇文章就是讲原理的. 让你分分钟都能自定义一个出来.正常情况下, 当我们切换表情和键盘的时候, Layout会跳动, 体验极其差.有几个前提需要满足:<activity android:windowSoftInputMode="adjustResize" //这个是必
2016-10-19 21:43:39 4721 1
原创 Android-->RecyclerView.ItemDecoration分割线详解
RecyclerView.ItemDecoration不仅仅只是用来画线实现分割线这么简单;你可以绘制everything, 只要你想要; 都可以;最常用的: 绘制分割线; 绘制分组标题;点这里查看效果图参考文档: http://blog.csdn.net/pengkv/article/details/50538121ItemDecoration有3个重要的方法:@Overridepubli
2016-10-16 14:30:48 3817
原创 Android-->拍照/相册选择照片(从Uri中获取图片路径)
对于一个APP来说, 照片选择是经常会用到的功能.拍照获取照片 此方法需要指定照片的路径, 这是最简单的获取照片的方式了;/** * 拍照获取图片, imageUri.getPath() 图片路径 */public static void getPhotoFromCamera(Activity context, int requestCode, Uri imageUri) { Int
2016-10-10 13:39:05 11477 2
原创 Android-->Facebook图片加载库Fresco(爱它的理由)
在Android中,图片加载框架很多,很多,很多…都是经典,爆款.也许你在用: https://github.com/square/picasso https://github.com/bumptech/glide https://github.com/nostra13/Android-Universal-Image-Loader/ https://github.com/koush/U
2016-10-02 05:53:11 2235
原创 Android-->颜色渐变动画的实现,应用市场跳转
这个动画实现起来很简单,但是前提是你知道该怎么实现. 哈哈; 如果不知道, 再简单, 都是那么难;public void startAnimation(View view) { View animationView = findViewById(R.id.view); //创建动画,这里的关键就是使用ArgbEvaluator, 后面2个参数就是 开始的颜色,和结束的颜色.
2016-09-22 09:43:39 4968
原创 Swift-->NSUserDefaults键值对,Android中的SharedPreferences
IOS中, 有4种数据存储的方法: 1:NSKeyedArchiver与NSKeyedUnarchiver存档 http://blog.csdn.net/angcyo/article/details/52262893 2:CoreData数据库 http://blog.csdn.net/angcyo/article/details/52331382 3:File存储 http://blog.c
2016-08-28 20:20:52 1435
原创 Swift-->ViewController跳转,转场以及自定义动画
IOS常用的转场方式: 1:UINavigationController的pushViewController打开,popViewController关闭; 2:UIViewController的presentViewController打开,dismissViewController关闭; 当然你也可以直接使用rootViewController赋值的方式…(本文暂不介绍此方法)1:首先看一
2016-08-28 01:56:27 6445
原创 Swift-->R.swift带你体验Android中R类的便利
R.swift可以很方便的管理IOS各种资源, 有点类似Android中的R类…. 先来看看效果图: 库的首页: https://github.com/mac-cain13/R.swift安装方法: http://www.jianshu.com/p/0c97ef3cdc38 安装需要2点: 1:需要运行一段脚本 "$PODS_ROOT/R.swift/rswift" "$SRCRO
2016-08-27 12:01:27 1639
原创 Swift-->CoreData原生数据库上手操作
APP开发,必不可少的就是存储数据. CoreData是IOS原生的数据存储框架,今天我就来膜拜一下苹果杰作.1:在创建IOS项目的时候,界面上勾选Use Core Data 这样IDE就会帮你创建CoreData的初始化代码//MARK: 最主要的就是这个成员了...lazy var managedObjectContext: NSManagedObjectContext = { /
2016-08-26 20:36:06 1333
原创 Swift-->Http网络请求(NSURLSession, Alamofire)
网络请求用的比较多的是Get和Post请求,最为学习记录,先介绍Get请求.后续更新Post请求. 本文介绍,在IOS开发中,苹果原生的NSURLSession框架和第三方开源的Alamofire1:调用系统浏览器打开网页let baidu = "http://www.baidu.com"//MARK:构建一个NSURL,使用Stringvar bdUrl: NSURL { retur
2016-08-26 15:34:19 1523
原创 Swift-->Json解析(原生NSJSONSerialization)
什么是Json? 请百度… 本质就是String,是一种有格式的String.在Swift中,使用NSJSONSerialization对象,进行解析.1:将对象(字典/数组)转换成Json String 需要注意:并不是所有的对象都能转换成Json,必须满足以下条件: 1,顶层对象必须是NSArray或者NSDictionary 2,所有的对象必须是NSString、NSNumber
2016-08-26 10:22:31 3716
原创 Swift-->CocoaPods的使用与安装
很显然,你已经明白了CocoaPods是干啥的. 本文主要介绍CocoaPods在MAC OS X 10.11.6 的安装和使用.CocoaPods开源首页: https://github.com/CocoaPods/CocoaPods/ CocoaPods首页: https://cocoapods.org/1:通常都是使用pod install 安装依赖库 很不巧,pod command
2016-08-23 14:17:04 1418 1
原创 Swift-->Realm1.0.2 数据库上手指南
IOS中, 替代Core Data的数据库框架. 比Core Data的配置简单N倍.强烈建议查看官网文档: 1.0.2 英文文档: https://realm.io/docs/swift/latest/ 1.0.0中文文档: https://realm.io/cn/docs/swift/latest/1:Realm的库引用 https://realm.io/cn/docs/swift/la
2016-08-23 01:46:27 1747
原创 Swift-->GCD,NSThread,NSBlockOperation多线程使用(主线程回调)
应用程序开发,少不了的多线程,与多线程相关的就是线程同步. 本文介绍Swift最简单的多线程使用.推荐阅读: http://www.jianshu.com/p/0b0d9b1f1f19看例子: 1:获取线程基本的信息func getThreadInfo() { let thread = NSThread.currentThread() let threadInfo = "线程名:
2016-08-22 21:55:46 2397
原创 Android-->相册,摄像头获取图片,图片路径,以及剪裁图片
本文介绍如何从相册,摄像头中获取图片Bitmap和图片的路径Path. 并且实现可以剪裁图片,和压缩图片.1:打开图片选择器(系统默认就提供了)static final int REQUEST_CODE_PHOTO = 100;public void getPhotoFromPhotos() { Intent intent = new Intent(Intent.ACTION_GET_C
2016-08-22 17:57:28 1643
原创 Swift-->NSKeyedArchiver与NSKeyedUnarchiver数据存档读取(文件)
本文介绍Swift2.2 中, 创建文件/文件夹, 将NSObject对象存档到文件, 并从存档文件读取对象.1:可存档对象声明//必须要继承NSObject对象,并且实现NSCoding协议class DataBean: NSObject, NSCoding { var image: UIImage? var name: String var rate: Int
2016-08-20 18:50:34 2205
原创 Swift-->从相册(摄像头)选择照片,图片选择
一个APP,选择照片是很常用的功能,作为Swift上路的菜鸟, 记录路上的点点滴滴.看效果:(MAC 原生截图,真JB大…我还特意用了小屏幕的iPhone4s…还是很大….) 界面部分不好说, 文章不提了….有兴趣的加群讨论!!!1:处理点击图片,弹出选择对话框//MARK: 轻触 图片控件extension ViewController { // MARK: 用于弹出选择的对话框界面
2016-08-17 23:18:06 4398 1
原创 AS-->创建项目(慢)和打开项目(慢)等需要注意的问题
Android Studio 创建新项目的时候,会在进度条的界面滞留很久. 有时候一天都卡在这. 打开其它项目有些时候,也会出现这种情况.主要的原因就是, 此过程正在 下载对应版本的 gradle. 如果网络杯具的话, 呵呵…(千万别砸电脑)查看对应的gradle版本: 如果是打开其它项目, 那么这个版本查看的方式是: 项目根目录下的gradle文件夹: 找到gradle-wrapp
2016-08-17 11:35:25 5032 3
原创 Swift-->全透明标题栏和导航栏(真正的沉浸式)
这是默认的效果: 标题栏和导航栏都有背景和横线 修改后的效果…喜不喜欢? 1:标题栏的修改navigationController?.navigationBar.subviews[0].removeFromSuperview()//去掉NavigationBar的背景和横线2:导航栏的修改if let views = tabBarController?.tabBar.subviews { vi
2016-08-14 19:45:06 5713 2
原创 Swift-->UIViewController的跳转,参数传递,返回参数
UIViewController的跳转,可以在Storyboard里面通过拖拽Segue进行跳转,也可以在代码中进行跳转.本文分别介绍这2种方式.1:Storyboard的方式 跳转,传递参数 首先选中 一个Button –> 按住 control 键–> 然后拖拽到需要跳转的 ViewController接着选中中间的曲线, 在右边的属性窗口中 为segue添加 identifier (唯一哦)
2016-08-13 00:58:34 7451
原创 Swift-->UIAlertController(对话框)的使用
在IOS 8.0之后, UIAlertView 和 UIActionSheet 已经被废弃了. 取而代之的是UIAlertController阅读之前,你需要具有Swift语法基础,至少要能看懂闭包以及结尾闭包.下图是UIAlertControllerStyle.Alert (UIAlertView)样式的截图: 下图就是UIAlertControllerStyle.ActionSheet (UI
2016-08-12 23:57:41 3399
原创 Android-->获取所有联系人以及所有的字段(联系人头像,邮箱,地址,公司等)
本文测试平台: Android 6.0 , API 23辅助阅读: Android官网有关联系人的开发指南: https://developer.android.com/guide/topics/providers/contacts-provider.html相关API: https://developer.android.com/reference/android/provider/Cont
2016-08-11 01:54:06 15431 3
原创 Android-->ViewDragHelper的详细使用方法
ViewDragHelper是Android系统原生封装用于ViewGroup滑动的类库.(ViewDragHelper只能用在ViewGroup中.)使用ViewDragHelper,可以非常方便的在ViewGroup中移动,滑动任意一个子View,并且控制相当方便.1:基础代码模版public class ViewDragTestLayout extends RelativeLayout {
2016-07-31 00:43:53 1187
原创 Android-->模仿360底部导航按钮
效果图: 如果没有左右2个边界的判断, 其实还是很简单的. 那就不断绘制drawCircle就可以了.难就难在左右边界这2个特殊的地方. 我这里使用了drawArc的方法,完成左右2个特殊的地方.部分代码://首先绘制 内圆. 也就是没有透明颜色的圆mPaint.setColor(mCircleColor);canvas.drawCircle(mCx, mCy, Math.min(curR
2016-07-29 17:51:36 944
原创 Bluetooth-->蓝牙开发扫描设备,及蓝牙设备类型
请先阅读: http://blog.csdn.net/angcyo/article/details/520358941:AndroidManifest.xml注册蓝牙扫描广播注意蓝牙的权限.<!--蓝牙广播--><receiver android:name="com.angcyo.bluetooth.BluetoothReceiver" android:exported="true"> <
2016-07-27 20:42:25 9539
原创 Bluetooth-->蓝牙开发之状态判断
1:判断设备是否支持蓝牙BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();if (null == adapter) { //蓝牙不支持}2:判断蓝牙是否打开if (!adapter.isEnabled()) { //蓝牙未打开 //adapter.enable();//打开蓝牙
2016-07-27 14:21:56 10579 1
原创 Android-->电话广播的监听
1:AndroidManifest.xml 注册广播<!--打电话广播--><uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/><!--监听电话状态--><uses-permission android:name="android.permission.READ_PHONE_STATE"/><re
2016-07-26 11:24:27 2558 1
原创 Android-->IPC(跨进程)通信Aidl的实现方法
看本文之前,我希望你对AIDL有一定的了解,请自行移步到百度补脑;官网AIDL教程:https://developer.android.com/guide/components/aidl.html 推荐阅读:http://www.race604.com/communicate-with-remote-service-1/假设你已经创建好了2个HelloWorld工程. 一个用来当做客户端; 一
2016-06-21 02:43:03 707
原创 Android-->自定义模版EditText(多用于手机号码,银行卡号等输入)
先看看效果图: 方法其实很简单,都没啥好写的咯;简单说一下思路吧:1:首先从模版中,拿到关键点所在的位置,保存在List中.private void initView() { if (!TextUtils.isEmpty(patternString)) { for (int i = 0; i < patternString.length(); i++) {
2016-06-13 14:45:08 2101 1
原创 Ndk-->通过Javah生成.h头文件(Jni入门之路)
如果你还不了解什么是Jni, 移步: https://www.baidu.com/s?wd=jni 这里有更权威的介绍: http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/jniTOC.html如果网络好,你可以看这里: https://developer.android.com/ndk/index.html首先,你需要了
2016-06-05 21:48:28 11264 1
原创 Android-->如何填MediaRecorder的坑(附TextureView的使用)
在Android系统中,录像官方使用的是MediaRecorder,这也是录像的正确姿势.因为系统已经帮你控制了很多复杂流程,复杂的转码操作,总之…当然,矫情的你也可以使用MediaCodec录制,这样就可以单独控制音频和视频了. 您可以移步至:http://blog.csdn.net/angcyo/article/details/51043367 查看相关资料;竟然是官方的东西, 为什么文章标题
2016-05-20 23:29:05 6959 1
原创 Android-->Log系统,Logback的使用体验(slf4j)
一个好的程序, 完全可以从Log中, 解决问题. 一个好的Log系统,是一个程序的关键.本文介绍的是Logback-Android, 这个库,可以将Log写入到File,写入到数据库,写入到Email,写入到网络. 当然,最基本的Logcat窗口完美输出,是最基本的;开源地址: https://github.com/tony19/logback-android slf4j地址: http://
2016-05-14 14:45:26 8817
原创 OS--›Git操作演练(项目实用命令)
竟然是命令操作,当然少不了要使用Shell.这里推荐使用babun用来执行shell命令,下载地址:http://babun.github.io/1:拉取项目git clone https://github.com/angcyo/PaintDemo.git 2:查看状态git status //可以查看所有文件的修改状态,在进行commit操作,push操作,pull操作之前,请确保所有文件的状态
2016-04-22 15:41:16 2130
原创 Android-->Realm(数据库ORM)使用体验,lambda表达式
Realm,为移动设备而生。替代 SQLite 和 Core Data。很庆幸,官方帮助文档有中文: https://realm.io/cn/docs/java/latest/ 虽然目前最新的版本0.88.3,连1.0的版本都没有发布…但是完全不影响她的强大;API文档: https://realm.io/docs/java/latest/api/由于官方的帮助文档,有中文的…大家看起来很容易懂,
2016-04-20 22:05:48 2034 1
原创 Android--›圆角图片,圆角任意View,圆角父布局Layout(任意形状的View且超简洁实现)
相信大家对圆角图片已经非常熟悉了,但是圆角任意View,和圆角父布局,甚至是任意形状的View,肯定还是比较陌生的.今天就揭开她的面纱.圆角图片移步:http://blog.csdn.net/lmj623565791/article/details/24555655 View的Draw过程移步:http://blog.csdn.net/fener10289/article/details/8231
2016-04-17 00:41:13 9652 2
原创 Android-->无障碍服务(AccessibilityService)开发指南(多用于抢红包,添加附近好友等功能)
学习最好的方法就是: 查看官方,官方,官方的文档; 虽然不够详细,但足够权威;无障碍官方指南: https://developer.android.com/guide/topics/ui/accessibility/index.html推荐博文: http://www.tuicool.com/articles/FRFnq2 http://blog.csdn.net/itfootball/artic
2016-04-11 15:22:46 13670 3
原创 Android-->原生保存Bitmap(图片),压缩图片,创建图片缩略图和视频缩略图(任意大小)
原图:1728*360 大小:1.1MB 尺寸:20*20 大小:2KB 尺寸:60*60 大小:9KB 尺寸:100*100 大小:23KB 1:保存Bitmap的方法/*** 保存Bitmap到文件*/public static void saveBitmap(Bitmap bmp, String filePath) throws FileNotFoundException
2016-04-09 15:51:07 2243 1
原创 Android-->iostat(显示CPU和IO系统负载情况)
推荐阅读: https://busybox.net/ https://termux.com/ http://blog.csdn.net/zhangjay/article/details/66567711:需要下载iostathttps://wiki.cc.gatech.edu/epl/index.php/Android_tools(需要在此网页寻找具体的下载地址), 解压后可以得到一个无扩展
2016-04-09 12:10:33 9711 1
原创 Android-->MediaMuxer,MediaCodec,AudioRecord及Camera实现音频视频混合MP4文件
本文相当长,读者请注意… 阅读之前,我喜欢你已经了解了以下内容: 1:https://github.com/saki4510t/AudioVideoRecordingSample 这个开源库介绍了, 音频和视频的录制, 其实已经够了~~~,不过视频的录制采用的是GLSurfaceView中的Surface方法, 并没有直接采用TextureView和Camera的PreviewCallb
2016-04-02 13:29:50 50134 31
原创 Android-->Rxjava与Retrofit2的结合实战
阅读之前,请先了解: RxJava/RxAndroid 入门初体验 Android–>Retrofit 2.0 beta2 使用方法 本文使用的版本信息: compile ‘io.reactivex:rxjava:1.1.2’ compile ‘io.reactivex:rxandroid:1.1.0’ compile ‘com.squareup.retro
2016-03-22 15:26:43 9390 2
RecyclerViewDemo
2015-06-10
NettyServer
2015-06-09
批处理工具
2015-05-26
窗口工具V13.5
2015-05-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人