- 博客(27)
- 资源 (2)
- 收藏
- 关注
原创 IOS LOG日志工具
开发中,日志输出是非常重要的,可以帮助开发者调试并查看重要数据信息,知道程序运行情况或有没有符合预期结果。但日常开发中,开发者并不是一直都希望日志输出在运行过程中输出相关数据信息(避免数据信息被泄漏),因此需要统一到一个工具类中进行管理,并且有开关控制(方便开发中控制进行日志输出)。哈哈~好啦!相信这个工具类相对简单,各位都知道怎么开发的,在这里不多说啦~LogUtil.h#import <Foundation/Foundation.h>#define TAG "LOGMSG
2020-09-30 10:35:07
769
原创 IOS AES加密/解密
对数据进行操作处理过程中,需要对数据进行加密/解密处理,存在各种各样的加密方式,此处介绍AES对称加密/解密。AES加密/解密过程结合了Base64编码/解密,利用唯一秘钥key(AES具体描述此处不作详细介绍),导入如下库文件:#import <CommonCrypto/CommonDigest.h>#import <CommonCrypto/CommonCryptor.h>AES加密/解密过程,必须保证其秘钥key一致,否则会导致解密过程失败。AESUtil.
2020-09-27 16:58:56
7508
原创 IOS Base64编码/解码
对一长串NSString数据进行Base64编码/解码,无非围绕着NSString与NSData之间进行转换。Base64Util.h#import <UIKit/UIKit.h>/** * Base64工具类 */@interface Base64Util : NSObject/** * Base64编码 */+(NSString *)base64Encode:(NSString *)data;/** * Base64解码 */+(NSString *)
2020-09-27 16:01:54
3667
原创 IOS MD5、SHA1加密
对一长串NSString数据进行MD5加密,其做法相对较为简单,利用CC_MD5,导入如下库文件:#import <CommonCrypto/CommonDigest.h>MD5Util.h#import <UIKit/UIKit.h>#import <CommonCrypto/CommonDigest.h>@class MD5Util;/** * MD5 工具类 **/@interface MD5Util : NSObject/**
2020-09-27 15:53:55
273
原创 IOS 判断iPhone刘海屏
现在Apple市场上,越来越流行刘海屏手机(与Android市场一样,往刘海屏手机方向发展趋势)。在iPhone手机角度上看,刘海屏出现在机型较新的手机上(相对较旧/老的iPhone上还没出现)。那么,如何判断当前的iPhone手机是刘海屏手机呢?同时,如何获取刘海高度?在这里,提供一个工具类:NotchScreenUtil.h/* * iPhone刘海屏工具类 */@interface NotchScreenUtil : NSObject// 判断是否是刘海屏+(BOOL
2020-09-27 15:44:54
8163
原创 IOS 获取手机设备信息
回顾一下,Android中获取手机设备相关信息:通过android.os.Build、context.getResources().getDisplayMetrics()、Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID)、(TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE)等等,从而获取到手机设备:手机型
2020-09-27 15:01:06
2055
原创 IOS 获取App相关信息
相信学习过Android开发的小伙伴都知道如何获取当前应用的应用名、版本名、版本号等信息吧!Android Context通过PackageManager、PackageInfo可获取得到当前应用的相关信息。相对的,IOS则通过开发库所提供NSBundle中的mainBundle其内部的infoDictionary方法获取。AppInfo.h#import <UIKit/UIKit.h>@class AppInfo;/** * app相关信息 **/@interfa
2020-09-27 14:32:42
296
原创 IOS 获取手机系统时间
在iOS开发过程中,难免会需要获取手机系统时间,比如:获取手机系统时间(年、月、日、时、分、秒、毫秒等等)需求。获取手机系统时间相对并不难实现,其获取方式通过开发库所提供的NSDate、NSCalendar等类似于Android中的Date、Calendar等时间类。TimeUtil.h#import <UIKit/UIKit.h>@class TimeUtil;/** * 获取时间工具类 **/@interface TimeUtil : NSObject/**
2020-09-27 14:15:50
1321
原创 Android 监视sensorLandscape时的屏幕方向改变
在设置界面为sensorLandscape时,会出现屏幕在横屏中有横屏正向和横屏反向之间的切换(以手机竖屏正放,逆时针方向旋转的角度90度和270度),但通常会需要知道这两者之间自由切换时所触发的事件,并按照需求对切换时进行相关操作。对于监听屏幕方向旋转(手机旋转角度变化)自然而然就想到了利用方向监听事件:OrientationEventListener。实现接口OrientationE...
2019-05-27 19:49:51
6557
原创 Android 单例模式:你真的会了吗?
何谓单例模式?对单例模式的解释是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。在创建单例模式时,无非就是使用饿汉式或懒汉式进行单例创建,而在使用中也包含非线程安全和线程安全。问:你知道吗?单例模式不仅仅只是普遍的饿汉式和懒汉式,其实可以分出8种创建方式!什么?!8种创建单例模式的方式?!哈哈,相信看到这里大家都想知道是怎样得到8种了吧!好了,别着急~以下为大家一一解答...
2019-02-26 10:42:03
205
原创 Android 实例化插件
在进行SDK开发中,往往使用到插件进行功能调用,想调用插件则需要对插件进行实例化,其思路是:根据插件所在的绝对路径通过Class.forName方法获取Class对象,利用所获取的Class对象调用getDeclaredConstructor方法获取其Constructor对象,最后对所得到的Constructor对象newInstance进行实例化,以上步骤最后得到的就是插件实例。具体实现如...
2019-02-16 11:37:07
484
原创 Android 检测是否安装微信、支付宝
检测设备上是否安装微信、支付宝的代码: /** * 检测是否安装支付宝 * @param context * @return */ public static boolean isAliPayInstalled(Context context) { Uri uri = Uri.parse("alipays://platfo...
2019-02-16 09:20:03
8064
原创 Android 生成桌面快捷菜单
桌面快捷菜单就像手机app程序在桌面生成启动图标,但快捷菜单并不是app程序,点击快捷菜单启动的并不是一个程序。那么,快捷菜单究竟是怎样的呢?我们大多数人都有看小说或浏览网页的习惯吧!比如打开浏览器阅读自己喜欢的小说或浏览喜欢的网页,但如果你下次想再打开进行浏览阅读,那就得要乖乖的从打开浏览器这一步开始了,这样的过程其实没必要,因为我们的目的只是想打开某个网页,因此快捷菜单就是为此提供了便...
2019-02-15 10:00:24
1332
原创 Android GIF图片显示
在Android开发中,对于.gif格式的动态图片,如果使用ImageView(setImageBitmap、setImageDrawable、setImageResource等)显示gif图片是没有动态效果,只能显示静态图片。在需要显示gif图片中,推荐以下两种显示方式:1、Glide2、GifImageView不得不说,Glide真的是一款强大的加载、处理图片的开源框架。使...
2018-10-12 14:39:47
13304
原创 Android eclipse使用gradle打包
1 、 gradle 安装1.1、下载安装包:https://gradle.org/releases官方网站提供了最新以及历史版本,根据需求下载对应的版本。建议用最新的1.2、解压到常用目录,此例放入D:\Program Files1.3、配置环境变量,使得命令能够执行1.4、检查安装配置是否正确。window系统下使用“gradle -v”命令查看,mac系统下使用“./...
2018-10-08 11:22:21
848
原创 Android 自定义FloatView实现悬浮视图
前言:自定义FlaotView不需要任何权限,继承FrameLayout,通过WindowManager实现悬浮。资源文件:drawable、drawable-hdpi、layout菜单背景(menu_bg.xml):<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://s...
2018-09-27 17:07:10
6494
原创 Android 弹出菜单PopupWindow
利用继承PopupWindow,自定义类实现弹出菜单并为弹出菜单添加动画效果。自定义PopupMenu继承PopupWindow:import android.app.Activity;import android.content.Context;import android.graphics.drawable.ColorDrawable;import android.view.D...
2018-09-25 10:27:53
325
原创 JavaScript 利用定时器setInterval实现不断来回移动碰撞动画
该动画的实现主要利用了css中的style以及setInterval,原理:定时运行设置块元素的位移(style.left、style.top)。CSS(colorstyle.css)/*矩形边框的样式设置*/#rectangle { width: 500px; height: 300px; border: 1px solid black; margin: 100px ...
2018-09-20 15:41:44
3049
原创 Android 判断程序是否在前台运行
存在着各种各样的判断当前程序是否退出前台放置在后台运行的方法,这里提供一种利用Application.ActivityLifecycleCallbacks回调方法实现判断程序是否在前台运行。步骤一:自定义实现Application.ActivityLifecycleCallbacks回调接口的类Foreground。public class Foreground implements Applic...
2018-04-19 14:58:20
1220
原创 Android 实现数据持久化功能的三种方式
在应用开发中,不可避免要无时无刻地和数据打交道。为什么要实现数据持久化?比如:对象Student中有参数name、sex、age等,在应用开发中可以创建一个Student对象并给其参数赋值,该方式用于存储暂时\瞬时的数据,当退出程序或资源被回收后所保存的数据就消失了,因此当我们开发中需要保存用户登录的账号或密码、保存用户设置等重要信息时,数据持久化就可以帮助我们实现这一需求。
2018-01-30 11:43:08
3413
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人