首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
王学岗专题
王学岗鸿蒙开发(北向)——————(十)子组件修改父组件的内容与 动画
子组件修改父组件的内容 使用类似Android的回调,父组件传递给子组件一个函数 import { MyComment } from './component/MyComment'import { MyContent } from './component/MyComtent'import { MyTitleComponent } from './component/MyTitleComp
阅读更多...
王学岗鸿蒙开发(北向)——————(四、五、六)ArkUi声明式组件
普通组件 1,注意,如上图,build只能有一个根节点 2,@Entry表示程序的入口 @Component表示自定义的组件 @Preview表示可以预览 3,图片存放的地方 4, Image组件最好只给宽度,给了高度又给宽度容易失真。 build() {Row() {//图片不需要写后缀Image($r('app.media.icon')).width(300) //宽有两种写法
阅读更多...
王学岗鸿蒙开发(北向)——————(四、五)ArkUi声明式组件
1,注意,如上图,build只能有一个根节点 2,@Entry表示程序的入口 @Component表示自定义的组件 @Preview表示可以预览 3,图片存放的地方 4, build() {Row() {//图片不需要写后缀Image($r('app.media.icon')).width(300) //宽有两种写法,1是数字,而是百分比.height('40%') //百分比要带引号
阅读更多...
王学岗鸿蒙开发(北向)——————(三)基于新版本ArkTS核心语法
1,API版本11 和12与之前的版本差别很大 字符串的拼接 function add(x:string,y:string):string{let z : string = '${x}${y}';return z;} 函数默认值的写法 function add(x:string,y:string = "asdf"):string{let z : string = '${x}${y}';
阅读更多...
王学岗鸿蒙开发(北向)——————(二)TS基本语法详解
1,Ts(TypeScript)语法相当于JAVAScript+类型,鸿蒙arkTs是基于TS语言的,当然artTs也融合了其它的语言。 2,本篇文章是基于n9版本。注意,有些语法是已经不能用的。 3, 4,变量:用来存储数据,数字字母组成,数字不能在开头 统一用 let 声明变量,不要使用var,API9以后var可能禁用 let a:number = 10; 从API10开始,变量类
阅读更多...
王学岗鸿蒙开发(北向)——————(一)鸿蒙开发环境的搭建与ArkTs介绍
1,鸿蒙系统开始研发的时间是在2012年。 2,目前鸿蒙有两个开发:HarmonyOS和OpenHarmony,前者内聚AOSP(Android的东西),前者是双框架结构,后者不是双框架结构,没有内置安卓。 3,Harmony地址 4,我们这里使用的Api9(对应3.2),其他的对应版本如下。 5,语言的关系 6, Compatible SDK兼容最小版本的SDK 7,首次打开DevEvo
阅读更多...
王学岗——————FFmpeg同步原理机制 与 Opensl es 播放器流程(43节课-47节课)
前言 1,AudioTrack只能播放声音不能播放冷门的音频,支持的格式少,不能实现特效。 2,OpenSL Es,专门用来播放声音。 架构 1,架构分为Java层和native层,Java层用来控制,native层用来播放。 2,播放的功能,本身是一个服务,肯定在一个服务类里面。 3,播放控制(播放暂停快进等)肯定写在Actvity。 4,服务和控制之间的通信使用广播。 5,servic
阅读更多...
王学岗切面编程(AOP)最新配置
不懂啥是切面编程的看我这篇文章 本文主要讲解最新的切面编程配置 首先看下app的build.gradle界面,有两处配置 plugins {id("com.android.application")id("org.jetbrains.kotlin.android")// 配置1id("com.ibotta.gradle.aop")}android {namespace = "com.e
阅读更多...
王学岗崩溃捕获以及重启
package com.example.crashtestimport android.app.Applicationimport android.content.Contextimport android.util.Logimport com.yc.toollib.crash.CrashHandlerimport com.yc.toollib.crash.CrashListenerim
阅读更多...
王学岗约束性布局wrap_content失效的问题
<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"a
阅读更多...
王学岗visibility改变后调用onLayout()
自定义控件的时候发现了一个bug。 Button位移动画执行结束后我设置了一个不相关的TextView的可见性由gone变为visible.令人郁闷的是,只要我注释的地方放开。动画执行结束后button都会重新绘制在位移动画开始的位置。注释掉这段代码就正常。 经过分析后得知 View的Visibility改变后会调用重新onLayout()
阅读更多...
王学岗-DiffUtil.Callback遇到的坑
RecyclerView的好伴侣:详解DiffUtil 第一个坑:注意 写DEMO的时候,用于比较的新老数据集,不仅ArrayList不同,里面每个data也要不同(不仅ArrayList需要new,里面的data也要new)。 否则changed 无法触发。实际项目中可能遇不到,因为新数据往往是网络来的。 第二个坑:系统生成该方法的时候会调用父类方法(super),一定要删除掉super方法。血
阅读更多...