- 博客(174)
- 收藏
- 关注
原创 Flutter SDK 升级
参考:电脑上下载配置Flutter Sdk(所有版本方法都一样)_flutter sdk下载-优快云博客SDK版本下载:Archive | Flutter
2024-10-21 17:05:43
331
原创 Flutter知识点
新生代在回收内存时采用“半空间”机制,触发垃圾回收时,Dart 会将当前半空间中的“活跃”对象拷贝到备用空间,然后整体释放当前空间的所有内存。回收过程中,Dart 只需要操作少量的“活跃”对象,没有引用的大量“死亡”对象则被忽略,这样的回收机制很适合 Flutter 框架中大量 Widget 销毁重建的场景。总结来讲,在开发期使用 JIT 编译,可以缩短产品的开发周期。JIT 在运行时即时编译,在开发周期中使用,可以动态下发和执行代码,开发测试效率高,但运行速度和执行性能则会因为运行时即时编译受到影响。
2024-06-13 15:40:05
522
原创 搭建ipsec server
参考:GitHub - hwdsl2/setup-ipsec-vpn: Scripts to build your own IPsec VPN server, with IPsec/L2TP, Cisco IPsec and IKEv2
2023-12-12 18:27:51
400
原创 Android 交叉编译openssl 、libxml2静态库
openssl:Android下openssl编译和使用(一)_安卓编译openssl 交叉编译 for arch in armeabi-v7a arm64-v8a-优快云博客libxml2:LIBXML2 2.9.11 build for Android_libxml2 android静态库_fredhurui的博客-优快云博客
2023-11-02 13:18:22
913
原创 React创建第一个项目
创建项目,请参考从零搭建React全家桶框架教程运行项目npm start查看网页:http://localhost:8080/打包项目npm run build打包成功后生成的build文件夹:(将dist文件夹下的index.html文件copy到build文件夹下并修改index.html中src属性为build文件夹下全称)使用http-server在本地运行打包的项目,build目录下执行:http-serverhttp-server如何在本地测.
2021-06-25 11:25:50
233
原创 RN自学资料收集
目录学习RN,首选React Native中文网mac搭建并运行react-native项目RN创建第一个项目项目开发过程中调试方法ReactNative程序第一个HelloWord编写RN的第一个项目:导航+底部条切换+页面跳转UI库React-Native 最完美的提示组件: Toast@2.0一款基于react-native的弹窗提示组件React Native 之 CheckBox 组件RN 样式篇 Shadow 阴影效果react-native 生成
2021-06-24 19:50:45
382
原创 初识React全家桶
react全家桶包括技术栈及框架如下:一、react:react起源于facebook的内部项目。react的出现是革命性的创新,react是一个颠覆性的前端框架。在react官方这样介绍它:一个声明式、高效的、灵活的、用于创建用户界面的javascript库。是一个前后端通吃的webapp解决方案。react声明式特点减少了操作DOM的性能损耗,同时利用项目的解耦及组件化的开发思想,更便于开发人员相互配合及组件代码复用。内部实现的虚拟DOM和DOM diff算法使DOM的操作变得高效。二、
2021-05-27 18:00:08
328
原创 Android 弱网测试工具QNET
工具下载地址:链接: https://pan.baidu.com/s/1kU2rHDZNj4Eiqyy-R318hw 密码: tckh使用图解:
2021-02-26 18:39:11
1415
原创 开源ExpandableTextView可点击部分文字
项目地址:https://github.com/SunMengLong/SmlTest实现效果:
2021-02-25 17:58:28
137
原创 greendao配置 Gradle’s dependency cache may be corrupt
报错信息:Gradle’s dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)解决方案:将3.2.2更新为3.3.0最新版本https://stackoverflow.com/questions/62379224/upgrading-android-studio-gradle-to-6-1-1-breaks-greendao3gradleplugin.
2020-12-27 15:08:23
207
原创 类似微信朋友圈评论实现 - RecylerView 嵌套 RecylerView 出现子View获取焦点导致列表整体上移的问题
直接上图说明一下问题:理想中的界面应该是这样的:实际为什么是这样的额:Android开发随时会遇到我们意想不到的问题,昨天晚上运行项目还好好的,今天早上就报错了,啊,好头大,但是遇到问题我们得想解决的办法不是,好的,我们分析一下。原因分析:在渲染嵌套层RecylerView时其 子View获取了焦点,导致界面整体向上平移。问题解决:给外层的RecyclerView跟布局加上下面两个属性:android:focusableInTouchMode="true"andr
2020-11-03 10:27:56
270
原创 判断context是否属于某个activity
Activity activity = (Activity)context;if(context instanceof MainActivity){ //TODO}
2020-10-27 11:30:58
926
原创 Android 复制粘贴
复制: private void copy(String data) { // 获取系统剪贴板 ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); // 创建一个剪贴数据集,包含一个普通文本数据条目(需要复制的数据),其他的还有 // newHtmlText、 // newIntent
2020-10-10 15:32:54
530
1
原创 Android 判断是否占满一行,即是否触发ellipsize=“end“(即textview是否换行)
ViewTreeObserver vto2 = tv1.getViewTreeObserver(); vto2.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { TextPaint mTextPaint = tv1.getPaint(.
2020-10-09 18:11:21
844
原创 Activity启动流程分析
第一阶段:Launcher通知AMS要启动新的Activity(在Launcher所在进程执行)Launcher.startActivitySafely//首先Launcher发起启动Activity的请求 Activity.startActivity Activity.startActivityForResult Instrumentation.execStartActivity//交由Instrumentation代为发起请求 ActivityManager.getService()..
2020-08-27 17:36:37
210
原创 VLC推流(组播/单播)测试
组播地址使用范围规定组播报文的目的地址使用 d 类 ip 地址,范围是从 224.0.0.0 到 239.255.255.255。d 类地址不能出现在 ip 报文的源 ip 地址字段。224.0.0.0~224.0.0.255 为预留的组播地址(永久组地址) 只能用于局域网中,路由器是不会转发的地址。224.0.0.0 保留不做分配,其它地址供路由协议使用。224.0.1.0~238.255.255.255 为用户可用的组播地址(临时组地址),可以用于 Internet 上的。239
2020-08-27 16:22:24
4688
2
原创 优快云转载博客
参考博客:https://blog.youkuaiyun.com/zhongjianblackberry/article/details/79456338优快云本身没有转载博客的功能,需要自己将文章的源代码copy出来,然后通过优快云提供的Markdown编辑器发布转载文章;步骤:一、在网页按“F12” 或 右键点击“检查”,调出源代码:二、按Ctrl+ F调出搜索框,搜索article_content关键字,然后右键copy内容:三、将copy的内容粘贴到优快云的Markdown编辑
2020-08-20 14:25:58
213
转载 Android Dialog全屏显示
网上大多数介绍的实现方式就是在styles.xml中添加<itemname="android:windowFullscreen">true</item>这个属性,但是自己按照操作不好使,后来自己尝试去做一下,总结方法如下代码Dialog dialog = new Dialog(this, R.style.Dialog);dialog.show();LayoutInflater inflater = LayoutInflater.from(this);View view.
2020-08-20 13:58:59
1281
原创 Android 颜色透明度显示设置
颜色值一般由6位组成,如果是8位,则前两位表示透明度:例如 #80000000 前两位表示透明度,后六位表示颜色值;透明度一般由十六进制位表示,例如黑色透明度80%,计算过程如下:透明度值为 0 - 255(不透明);计算出80%透明度值 : 255 * 80% = 20416进制每一位上可以是从小到大为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F 16个大小不同的数,即逢16进1,其中用A,B,C,D,E,F(字母不区分大小写)这六个字母来分别表示10,11,12,1
2020-08-20 13:51:50
2103
转载 android 设置色值透明度
在项目中 我们经常用到透明度,再布局我们可以设置alpha的值来设置透明度,我们也可以直接写有透明度的颜色;例如:#80000000 来表示黑色透明度0.5 色值一般是六位,表示没有透明度,如果是8位,前两位代表透明度;透明度以16进制位表示,我们以透明度70%来计算下:无透明度表示255,则75%透明度: 255*75%=191(此值为整数值,≈)16进制每...
2020-08-20 11:30:00
846
原创 观察者模式
当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一对多的关系。// 定义一个接口,为所有观察者提供统一的更新方法public interface Observer { public void update();}// 定义观察者1public class Observer1 implements Observer{ @Override public void update() { Log.i("sml", "update
2020-08-18 20:37:01
142
原创 策略模式
策略模式定义了一系列算法,并将每一个算法封装起来,使它们相互可以替换,且算法的变化不会影响到用户。1. 定义一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口;2. 定义一个抽象类,提供辅助函数;// 定义一个接口,为一系列实现类提供统一的方法public interface ICalculator { int calculator(String exp);}// 减法运算public class Minus extends AbstractCalculator i
2020-08-18 20:18:14
125
原创 装饰模式
顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。public interface Sourceable { void method();}public class Source implements Sourceable{ @Override public void method() { Log.i("sml", "method1: 第一个实例方法"); }}
2020-08-18 19:52:09
125
原创 适配器模式
适配器模式就是将某个类的接口转换为客户端期望的另一个接口表示。分为类的适配器模式 对象的适配器模式 接口的适配器模式类的适配器模式:public class MySource { public void method1(){ Log.i("sml", "method1: ......原方法"); }}public interface Targetable { // 新方法 void method2();}public class
2020-08-18 19:41:48
138
原创 建造者模式
工厂模式提供的是创建单个类的模式,而建造者模式则是将各个功能集中起来进行管理,用来创建复合对象,复合对象就是一个类具有不同的属性。public class BuilderPattern { private List<Sender> senders = new ArrayList<>(); public void produceMail(int count){ for (int i = 0; i < count; i++) {
2020-08-18 19:06:23
121
原创 工厂模式
工厂模式分为工厂方法模式和抽象工厂模式:工厂方法模式分为:普通工厂模式就是建立一个工厂类,对于实现了同一接口的一些类进行实例的创建多个工厂方法模式多个工厂方法模式是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式,是提供多个工厂方法,分别创建对象静态工厂方法模式将上面的多个工厂方法模式里的方法置为静态的,不需要创建实例,直接调用即可普通工厂模式:public interface Sender { ...
2020-08-18 18:52:31
156
原创 单例设计模式
最好理解的一种设计模式,分为懒汉式和饿汉式:懒汉式:直接创建对象优点 1.线程安全 2.在类加载的同时已经创建好一个静态对象,调用时反应速度快缺点 资源效率不高,可能getInstance()永远不会执行到,但执行该类的其他静态方法或者加载了该类(class.forName),那么这个实例仍然初始化public class SinglePattern { private SinglePattern() { } private st...
2020-08-18 17:44:59
150
原创 23种设计模式
Java中一般认为有23中设计模式,我们不需要全部都会,但是其中几个常用的设计模式我们应该去掌握,经常用的几个设计模式我单独列出来的,以后几个章节将会复习总结。总体来说设计模式分为三个大类:创建型模式,共四种:单例模式 工厂模式 建造者模式 原型模式结构型模式,共七种适配器模式 装饰器模式 代理模式 外观模式 桥接模式 组合模式 亨元模式行为型模式,共十一种策略模式 模板方法模式 观察者模式 迭代子模式 责任链模式 命令模式 备忘录模式 状态模式 访问者模
2020-08-18 17:14:56
230
原创 Windows工具 - 查看apk信息 - 包名/支持Android版本/支持架构等
Windows工具:查看apk信息 - 包名/支持Android版本/支持架构等一、工具下载百度网盘链接:https://pan.baidu.com/s/1BaPEwcZLkGs-cfJ1Ci7lfw 提取码:o4tz二、解压后双击打开APK-Info.exe三、选择文件并开始解析...
2020-08-18 15:36:24
6146
1
转载 130 余个相见恨晚的超实用网站
130 余个相见恨晚的超实用网站文末没有公众号,只求 点赞 + 关注文章目录130 余个相见恨晚的超实用网站搞学习找书籍冷知识 / 黑科技写代码资源搜索...
2020-08-07 11:57:43
1272
原创 gradle.properties 多项目信息(App名称/图标/版本号/版本名称等等)统一配置
步骤一:在gradle.properties定义参数# App名称CUR_PROJECT=ZhiHuiSheQu# App logo图标APP_ICON=@drawable/zhihuishequ_logo# 版本号VERSION_CODE=2# 版本名称VERSION_NAME=1.0.2# 调试开关DEBUG_TAG=false步骤二:在moudle的gradle中定义引用形式在java代码中引用形式定义: defaultConfig {
2020-08-06 17:55:00
605
原创 网页开发学习思路
基础知识:建议学习步骤Html5 —> css3 —> javascript —> vueHTML5html中的列表标签 - ul、ol、dl html中的表单标签 - form html中的表格标签 - table html中的多媒体标签 - bgsound、embed、object html中的滚动字幕标签 - marquee html中的内嵌框架标签 - iframe html中的下拉列表标签 - select html中的框架标签 - frameset
2020-08-06 15:27:21
292
原创 adb 终端开发常用命令
连接设备adb connect 连接设备的IP地址安装apkadb install apk所在的绝对路径保留数据和缓存文件,重新安装apk:adb install -r apk所在的绝对路径安装apk到sd卡:adb install -s demo.apk卸载apk直接卸载:adb uninstall 项目的包名卸载 app 但保留数据和缓存文件:adb uninstall -k com.stormzhang.demo强行关闭apkadb shell
2020-08-06 13:50:26
967
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人