Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
Address
304 North Cardinal St.
Dorchester Center, MA 02124
Work Hours
Monday to Friday: 7AM - 7PM
Weekend: 10AM - 5PM
js 与原生交互分为两种情况:js 调用原生方法,原生调用 js 方法。 本文将对这两种情况分别讲解,H5 端用 vue 实现。 一、前期准备(Vue项目准备) 本文的 H5 端用Vue 实现,所以在正式开始前先把 Vue 项目环境准备好。 项目写好后,执行 npm run serve 命令启动项目,启动成功后会在命令行看到两个地址: http://localhost:8080/ 和 10.0.0.188 是我本机的 ip 地址,每个人的不一样。 在电脑的浏览器访问的话哪个都行,但在手机或模拟器访问的话需要用第二个带 ip 地址的,且要保证手机跟电脑连接同一个 wifi 或在同一网段。 注意:这里用的是 vue-cli 3.0,运行命令跟 vue-cli 2.X 有所区别。详情请自行查询官方文档。 启动成功后在…
或许对于许多Android开发者来说,所谓的Android工程师的工作“不过就是用XML实现设计师的美术图,用JSON解析服务器的数据,再把数据显示到界面上”就好了,源码什么的,看也好不看也罢,反正应用层的开发用不上,再加上现在优秀的轮子越来越多,拿来主义泛滥,能用就是,反正老板也不关心是不是你自己写的,用我现在老大的话来说,阅读源码似乎只是一种“锦上添花”的事,有自然好,没有也罢。 说了这么多,到底有没有必要阅读源码?有必要,而且非常有必要!原因有三。 其一,了解基层,高层才能更好地工作。 比如,了解View的绘制过程,了解TouchEvent的分发和拦截过程的细节,才能写出酷炫的UI,要不然,只知道大概的原理的话,你可能要在“无法接收到触摸事件”或者“滑动事件和点击事件冲突”的这些问题上折腾半天。 又比如,如果哪里出现异常,你能快速定位到源码抛异常类的地方,就能快速解决BUG,对症下药,一招撂倒,有些时候,修复BUG的时间不是用在解决问题上,而是用在定位问题上。 这里有必要提一下,当Logcat把异常的栈信息打印出来的时候,有些异常出现的原因并不真的是Logcat的信息里描述的原因,因为Logcat里的异常的信息也只是由系统源码打印出来的,而这些源码大多时候只是普通的Java代码,和你自己写的没什么区别,如果源码抛出异常的代码的逻辑不够严谨的话,那实际的异常和Logcat里描述的异常可能对不上。 比如之前搞动态加载的时候,在使用LayoutInflator渲染一个外部的XML布局时,抛了一个“Class not found”的异常,我要渲染的类可是LinearLayout啊,怎么可能没有!定位到源码里才发现,这里只要是类渲染失败就会抛这个异常,再定位到具体抛异常的地方,发现实际是Dimens资源找不到,困扰半年的问题立刻解决。 其二,能够理解Android设计者的意图。 这个描述可能不好,比如说,许多人都觉得Android开发其实就是Java开发,通过阅读Context类的设计,你能够理解Google是如何在Java的基础上加上Android的特性的,你能够理解Context被叫做“环境”的原因。 此外,阅读Activity/Service的源码,你能理解到四大组件类明明就是普通的JAVA类,为什么他们就是组件而别的类就不是组件。阅读Handler/Message/Looper的源码,你还能理解到Handler的精髓,数据驱动比事件驱动更适合用于设计需要经常改动的框架。 阅读源码,你能知道Android是怎么管理Window以及向控制View的触摸事件的,你能知道基本上所有的res资源都有等价的Java代码的实现方式,你还能知道Dalvik是怎么无缝向ART过度的,在看通的那一瞬间,保证你觉得“水可载舟,亦可赛艇”! 其三,能够学习优秀开源项目的代码风格和设计理念 这也是最重要的,看多了源码之后,你会发现所谓的源码也不过是普通的的Java代码,在不知不觉中受到这些优秀设计思想的影响。 相信许多人在看 Volley 源码此前,对异步任务控制的想法基本就是毫无想法,看完之后简直是醍醐灌顶,原来代码也能写得这么有魅力,再看看自己之前写的异步任务,“new Thread().start”…,简直是“too young, sometime naive”有没有。 看了越来越多Android的源码,自己的写应用的时候,也就能写出更加“Best Performance”的代码,见识了越来越多的开源项目,自己也能够更容易找到最符合自己应用的框架和技术方案,学习了越来越多的优秀的代码风格,自己也就更能写出漂亮以及容易扩展的代码。 或许对许多做Android开发来说,平时的工作就是按照设计的图写个布局,再解析后台的数据,下班了把测试用的安卓机扔进抽屉拿出自己的苹果手机…… 但有时候花点时间看看源码,或许会觉得设计代码还是挺有意思的,特别是,当你花了两天的时间构思代码,再花两天的时间写代码,这时你可能觉得你还有许多代码要写,但是突然发现只要把你写好的接口衔接一下就都完成了,而且写了两天的代码居然一次编译通过! 更甚,产品突然改了个需求,你在抱怨了一顿后发现只要花10分钟把原来的接口换个实现就搞定了,这或许是程序员工作中为数不多的乐趣吧。 但是学习源码也会花费很多的时间和精力,而且可能由于自身的水平限制,导致理解上面会有偏差。 最近去朋友那边抠过来全套的《Android 开发相关源码精编解析》王者晋级文档,仔细刷完之后才发现真的是捡到宝了,不仅有详细的解释还有对应案例的源代码都有提供,方便咱自己可以实操,我给两个字评价:膜拜!王者晋级,就在眼前,不相信的可以跟着一起来看看! 1.深入解析微信 MMKV 源码 MMKV 是微信于 2018 年 9 月 20…
你是否刚接触编程就被各种专业术语绕晕?是否面对满屏的代码却连开发工具都不会配置?别慌!今天我们就来拆解全球百万开发者使用的Eclipse,手把手带你在30分钟内从安装到写出第一个程序。 一、3分钟完成Eclipse安装 打开官网eclipse.org/downloads时,你会看到: 选择右侧的【Download Packages】按钮 找到”Eclipse IDE for Java Developers”(学其他语言可自选版本) 重点注意:安装包自带JDK的版本要勾选!避免环境配置噩梦 下载完成后直接解压,首次启动会要求设置workspace(代码仓库路径) 二、新手必改的5个基础设置 在Window-Preferences菜单中: 字体调整:General→Appearance→Colors and Fonts→Basic→Text Font(建议18px以上) 自动补全:Java→Editor→Content Assist→Auto activation延迟设为100毫秒 代码模板:Java→Code Style→Code Templates定制你的专属注释格式 快捷键:Keys分类下可修改Alt+/代码提示快捷键 显示行号:General→Editors→Text Editors勾选Show line numbers 三、创建第一个项目的完整流程 点击工具栏左上角File→New→Java Project: 给项目取名时避免使用中文和空格 在src目录右键→New→Class创建类文件 输入main方法快捷键:输入main后按Alt+/自动补全 System.out.println的快捷写法:syso按Ctrl+Space 右键类文件→Run As→Java Application运行程序 四、调试程序的神奇技巧…
你是不是总被复杂的前端代码劝退? 当你想做个带表格、表单的管理系统时,是不是总在HTML、CSS、JavaScript之间反复横跳?FineUI用一行代码生成专业界面,让零基础小白也能1小时搭出企业级后台! 一、FineUI到底是什么? 这个国产UI框架专治”前端恐惧症”: 拖拽式开发:像拼乐高一样组合控件 自动响应式:手机电脑自动适配不操心 百种现成组件:从表格到树形菜单全打包 二、安装比煮泡面还简单 跟着这三步走: Visual Studio新建ASP.NET项目(选空模板) NuGet包管理器搜索FineUI安装 把<f:PageManager>标签塞进.aspx文件 三、第一个登录界面实战 删掉默认代码,直接粘贴这段: <f:TextBox Label=”账号” EmptyText=”输入手机号” /> <f:TextBox Label=”密码” TextMode=”Password” /> <f:Button Text=”登录” OnClick=”btnLogin_Click” /> 运行项目就能看到专业级表单,比传统开发快10倍! 四、必学的三大核心控件 控件名 做什么用 典型场景 Grid 带分页的数据表格 会员列表展示 Window 弹出对话框 编辑详情信息 Tree 树状菜单…