笔记
文章平均质量分 88
summer0087
这个作者很懒,什么都没留下…
展开
-
【iOS】集成CocosCreate导出的项目
背景由于现实需求,需要将多个h5的Cocos2d-x,转变为原生后,再集成进现有项目。参考如果是通过新建的空工程来集成CocosCreate导出的项目(后面简称Cocos项目),可以直接参考《CocosCreator导出的iOS项目》 ,对这篇参考文档简单那总结如下: 修改Appdelegate类名称,复制cocos2d-x、Classes、jsb-default等资源文件; 引入相关的工程与文件到目的项目中; 修改Build Phases与Build sett原创 2021-07-24 17:43:10 · 721 阅读 · 1 评论 -
CocoPads中的文件夹命名规则
是根据库的名称,比如 AFNetworking 的md5后字符串为 A75D452377F3996BDC4B623A5DF25820,其在Specs的目录位置即为 a/7/5/AFNetworking这样的命名好处是,查找快。原创 2020-08-11 09:11:42 · 139 阅读 · 0 评论 -
ScrollView中嵌套ScrollView的滑动问题
ScrollView中嵌套ScrollView时,滑动时,默认情况下,手指在哪个ScrollView上滑动,滑动事件就被其消费掉,滑动距离就在其上。有时,会期望滑动内部ScrollView时,由外层的控制器来控制滑动的距离应该由哪个ScrollView来体现。看到一种实现方式,在此记录下:总体思路是:移除当前被嵌套的ScrollView自身的contentOffset的观察者对被嵌套的ScrollView的contentOffset属性设置观察者,设置为当前控制器contentOffset发生变原创 2020-07-29 09:41:34 · 1382 阅读 · 0 评论 -
iOS tips
1.自定义的导航栏右键,enable禁用在自定义导航栏右键时,在某条件成立时,按钮可响应点击事件,尝试如下:self.saveBtn = [self getBtn:MKString(@"Post_Button_Save") action:@selector(onSave)];[self.saveBtn setEnabled:NO];self.saveBtn.alpha = 0.4;UIBarButtonItem *customBar = [[UIBarButtonItem alloc] initW原创 2020-07-20 10:24:45 · 200 阅读 · 0 评论 -
iOS 字典初始化赋值一记
有例如下:int index = 1, size = 1, type = 1; NSString * shopId = nil; NSString * word = @""; NSDictionary * para = [NSDictionary dictionaryWithObjectsAndKeys: @(inde...原创 2020-03-28 23:21:16 · 596 阅读 · 0 评论 -
Android APP间相互调用的方式一记
ComponetName方式以甲方App调用乙方App为例甲方如下操作:Intent intent = new Intent();ComponentName componentName = new ComponentName(pkg, cls);// 参数pkg与clsintent.setComponent(componentName);context.startActivity(in...原创 2020-03-27 18:22:44 · 1153 阅读 · 0 评论 -
Java虚拟机一记
执行Class文件的环境虚拟机结构虚拟机是执行Class文件的环境,通过类加载子系统加载进来,其一般包括:运行时数据区域、执行引擎(即时编译器、垃圾回收器)、本地库接口、本地方法库。Class文件格式此二进制格式文件独立于特定的硬件与操作系统。任何语言,只要能被编译成Class文件,就可以被Java虚拟机识别并执行。每一个Class文件中都对应着唯一的类或者接口的定义信息。包含的信息有...原创 2020-03-14 12:02:21 · 69 阅读 · 0 评论 -
并发技巧清单
可变状态是至关重要的所有的并发问题都可以归结为如何协调对并发状态的访问。可变状态越少,就越容易确保线程安全性。尽量将域声明为final类型,除非需要它们是可变的不可变对象一定是线程安全的不可变对象能极大地降低并发编程的复杂性。它们更为简单而且安全,可以任意共享而无须使用加锁或保护性复制机制。封装有助于管理复杂性在编写线程安全的程序时,虽然可以将所有数据都保存...原创 2020-03-08 09:41:25 · 70 阅读 · 0 评论 -
iOS 启动图、右滑返回上一页面
启动图xcode10.3 新建的工程,在LaunchImage中添加了各尺寸的启动图,但就是效果不生效,原来还需要去配置文件中进行设置。具体是将 Asset Catalog Launch Image Set Name 这一项的值,设置为 LaunchImage,这样才行。此记。右滑返回上一个页面有些场景下,一级页面有导航栏,二级页面隐藏了导航栏,这种场景下,可能会在二级页面边缘右滑返回上...原创 2020-03-01 11:19:04 · 453 阅读 · 0 评论 -
Android 下载apk包并安装
1.权限申请8.0以后需要。<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />2.清单文件8.0后通过FileProvider方式<provider android:name="android.support.v4.content.FileProvider...原创 2020-02-28 13:28:06 · 1662 阅读 · 0 评论 -
Android 强制退出应用
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP) { ActivityManager activityManager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE); Li...原创 2020-02-26 11:52:16 · 674 阅读 · 0 评论 -
Andorid——aapt类报错
此类报错的一般是看不出错在哪里,但可以根据AS自带的功能,单独的运行错误模块,查看更详细的错误信息。具体如下:一般报错有指向特定的模块、特定的功能,比如 :NewWindInfo:mergeReleaseResources,可以点击右侧的【Gradle】功能以展开相应的页面;找到NewWindInfo模块下,展开【Tasks】模块——展开【other】模块——找到mergeReleaseRe...原创 2020-02-17 14:45:21 · 255 阅读 · 0 评论 -
Android 多语言
一般在应用内通过如下方式设置显示的语言类型:public void setLanguage(Resources resources){ Locale targtLocal = Locale.CHINA; if(/**判断选中的是否为美式英文*/){ targtLocal = Locale.US; } Con...原创 2020-02-13 15:24:52 · 111 阅读 · 0 评论 -
iOS 多语言
读取多语言的宏方法是:NSLocalizedString(key, comment)对应的是:[NSBundle.mainBundle localizedStringForKey:(key) value:@"" table:nil]所以,若要在应用内显示特定的语言,需要先使mainBundle对象读取相应的语言配置,比如:NSString * hansBundlePath = [[N...原创 2020-02-12 13:08:07 · 167 阅读 · 0 评论 -
Java泛型通配符
【来自扔物线】Java中的泛型:List<TextView> textViews = new ArrayList<TextView>();其中 List<TextView> 表示这是一个泛型类型为 TextView 的 List。TextView textView = new Button(context);// ???? 这是多态List<B...原创 2020-02-09 14:36:57 · 150 阅读 · 0 评论 -
对象的共享一记
发布对象发布与逸出“发布(Publish)”一个对象的意思是指,使对象能够在当前作用域之外的代码中使用。与之相反的情况,逸出(Escape)就是指某个不该发布的对象被发布时,这种情况就是了。public static Set<Secret> secretList;public void init() { secretList = new HashSet<Secret...原创 2020-02-03 19:52:40 · 78 阅读 · 0 评论 -
Java内存模型一记
什么是内存模型?Java内存模型(JMM)是通过各种操作来定义的,包括对变量的读/写操作,监视器的加锁和释放操作,线程的启动和合并操作。俗称Happens-Before,规则很多条,比如:程序顺序规则:如果程序中操作A在操作B之前,那么在线程中A操作将在B操作之前执行。volatile变量规则:对volatile变量的写入操作必须在对该变量的读操作之前执行。这样可以确保每个线程读到的变...原创 2020-02-02 21:55:28 · 75 阅读 · 0 评论 -
UIView设置背景色值
一般可以通过图片生成UIColor对象后再赋值,如下:self.bgView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"pagebg"]];这种情况在bgView存在拉伸的情况下,边缘可能会有循环拉伸情况,如下图右侧边缘部分所示:这种情况可以通过如下方式解决: UIImage * i...原创 2020-01-31 14:37:37 · 1530 阅读 · 0 评论 -
HTTPS为什么是安全的
HTTP为什么是不安全的1.容易被篡改与窃听HTTP报文在传输时,容易被中间转发者进行篡改报文内容;也容易被窃听,比如发给服务端的账号与密码等;2.明文传输消息内容不做加密就进行传输。HTTPS为什么是安全的1.加密通过对传输内容进行加密来实现安全的,具体来说:通过对称加密、非对称加密、哈希算法共同作用,在性能与安全之间达成一个平衡。2.身份验证对通信对象进行身份验证。引入证书机...原创 2020-01-29 15:45:09 · 440 阅读 · 0 评论 -
Android 推送静音
自Android8.0开始,推送的设置与过去的版本不一样了。它的推送静音设置,并没有单独的静音选项来设置,而是通过对通知的重要性(Importance)来间接设置的。重要性分为4类:Urgent、High、Medium、Low。其中Medium与Low就没有声音了。而且,可以对推送进行分类,通过NotificationChannel这个来设置了。这意味着,针对不同的账号权限,比如工作账号、...原创 2020-01-13 18:47:52 · 1121 阅读 · 0 评论 -
Android开发纪
1.给控件加个上、下边框有时候一些布局上只需要上下边框,可以2个View视图,放置与上下边界处,对view的高度设为1,设置好背景,这是一种方式。另一种方式,可以通过 layer-list 来实现,比如:<?xml version="1.0" encoding="utf-8"?><layer-list xmlns:android="http://schemas.andro...原创 2020-01-13 17:54:36 · 130 阅读 · 0 评论 -
Android 的四种启动模式
来源于互联网,在此仅作为记录。1.standardActivity 的默认启动模式,每次激活 Activity 的时候都会创建一个新的 Activity 实例,并放入任务栈中。使用场景:基本绝大多数地方都可以用。2.singleTop这可能也是非常常用的 launchMode 了。如果在任务的栈顶正好存有该 Activity 的实例,则会通过调用 onNewIntent() 方法进行重用...原创 2020-01-13 17:39:36 · 118 阅读 · 0 评论 -
Activity 的生命周期
前言:通常知道的完整生存期( onCreate()方法和 onDestroy() 方法之间),其中还包含可见生存期( onStart() 方法和 onStop() 方法之间)与前台生存期(onResume() 方法和 onPause() 方法之间)。一般而言,生命周期如下:启动 Activiy:onCreate => onStart() => onResume(), Activ...原创 2020-01-13 17:26:05 · 100 阅读 · 0 评论