- 博客(16)
- 资源 (5)
- 收藏
- 关注
原创 Android 分区存储(沙盒存储)适配总结
Android10分区存储之后:①特定于应用的目录(私有目录) –> 无需权限 –> 访问方法 getExternalFilesDir () –> 卸载应用时移除文件②访问其他应用创建的--媒体集合 (照片、视频、音频) –> 需要权限 READ_EXTERNAL_STORAGE –> 访问方法 MediaStore –> 卸载应用时不移除文件③访问其他应用创建的非media文件--下载内容(文档和电子书籍)–> 无需权限 –> 存储访问框架(加载系统的文件选择器)–> 卸载应用时不移除文件。
2024-04-28 16:31:58 1929 2
原创 Android11适配
Android 11 进一步增强了平台功能,为外部存储设备上的应用和用户数据提供了更好的保护。作为这项工作的一部分,平台引入了进一步的改进,以简化向分区存储的转换。为了让用户更好地控制自己的文件,保护用户隐私数据,并限制文件混乱情况,Android 11在分区存储基础上限制了应用访问其他应用的文件。分区存储将存储空间分为两部分:● 公共目录:Downloads、Documents、Pictures 、DCIM、Movies、Music、Ringtones等。
2024-04-25 15:24:22 1587 2
原创 Android12适配
一般情况下Activity如果使用了intent-filter,则exported 设置为“true”,若设置“false” Activity就会在被调用时抛出 ActivityNotFoundException 异常;如果Activity没有使用intent-filter,那就将exported 设置为“false”,若设置为“true”,可能会在安全扫描时被定义为安全漏洞。主要是设置 Activity 是否可由其他应用的组件启动, “true” 则表示可以,而“false”表示不可以;
2024-04-23 14:33:43 476 2
原创 iOS Xcode11启动页设置
1.在工程 targets--Build Settings 搜索 Asset Catalog Launch Image Set Name 然后设置创建的启动页名字即可如下图所示。2.再在 targets中删除 Launch screen interface file base name 并添加 LaunchImage 并设置 LaunchImage3.资源文件中添加LaunchImage放入不同尺寸的图片,如何所示:4.将桌面应用删除重装,即可解决问题...
2021-01-29 14:36:35 899
转载 Android 推送 - Activity 跳转控制处理
改文章转载于:https://blog.csdn.net/BlogRecord/article/details/54834706一,Android 点击推送逻辑处理,以及页面跳转判断等// 该项目主要实现此需求:// 收到推送, 点击推送消息处理// 1. 如果 应用已经打开, 这直接做处理, 如跳转页面, 打开链接等功能// 2. 如果 应用没有开启, 则默认先开启应用 (如果存在引导页面, 则显示引导页面), 然后进入首页后, 再做对应的处理(跳转页面, 打开链接等)// 同微信一样
2021-01-28 09:16:40 825 1
原创 iOS 极光分享----微信分享
1、极光平台上创建应用(可以申请到AppKey),在微信开放平台上创建应用2、在自己的项目上pod导入极光分享的sdk在podfile文件中写入以下命令后,在终端输入pod install3.创建极光分享管理类JShareManage①JShareManage.h文件#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN@interface JShareManage : NSObject+ (inst.
2020-12-30 15:54:36 1033 2
原创 iOS UITextFiled 用中文键盘输英文出现空格的解决方案
获取textFiled的值的时候,英文,数字键盘是没有问题的,假设输入的是abcd,获取的值是abcd,但是,如果利用中文键盘的时候,问题就来了,同样输入abcd,获取到的却是a b c d 字符之间出现了空格。试了这方法NSString *strUrl = [urlString stringByReplacingOccurrencesOfString:@" " withString:@""];并没什么卵用然后再利用这个方法NSString *strUrl = [urlString str..
2020-11-20 14:53:20 630
转载 iOS 代理方法的实现步骤
代理模式的使用场合当一个类的某些功能需要被别人来实现,但是既不明确是些什么功能,又不明确谁来实现这些功能的时候,委托模式就可以派上用场。例如你可以再写个类,实现也是完全可以的。换谁来,只要它实现了这个方法,我就可以委托它来做这个事。说到底一切都是为了使类之间的耦合性更松散。好的代码应该对扩展开放,对修改关闭。事例1.委托者的.h文件中的代理指定以及声明#import <UIKit/UIKit.h>#import "LeftBarModel.h"@protocol Left
2020-11-20 14:51:49 1609 1
原创 iOS UITabbarController
1:UITabBarController & UINavigationController的区别应用场景不同:导航视图控制器 -->管理有层次关系的视图控制器(依赖关系)标签视图控制器 -->管理没有层次关系的视图控制器(同时存在,互不干扰)管理方式不同:导航视图控制器 -->以栈的形式管理多个试图控制器,push入栈,pop出栈,当返回上一界面时,空间回收标签视图控制器 -->以不可变数组管理,而且创建时必须要全部指定所管理的多个视图控制器,而且多个视图控制
2020-11-20 14:48:22 377 1
原创 iOS开发中info.plist相关配置
1.定位为题:调用定位时在target里设置两个属性: NSLocationAlwaysUsageDescription NSLocationWhenInUseUsageDescription 2. 网络请求:Xcode升级后不支持http访问的解决办法:在Info.plist中添加NSAppTransportSecurity类型Dictionary。在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为
2020-11-20 14:43:29 546 1
原创 iOS .m和.h文件
1.在.h文件中 有一个import,这是用来导入工具包,就是foundation框架 @这个标志表示你使用的是object-c语言 @interface 是声明类的关键字 tongdun是类名 : 冒号表示继承,oc中是单继承模式 NSObject是父类 在@interface和@end之间是用来声明属性和方法的2.在.m文件中声明的属性是无法被外界看到的,所以也成为私有...
2020-11-20 14:33:23 818
原创 iOS UITabBarController
UITabBarController功能激素hi管理多个viewController切换通过点击底部对应的按钮,选中对应需要展示的ViewControllerUITabBar---UITabBarButton tabBarItem.image tabBarItem.title
2020-11-20 14:18:19 203
转载 iOS使用Xcode11新建项目scenedelegate处理和Main.storyboard的处理
1.使用scenedelegate(iOS 13以下黑屏)xcode更新到11后,新建工程里面多了好多东西,除了原有的AppDelegate外,又新加了一个SceneDelegate,是iPadOS用来做多窗口支持的,这时候如果你还像之前的一样,在APPdelegate里写self.window的方法的话,运行程序,直接崩溃了,因为新版本的xcode的APPdelegate.h里面已经没有了window这个属性,如下图所示:iOS13之前,Appdelegate会处理App生命周期和UI生命周期
2020-10-16 09:22:55 2436 1
原创 iOS UIViewController
UIViewController视图控制器,管理视图View层级结构1.自身包含View,可以理解为一个容器(1)管理View视图的生命周期(2)响应用户操作(3)和APP整体交互,视图的切换(4)作为一个container管理多个Controller和动画2.View Controller的生命周期init 初始化viewDidLoad 所有控件初始化完毕viewWillAppear视图将要被展示的时候调用viewDidAppear视图渲染完成后调用,与vie.
2020-09-08 15:03:34 149 1
原创 Android ListView的属性及与ScrollView连用问题
1.android:stackFromBottom="true"让其内容从底部开始显示2.android:transcriptMode=diszbled取消transcriptmode模式/normal当接收到数据改变的通知,并且当仅仅最后一个选项已经显示在屏幕的时候自动滑到底部/alwaysScroll无论当前列表显示什么选项,列表将会自动滑动到底部显示最新的选项3.andr
2017-11-03 09:15:18 294 1
原创 Android活体检测的实现
最近公司需要做一个活体检测的功能,类似于支付宝的人脸识别验证一样,有着眨眼,转头的一些功能,不多说上图:刚开始的一直不知道如何实现这样的效果,总觉得很难,后来想了想发现也没有那么难,开发过程简单在这里说下1.布局的实现:然后将第二个图中的布局在代码中动态添加到FrameLayout中2.剩下的就是自定义的相机了,我这里用的是自定义的CameraP
2017-08-04 16:20:08 14820 5
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人