- 博客(49)
- 资源 (16)
- 问答 (1)
- 收藏
- 关注
原创 【iOS(swift)笔记-14】App版本不升级时本地数据库sqlite更新逻辑二
比如dbVersion,可用数字(比如1或字符串1.0.0)存储,记录当前数据库的版本。服务器同样也有一个属性dbVersion2记录记录最新版本的“App的本地数据库”办法二:从服务器下载最新的sqlite数据替换掉本地的数据(注意是数据不是文件)App版本不升级时,又想即时更新本地数据库怎么办?1、首先本地数据库里一定要有一个字段(名字自己取)如果dbVersion2>dbVersion。网络数据互通通常用JSON结构。则下载数据进行更新。
2025-06-02 15:38:10
267
原创 【iOS(swift)笔记-13】App版本不升级时本地数据库sqlite更新逻辑一
比如dbVersion,可用数字(比如1或字符串1.0.0)存储,记录当前数据库的版本。服务器同样也有一个属性dbVersion2记录记录最新版本的“App的本地数据库”办法一:直接从服务器下载最新的sqlite数据库替换掉本地的。App版本不升级时,又想即时更新本地数据库怎么办?1、首先本地数据库里一定要有一个字段(名字自己取)如果dbVersion2>dbVersion。则下载sqlite数据库替换掉。
2025-06-02 15:19:43
449
原创 【iOS(swift)笔记-12】新手关于复制删除修改文件和sqlite数据库无权限because you don’t have permission to access解答
/ 如果沙盒路径里已经有了同名的文件,则无法复制和重命名,所以需要事先判断是否存在。print("错误: \(error.localizedDescription)")也就是说要先把要操作的文件都复制到沙盒里,然后再对沙盒里的文件进行操作。print("有同名文件-1")print("文件删除成功1")print("有同名文件-2")print("文件删除成功2")print("文件重命名成功")print("文件复制成功")// 源文件的路径(a.txt)// 找出沙盒的路径。
2025-05-30 17:44:34
297
原创 【iOS(swift)笔记-11】App版本升级时本地数据库sqlite更新逻辑
用于判断数据库是否已更新)static let dbLocalName = "dbLocal.db" // 用户本地数据库,就是db.db的复制品,只是记录了用户的数据。数据库表的设计越复杂,具体复制数据的脚步就会越麻烦,所以最好是用服务器数据库存储数据,这样就算数据库改动也方便操作。第1步,判断是否已更新过数据库(拿db.db和dbLocal.db中的dbVersion做比较,如果已更新过了就不用执行后续步骤)第2步,原始数据库db.db->(直接复制一份)->临时数据库dbLocalTemp.db。
2025-05-27 16:12:14
556
原创 【iOS(swift)笔记-10】利用类的继承来实现不同地区语言的显示
/ 判断是否已经获取过当前系统语言,而不是每次创建实例都进行判断。// 这里可以修改或基于父类的属性进行操作。// 这里可以修改或基于父类的属性进行操作。// print("已获取过了")// print("未获取过")txt:String = "简体中文".init() // 调用父类的初始化器。.init() // 调用父类的初始化器。// 繁体中文—香港。.txt = "繁體中文"// 定义一个语言控制类。
2025-05-21 11:35:36
559
原创 【iOS(swift)笔记-9】WKWebView无法访问网络
在info中添加App Transport Security Settings,然后在App Transport Security Settings里添加Allow Arbitrary Loads=true。除了上面的操作,还需在项目信息的App Sandbox里有个Network打钩选项。
2025-05-18 20:41:53
288
原创 【安卓笔记-16】使用butterknife时别忘了先注册绑定,不然会报空指针异常
Activity @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_simple); ButterKnife.bind(this); // TODO Use field...
2018-07-09 08:17:49
447
原创 【安卓笔记-15】ViewPager作为容器展示Fragment,控制保留不销毁页面的数量
ViewPager作为容器展示Fragment时,默认只保留2个页面,例如有3个页面时当切换到2、3页面时,1页面已经调用ViewDestroyed方法销毁了view,当再次需要展示它时,又会重新ViewCreated,为了控制保留不销毁页面的数量,ViewPager对应有一个方法叫setOffscreenPageLimit,可以设置其页面数量。...
2018-06-07 21:12:35
474
原创 【安卓笔记-14】利用第三方框架FlycoTabLayout做出中间凸起tab按钮
如何利用FlycoTabLayout做出中间凸起按钮?我的方式很简单——就是不用FlycoTabLayout,直接创建一个新的view置于FlycoTabLayout之上。为了事件不相互影响,本人对源码的CommonTabLayout类的setCurrentTab方法进行了适当修改。demo链接https://github.com/1987151729/FlycoTabLayoutWithBigC...
2018-05-14 19:50:49
3097
1
原创 【安卓笔记-13】dagger2 @Qulifier
Dagger2是根据返回类型来进行依赖注入的,如何我们有@Inject多个相同类型的变量,怎么一一对应@Provides方法提供的实例呢?解决方法就是用@Qulifier标签,@Qulifier定义的过程稍微又有点繁琐,这个时候可以用@Name标签代替@Qulifier简化过程。...
2018-05-12 08:34:10
426
原创 【安卓笔记-11】please select android sdk
Android Studio 3.x Run 'app'时提示 'please select android sdk'处理方式File→Project Structure→app 设置'Compile Sdk Version'
2018-05-07 08:21:22
226
原创 【iOS(swift)笔记-8】SnapKit布局ScrollView时注意点
// 注意!这里必须要设置子视图(这里是uView)的宽度和高度,而且子视图上下左右边缘要设置和父视图对齐,这样父视图ScrollView的contentSize才会自动得到同等的值。否则只能手动设置,例如 ScrollView.contentSize = CGSize(width: 300, height: 900) uView.snp.updateConstraints { (m...
2018-04-04 08:25:19
1452
原创 【iOS(swift)笔记-7】自定义九宫格图片布局(基于SnapKit)
调用方法:// 我这里是将HxNineGridView添加到UITableViewCell里,你可以将它用在其他地方let nineGridView = HxNineGridView()self.contentView.addSubview(nineGridView) nineGridView.snp.makeConstraints { (make) -> Void i...
2018-02-20 21:13:56
3545
原创 【iOS(swift)笔记-6】自定义ObjectMapper的时间转换
ObjectMapper内置的时间转换模式有限,有时候从服务端获取的时间数据不能正常转换,这种时候就需要通过自定义时间转换模式来解决。第1步:实现协议TransformType//// HxDateTransform.swift// App//// Created by kila on 17/02/2018.// Copyright © 2018 kila. All rights rese...
2018-02-18 09:05:11
2338
原创 【iOS(swift)笔记-5】九宫格图片只对Imageview有效
let topBar = UIView() // 这种设置背景图片的方式只会平铺(而且占内存)topBar.backgroundColor = UIColor(patternImage: UIImage(named:"icon_tab_bg")!)// 这种设置背景图片的方式虽然可以拉伸,但是九宫格失效 topBar.layer.contents = UIImage(named:"icon_...
2018-02-18 08:30:34
439
原创 【iOS(swift)笔记-4】Push页面隐藏tabor,Pop回来自动显示tabbar(这样tabbar就不会有从下往上弹出的动作)
先设置hidesBottomBarWhenPushed = true然后紧接着在跳转页面的代码后设置hidesBottomBarWhenPushed = falseself.hidesBottomBarWhenPushed = trueself.navigationController?.pushViewController(LoginViewController(), animated: tru...
2018-02-18 08:24:57
1083
原创 【iOS(swift)笔记-3】swift使用SnapKit创建高度自适应的cell方法
//// BlogTableViewCell.swift// App//// Created by kila on 16/02/2018.// Copyright © 2018 kila. All rights reserved.//import UIKit// 自定义cell类class MyTableViewCell: UITableViewCell { var uImg...
2018-02-17 14:34:58
1802
原创 【iOS(swift)笔记-2】iOS MVP总结
【M】DataModel 服务端数据或本地数据对应的实体类【M】Service(这里也可以先抽象出ServiceProtocol然后Service继承ServiceProtocol实现其抽象方法,则Presenter持有的是ServiceProtocol实例)请求本地或服务端数据【M】ServiceListener针对Service请求的回调监听,监听也是Protocol,需要...
2017-12-23 22:17:14
253
原创 【iOS笔记-异常-1】
Failed to initiate service connection to simulator Error returned in reply: Connection invalid关闭所有xcode和模拟器,重新运行即可正常。
2017-12-15 20:40:53
336
转载 【iOS(swift)笔记-1】使用Cocoapods安装Alamofire
https://boxueio.com/series/alamofire-tutorials/ebook/44如何使用pod 'AlamofireObjectMapper', '~> 5.0'则不仅会导入 AlamofireObjectMapper也会 导入 Alamofirehttps://github.com/tristanhimmelman/AlamofireObjectMapper...
2017-12-14 09:58:28
611
原创 【Android笔记-异常-8】在引入AndResGuard时异常
在引入AndResGuard时,classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.0'提示Error:Could not find com.tencent.mm:AndResGuard-gradle-plugin:1.2.0.Searched in the following locations:
2017-12-04 21:07:21
2615
1
原创 【php笔记-1】获取字符串里中文第一次出现的位置
// 获取中文(包括符号)第一次出现的位置function indexOfFirstChineseChar_($str){ $index = -1; $len = strlen($str);// echo $len; for ($i = 0; $i $len; $i++) { $char = substr($str, $i, 1);//
2017-09-22 17:16:45
1284
原创 【Android笔记-9】如果服务端是用的IIS,则需要配置mime类型,安卓客户端才能正常下载apk安装包。
如果服务端是用的IIS,则需要配置mime类型,安卓客户端才能正常下载apk安装包。
2017-09-21 11:56:04
284
原创 【Android笔记-异常-7】FrameLayout要嵌套在LinearLayout里否则布局有问题。
FrameLayout要嵌套在LinearLayout里否则布局有问题。
2017-09-18 16:55:23
1842
1
原创 【Android笔记-异常-5】Error:(1, 0) Minimum supported Gradle version is 3.3. Current version is 2.14.1.
Error:(1, 0) Minimum supported Gradle version is 3.3. Current version is 2.14.1. If using the gradle wrapper, try editing the distributionUrl in /Users/kila/AndroidStudioProjects/Cat/gradle/wrapper/gr
2017-09-08 18:23:33
772
原创 【Android笔记-异常-4】定义一个临时的数组变量承接数据,ListView的数据以及通知数据更新要放到同一个线程(主线程)。避免出现异常"The content of the adapter
定义一个临时的数组变量承接数据,ListView的数据以及通知数据更新要放到同一个线程(主线程)。避免出现异常"The content of the adapter has changed but ListView did not receive a notification"。public class WordFragment extends BaseFragme
2017-09-07 18:15:01
257
原创 【Android笔记-异常-3】数字在TextView中显示一定要先转换为字符串。String.valueOf(数字)
数字在TextView中显示一定要先转换为字符串。String.valueOf(数字)
2017-09-07 18:03:00
1104
原创 【Android笔记-异常-2】Caused by: java.lang.ClassCastException: android.support.v7.widget.AppCompatButton c
Caused by: java.lang.ClassCastException: android.support.v7.widget.AppCompatButton cannot be cast to android.widget.LinearLayout.元素之间转换的问题,可能原因:1、公用了同一个id,但是元素类型不一样;2、id的标识没有生成“形如publi
2017-09-03 20:27:30
6177
原创 【Android笔记-8】Android:ellipsize
android:ellipsize 用于设定当文本内容超出控 件宽度时,文本的缩略方式,这里指定成 end 表示在尾部进行缩略。
2017-08-29 17:51:12
259
原创 【Android笔记-7】Fragment碎片
Fragment碎片SelfDefineFragment fragment = new SelfDefineFragment();FragmentManager fragmentManager = getFragmentManager();FragmentTransaction transaction = fragmentManager.beginTransaction()
2017-08-25 18:02:11
217
原创 【Android笔记-5】ListView adapter.notifyDataSetChanged
adapter.notifyDataSetChanged(); 用于通知 列表的数据发生了变化,这样新增的数据才能够在 ListView中显示 。
2017-08-18 16:02:13
279
原创 【Android笔记-4】ListView Android:divider
ListView 中用到了一个 android:divider属性,它可以指定 ListView分隔线的颜色,#0000 表示将分隔线设为透明色。
2017-08-17 17:11:23
326
原创 【Android笔记-3】启动活动的最佳写法
个人认为启动活动的最佳写法:SecondActivity:public class SecondActivity extends BaseActivity {public static void actionStart(Context context, String data1, String data2) { Intent intent = new
2017-08-16 17:31:30
284
原创 【Android笔记-1】
尽量将控件或布局的大小指定成 match_parent或 wrap_content,如果必须要指定一个固定值,则使用 dp来作为单位,指定文字大小的时候使用 sp 作为单位。
2017-08-16 15:45:10
195
jQuery.md5
2013-09-02
mac 登录的iCloud账号存储在本地的哪个文件夹下?
2018-05-11
TA创建的收藏夹 TA关注的收藏夹
TA关注的人