- 博客(162)
- 资源 (9)
- 收藏
- 关注
原创 Dart问题 | Don‘t invoke ‘print‘ in production code
在 AndroidStudio 编译工具中 打印一句话,有标题的这个警告提示。
2024-03-14 16:53:22
1077
原创 HarmonyOS | UI开发 (一) | 基础组件(Text/Span,TextInput/TextArea,Button,Image)
1. Text是文本组件,用于显示文字2. Span只能作为Text组件的子组件显示文本内容,可以在一个Text内添加多个Span来显示一段信息3. TextInput 是单行输入框组件,通常用于响应用户的输入操作4. TextArea 是 多行输入框5. Button是按钮组件,通常用于响应用户的点击操作6. Image是显示图片组件
2024-03-06 13:40:32
1269
2
原创 HarmonyOS | 状态管理(十) | @Watch (状态变量更改通知)
1.@Watch应用于对状态变量的监听。2.如果需要关注某个状态变量的值是否改变,可以使用@Watch为状态变量设置回调函数。
2024-03-04 17:52:55
1463
原创 HarmonyOS | 状态管理(九) | Environment (设备环境查询)
开发者如果需要应用程序运行的设备的环境参数,以此来作出不同的场景判断,比如多语言,暗黑模式等,需要用到Environment设备环境查询
2024-03-04 16:14:07
1021
原创 HarmonyOS | 状态管理(八) | PersistentStorage(持久化存储UI状态)
PersistentStorage的作用是:应用退出再次启动后,依然能保存选定的结果。
2024-02-29 05:00:00
2245
2
原创 HarmonyOS | 状态管理(七) | AppStorage(应用级UI状态存储)
1. AppStorage 是应用全局的UI状态存储。2. @StorageProp(key) 和AppStorage中key对应的属性建立单向数据同步。3. @StorageLink(key) 和AppStorage中key对应的属性建立双向数据同步。
2024-02-28 15:39:35
1218
原创 HarmonyOS | 状态管理(六) | LocalStorage(页面级UI状态存储)
1.LocalStorage实例可以在页面内共享,也可以通过GetShared接口,实现跨页面、UIAbility实例内共享。2.@LocalStorageProp 装饰的变量与LocalStorage中给定属性建立单向同步关系。3.@LocalStorageLink 装饰的变量与LocalStorage中给定属性建立双向同步关系。4.通过windowStage.loadContent设置LocalStorage的属性,可以在多个页面共享该属性值。
2024-02-28 11:55:16
2473
原创 HarmonyOS | 状态管理(五) | @Observed装饰器和@ObjectLink装饰器
1. 被@Observed装饰的类,可被观察到属性变化;2. 子组件中@ObjectLink装饰器装饰的状态变量用于接收@Observed装饰的类的实例,和 父组件中对应的状态变量建立双向数据绑定。3. 单独使用@Observed是没有任何作用的,需要搭配@ObjectLink或者@Prop使用。
2024-02-27 14:07:35
2610
原创 HarmonyOS | 状态管理(四) | @Provide和@Consume装饰器
1.@Provide装饰的变量是在祖先节点中,可以理解为被“提供”给后代的状态变量2.@Consume装饰的变量是在后代组件中,去“消费(绑定)”祖先节点提供的变量。
2024-02-22 15:45:19
867
原创 HarmonyOS | 状态管理(二) | @Prop装饰器
通过上一篇HarmonyOS | 状态管理(一) | @State装饰器的学习,大概了解状态管理的知识,本篇讲解 @Prop装饰器(父子单向同步)
2024-02-22 13:57:20
1731
原创 Compose | UI组件(十五) | Scaffold - 脚手架
Compose中的Scaffold脚手架:构建现代化Android界面的基石随着Android Jetpack Compose的推出,我们迎来了一个全新的界面开发方式。
2024-02-07 14:21:19
4450
原创 Compose | UI组件(十四) | Navigation-Data - 页面导航传递数据
在 Compose 中使用 Navigation 组件进行页面跳转时,可以使用 NavController 和 NavHost 来传递参数。改为。将?改为,如果没有传值,程序就会崩溃,默认是必填的,?默认是选填的},},@Parcelize{ //从Bundle中检索 Parcelable类型override fun parseValue(value: String): T { //定义传递给 String 的 Parsing 方法。
2024-02-06 11:38:47
2957
原创 Compose | UI组件(十二) | Lazy Layout - 列表
1.LazyColumn是一个纵向列表组件2.LazyRow是一个横向列表组件
2024-01-30 23:50:11
1808
原创 Compose | UI组件(十) | Box,Surface - 帧布局
1. Box组件是 **按子组件依次叠加** 的布局组件,相当传统View中的 **FrameLayout** 2. Surface组件是将多个组件摆放平面上,可以设置平面边框,圆角,颜色等
2024-01-29 11:37:30
1338
原创 Compose | UI组件(九) | Column,Row - 线性布局
1. Column 是一个垂直线性布局组件 2. Row 是水平线性布局组件
2024-01-28 18:45:34
1586
原创 Compose | UI组件(八) | Dialog - 对话框
1. Dialog是最底层的弹框,可以在该组件之上封装 2. AlertDialog组件是Dialog组件更高级的封装组件,它定位好了标题,内容文本,按钮位置
2024-01-28 11:54:56
2392
原创 Compose | UI组件(七) | CircularProgressIndicator - 进度条
1. Compose 自带两种状态进度条,一种是 无限加载的,另一种是 根据值动态显示的 2. CircularProgressIndicator是个圆形进度条
2024-01-28 07:00:00
1086
原创 Compose | UI组件(六) | 选择框
1.Checkbox复选框允许用户从一个集合选择一个或多个项目,可以将一个选项打开或关闭。2.Switch可以控制单个项目的开启或关闭状态。3.Slider 滑竿组件可以手动滑动进度条调节对应的数值。
2024-01-27 19:08:51
1078
原创 Compose | UI组件(三) | TextField() 输入框组件
TextField表示默认的输入框组件,OutlinedTextField表示带有边框的输入框组件,BasicTextField表示底层输入框组件,可自定义
2024-01-27 12:25:06
1829
原创 Compose | UI组件(一) | Modifier修饰符
Modifier通过链式调用方式为所有Compose组件设置样式(大小,背景色,边框,间隙,位移等等)这些都是常用到的Compose组件修饰符,可以修饰我们的界面。
2024-01-26 15:20:57
1238
原创 微信小程序报错: SyntaxError: Cannot use import statement outside a module
在这篇文章中,我们了解了“SyntaxError:无法在模块之外使用 import 语句”的错误以及如何修复它。更具体描述:这是当您尝试在同一项目中混合使用 ESM 和 CommonJS 模块系统时引起的。1.您必须继续使用 CommonJS 模块系统并使用关键字require。2.整个项目完全切换到 ESM 模块系统并使用关键字import。不能彻底解决问题,换种方法。排查问题步骤记录,共勉。
2023-08-26 14:24:06
2053
原创 简单易懂,一步一步带你入门Activity
文章目录什么是Activity?Activity四种状态1.Running2.Paused3.Stopped4.Killed生命周期正常情况生命周期异常情况生命周期特殊情况生命周期启动模式什么是任务栈为什么需要启动模式启动模式的种类和特性Activity 组件之间的通信什么是Activity?开门见山,既然要介绍Activity,那我们现在要明白Activity是干什么的?以上是百度百科...
2019-01-27 18:15:36
74135
原创 历年心得体会,往后目标计划
岁月,对人来说,是一样人捉摸不到的东西。然而,就是这样东西,使人更珍惜自己的时光。如果,岁月可以给每一个人愿望。我希望,岁月可以倒转。 毕业以来,前两年都会写年总结,还记得上次年总结是在2015年1月1号。恍惚,现在已是2019年1月底了,整整四年。 今天就把之前的总结补上,并今年立下一个目标 ---> 每周写一篇技术博客1.总结1.历年工作总结 1.2016-2018年...
2019-01-24 00:46:48
716
原创 简单易懂,一步一步带你灵活运用ViewPager
ViewPager概念 ViewPager是google SDK V4包中自带的一个视图类。主要作用:可以用来实现多个屏幕间的切换。常用方法介绍1.setAdapter(PagerAdapter adapter) 设置一个PagerAdapter,它将根据需要为这个页面提供视图2.setCurrentItem(int item) 设置当前选定页面...
2018-08-31 19:00:30
705
原创 23种设计模式及解释(中英文对照), 以及有实例源码参考
设计模式是每个程序员的必修课,这里将23种模式整理在一起,想学习这方面知识的朋友们可以学习下。 Singleton Pattern(单例模式):Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)Factory Patte
2015-09-23 11:09:31
4835
转载 Android之旅:梦想、学习、坚持、自信、淡定
前段时间参加了2012年度IT博客大赛,进了前十强,写了一篇获奖感言,不过还没正式在优快云发表出来。眼看2012年就要结束了,刚好借这个机会将2012年度IT博客大十强获奖感言发表出来,也算是对2012年博客的一个总结,关键字是“梦想”、“学习”、“坚持”、“自信”、“淡定”。希望大家一如既往地支持老罗的优快云专栏《老罗的Android之旅》以及老罗的新书《Android系统源代码情景分析》。
2015-09-06 12:35:52
700
原创 android PendingIntent参数详细解析
PendingIntent介绍 PendingIntent可以看作是对Intent的一个封装,但它不是立刻执行某个行为,而是满足某些条件或触发某些事件后才执行指定的行为。PendingIntent的获取 PendingIntent获取有三种方式:通过Activity,Service,BroadcastReceiver获取. 1. 你
2015-09-04 21:51:31
2882
原创 The word is not correctly spelled
eclipse出现了极其让我郁闷的错误,"The word is not correctly spelled" 我讨教过一些朋友以后,还是没有得到答案,我就纳闷了。然后我继续将代码执行下去,居然执行没有问题,还真的生成了实体映射文件,这下问题的根源就找到了!是eclipse的问题,打开eclipse,我忽略掉了错误提示,这才没有出现"The word is not correctly spel
2015-08-14 11:50:40
11687
原创 SecureCRT 连接sqlplus删除键失效解决方法
SecureCRT 使用Del键或者Backspace键都能删除光标左侧的字符, 但是一旦进入sqlplus之后,只能使用Del键来删除光标左侧的字符,使用Backspace键则显示^H。 如果要在sqlplus下使用Backspace来删除字符,那么有两种方法: 第一种是使用stty命令重新定义^H,可以在使用sqlplus之前执行
2015-07-07 21:09:24
3089
原创 win7下安装Mysql 开机自启动
1.下载安装MySql,我用的是MySQL_5.6.24_winx64_XiaZaiBa,解压到一个磁盘下面,我这里安装到D盘,D:\install\MySQL\MySQL Server 5.6。
2015-06-09 11:17:15
853
原创 java连接mysql数据库增删改查操作记录
1. 连接数据库,得到数据库连接变量注意连接数据库的时候(1)打开DB Browser 新建一个Database Driver,注意添加Driver JARs的时候添加的包,我的是mysql-connector-java-5.0.3-bin.jar(2)要将数据库jar包拷贝到工程下的WEB-INF\lib下 import java.sql.Connection;//ja
2015-06-08 12:13:46
1637
原创 MYSQL问题集
这篇博客记载我在用数据库时,碰到的所有mysql问题,一直会更新! 错误1:MySql ERROR1046(3D000): No Database Selected 初次使用MySQL,出现如下错误: MySql ERROR1046(3D000): No Database Selected 没有选择数
2015-06-08 12:11:47
1171
原创 MYSQL建用户,建库,建表,授权
1.新建用户//登录MYSQL@>mysql -u root -p@>密码//创建用户mysql> insert into mysql.user(Host,User,Password) values('localhost','tanzuai',password('123456'));//刷新系统权限表mysql>flush privileges;这样就创建了一个名为
2015-06-08 12:04:33
5676
Android 百度地图 SDK v3_3_0 (六) ---驾车、步行、公交路线搜索
2015-02-16
Android 百度地图 SDK v3_3_0 (五) ---POI搜索和在线建议查询功能
2015-02-15
Android 百度地图 SDK v3_3_0 (三) --- 离线下载地图
2015-02-13
Android 百度地图 SDK v3.3.0 (二) 地图定位和图层展示
2015-02-12
Android 百度地图 SDK v3_3_0 (一) --- 基本地图
2015-02-12
flexjson-2.1
2014-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人