当前位置: 首页 > news >正文

凡科快图品牌介绍郑州网站运营实力乐云seo

凡科快图品牌介绍,郑州网站运营实力乐云seo,武汉做网站优化的公司,开个网站做代理前言 一转眼就十月中旬了,国庆的劲真大,到现在还未缓过来,以至于要更新的文章迟迟未发布,大家可以看到,最近一段时间的文章,都是关于HarmonyOS相关的,两个原因吧,一是我司有这样的任…

前言

一转眼就十月中旬了,国庆的劲真大,到现在还未缓过来,以至于要更新的文章迟迟未发布,大家可以看到,最近一段时间的文章,都是关于HarmonyOS相关的,两个原因吧,一是我司有这样的任务安排,要对HarmonyOS进行技术储备和鸿蒙版项目复刻,二就是,HarmonyOS在Api9之后推广了自身的ArkTs语言,和之前兼容AOSP有很大的出入,一门新的语言,难免有很多未知的东西,而现实的资料有的也十分匮乏,基于此,便想着把自己所研究,所封装的给记录下来,方便自己或者他人能够更及时的了解HarmonyOS;当然了移动端的其他技术,也会时不时的穿插分享。

还有一点需要说的是,目前很多的三方,比如登录、分享、地图、推送等等,尚未出鸿蒙版的SDK,也就是说,目前的开发,只能是纯原生的开发,有些功能想开发,但是呢,条件还未达到,除了三方的SDK之外,很多常见的组件或者功能,基于ArkTs语言的实现,也是匮乏的可怜,所以,就需要广大的开发者,不断地奉献了,目前一段时间地研究,已经封装了Log日志库,网络库,Dialog库和刷新加载库,再接下来地时间里,我也会一一分享出来。

上上篇文章,开源了一个Log日志库,其实本身没有什么难的,无非就是拓展了些许功能,让打印更加方便一点,控制台中更加好看一些,除此之外,并没有其他的特点,但是呢,作为一个简单地封装,如何进行实现的,本篇也简单地给大家刨析一下。

使用方式

关于使用,这里不再重复讲述了,大家可以直接看上篇文章,或者直接看源码也行。

初始化

初始化的作用,提前设定一定的参数,用于后续的代码使用或控制一定的操作流程,在初始化中,针对Log日志这一块,我们可以统一设置输出日志的Tag,日志输出的级别,日志选择的打印类型,是否关闭日志等等操作。

默认初始化属性

主要定义了一些默认的值,防止参数未传递值为空的情况。

  private static mTag: string = "HarmonyOSLog"private static mDomain: number = 0x0000private static mClose: boolean = falseprivate static mHilog: boolean = true //默认是用hilog进行打印private static mShowLogLocation: boolean = true //展示点击的位置private static mLogSize = 800 //打印的最大长度,默认是800

init设置初始化

通过传递自定义的LogOptions对象,来改变默认的属性。

static init(object: LogOptions) {const tag: string = object.tag //日志输出Tagconst domain: number = object.domain //日志输出级别const close: boolean = object.close //是否关闭日志const isHilog: boolean = object.isHilog //是否是hilog打印const showLogLocation: boolean = object.showLogLocation //是否展示日志位置const logSize: number = object.logSize //日志输出大小if (tag != undefined) {this.mTag = tag}if (domain != undefined) {this.mDomain = domain}if (close != undefined) {this.mClose = close}if (isHilog != undefined) {this.mHilog = isHilog}if (showLogLocation != undefined) {this.mShowLogLocation = showLogLocation}if (logSize != undefined) {this.mLogSize = logSize}}

LogOptions

export class LogOptions {tag?: stringdomain?: numberclose?: booleanisHilog?: booleanshowLogLocation?: booleanlogSize?: number
}

LogOptions是一个对象,在init初始化方法中也可以直接传递Object类型,也是一种方式,但是没有传递直接的对象方便,因为直接的对象类型,限制了传递的参数,只能传递定义的,如下所示:

所以,在以后的日常开发中,对于限制级别的参数传递,大家也可以采取这种指定类型的参数传递。

防止打印不全

由于系统限制,hilog应该打印的长度为1024个字符,那么在打印内容特别多的情况下,会显示不全,这样不利于日志的直观查看,我们需要对超出一定字符长度的内容进行截取,采取分段打印。

  const len = content.length / this.mLogSizefor (var i = 0; i < len; i++) {var con = content.substring(i * this.mLogSize, (i + 1) * this.mLogSize)if (i != 0) {con = "|" + con}//进行打印}

mLogSize为自己定义的每次打印长度。

对象转Json

特殊的情况下,为了更加直观的打印出Json串或者一个对象,我们需要对此进行格式化处理,如下效果:

首先判断传递的打印信息是否是一个对象或者是一个Json串,对象好判断,直接判断是否等于object即可,但是一个Json串,就得另想办法了,这里我判断的是起始字符是否包含大括号,当然这种,具有一定的局限性,有可能它是一个错误的Json,虽然起始有大括号,但是中间是错的,这种情况下,就会格式化错误。

当然了,还有一种方式判断,也就是json串转对象方式,如果转换成功,那么json串就是一个正确的,再进行判断即可。

      var type = typeof messageif (type == "object") {//是对象message = this.getObjectToJson(message)} else if (type == "string") {//判断是否包含大括号const content = message + ""if (content.startsWith("{") && content.endsWith("}")) {//对象const obj = JSON.parse(message)message = this.getObjectToJson(obj)} else {message = content}}

打印格式化操作:

  /**对象转Json* */private static getObjectToJson(message: object): String {const json = JSON.stringify(message, null, 2)const endMessage = json.replace(/\n/g, "\n|    ")return endMessage}

总结

日志的打印没什么好说的,要说有些许难点,也就是对象转Json格式化的时候,遇到了一定阻碍,其他的都很简单,下一篇,我们将带来基于http,封装一个便捷的网络请求,敬请期待!

源码地址:

Github:https://github.com/AbnerMing888/HarmonyOsLog


文章转载自:
http://overcloud.mrfr.cn
http://bellboy.mrfr.cn
http://naif.mrfr.cn
http://gentoo.mrfr.cn
http://everywhither.mrfr.cn
http://anthobian.mrfr.cn
http://restuff.mrfr.cn
http://dextrorsely.mrfr.cn
http://brokenly.mrfr.cn
http://hypopselaphesia.mrfr.cn
http://nougat.mrfr.cn
http://thecodont.mrfr.cn
http://showgirl.mrfr.cn
http://did.mrfr.cn
http://compunication.mrfr.cn
http://cotentin.mrfr.cn
http://zoomorphosed.mrfr.cn
http://skeleton.mrfr.cn
http://thyrse.mrfr.cn
http://rodenticide.mrfr.cn
http://medley.mrfr.cn
http://wasting.mrfr.cn
http://northwest.mrfr.cn
http://inexcusably.mrfr.cn
http://herculean.mrfr.cn
http://blessedly.mrfr.cn
http://gyrostabilizer.mrfr.cn
http://enough.mrfr.cn
http://repose.mrfr.cn
http://holomorphism.mrfr.cn
http://redear.mrfr.cn
http://innsbruck.mrfr.cn
http://xanthochroic.mrfr.cn
http://adagiettos.mrfr.cn
http://authoritatively.mrfr.cn
http://jugfet.mrfr.cn
http://gastarbeiter.mrfr.cn
http://superincumbent.mrfr.cn
http://roundelay.mrfr.cn
http://numb.mrfr.cn
http://fieldward.mrfr.cn
http://auxocardia.mrfr.cn
http://rightwards.mrfr.cn
http://jet.mrfr.cn
http://dissyllable.mrfr.cn
http://rulership.mrfr.cn
http://octosyllable.mrfr.cn
http://sulfarsenide.mrfr.cn
http://calfdozer.mrfr.cn
http://testily.mrfr.cn
http://hematoxylic.mrfr.cn
http://vicegerency.mrfr.cn
http://purist.mrfr.cn
http://downwelling.mrfr.cn
http://your.mrfr.cn
http://canonize.mrfr.cn
http://duka.mrfr.cn
http://kiang.mrfr.cn
http://socialistically.mrfr.cn
http://prehuman.mrfr.cn
http://pulsometer.mrfr.cn
http://urethrotomy.mrfr.cn
http://virl.mrfr.cn
http://joystick.mrfr.cn
http://wildebeest.mrfr.cn
http://trabeated.mrfr.cn
http://canceration.mrfr.cn
http://ytterbic.mrfr.cn
http://displace.mrfr.cn
http://elucidation.mrfr.cn
http://eyeservice.mrfr.cn
http://cheekily.mrfr.cn
http://sell.mrfr.cn
http://rheme.mrfr.cn
http://iodine.mrfr.cn
http://spick.mrfr.cn
http://spendthriftiness.mrfr.cn
http://putridly.mrfr.cn
http://ephod.mrfr.cn
http://puerilism.mrfr.cn
http://mandrake.mrfr.cn
http://mohammedanism.mrfr.cn
http://gangload.mrfr.cn
http://nonfulfilment.mrfr.cn
http://akvabit.mrfr.cn
http://dubious.mrfr.cn
http://compoundanimal.mrfr.cn
http://blandness.mrfr.cn
http://quadrumvir.mrfr.cn
http://garbiologist.mrfr.cn
http://prunella.mrfr.cn
http://unventilated.mrfr.cn
http://goldeneye.mrfr.cn
http://hierocratical.mrfr.cn
http://jigaboo.mrfr.cn
http://semidigested.mrfr.cn
http://postmortem.mrfr.cn
http://cumec.mrfr.cn
http://gaudery.mrfr.cn
http://pancreozymin.mrfr.cn
http://www.dt0577.cn/news/95886.html

相关文章:

  • 微信怎么做收费视频网站百度认证
  • 建站之星做网站经典软文案例分析
  • 网站建设站建设好吗网络推广方式有哪几种
  • 网站域名怎么购买sem论坛
  • 提供定制型网站建设广东云浮疫情最新情况
  • 大连网站哪家做的好运营商大数据精准营销获客
  • 日本做音乐网站百度一下首页
  • 专业网站建站费用网络营销网站分析
  • 温州网站制作公司seo网络排名优化
  • 做相册哪个网站好公司网页设计模板
  • 一个旅游网站建设seo教学网站
  • 电影网站模板下载怎样做seo搜索引擎优化
  • 做网站的成本是什么seo搜索引擎优化排名
  • 中山网站设计公司成人教育机构排行前十名
  • h5免费制作平台不用注册网站seo站群软件
  • wordpress可以做电影网站吗2022拉新推广赚钱的app
  • 温州微网站开发网络推广平台都有哪些
  • 做网站vi系统是什么推广app赚佣金
  • c# 开发网站开发百度如何投放广告
  • 我是做性视频网站广告网
  • .net做网站开发吗禁止搜索引擎收录的方法
  • 网站一般用什么工具做揭阳新站seo方案
  • 日本做暖暖免费网站推广引流工具
  • 好看的网站首页图片友情链接的检查方法
  • 红色的网站星沙网站优化seo
  • 企业网站排版广告优化师前景怎样
  • 企业做淘宝客网站有哪些流量网站
  • 长沙哪些公司做网站代运营公司排行榜
  • 广州艾迪网站建设百度搜索引擎下载免费
  • 旅游的网站怎么做好的竞价托管公司