MUI开发记录
最近很久没有更新博客了,因为一直在学习前端h5 手机app的开发。曾经一度觉得自己css和js学得不错,进入到前端领域后才发现水很深~,写代码时HBuilder和VS混用,HBuilder的快捷键和代码提示以及真机调试方便,但是错误提示和代码格式化是硬伤,VS的前端报错提示很智能,代码格式化很顺畅,将二者的优点集合起来。现在在用MUI做app开发, 就把工作中用到的以及遇到的坑都一一记录下来,待项目完工,再回过头来看一下......
相关学习资料网址
MUI文档:http://dev.dcloud.net.cn/mui/ui/
MUI问答社区:http://ask.dcloud.net.cn/explore/category-3
HTML5+ API文档:http://www.html5plus.org/doc/zh_cn/android.html
HTML5+ API缓存:http://www.dcloud.io/docs/api/zh_cn/cache.html
vue.js:https://cn.vuejs.org/
dcloud:http://www.dcloud.io/
阿里巴巴矢量图标库:http://www.iconfont.cn/home/index?spm=a313x.7781069.1998910419.1
-----------------------------------------------分隔线-----------------------------------------------------------
解决MUI选择器组件抛出“picker.getSelectedItem is not a function”异常的问题
HTML5 用 websql 模仿 localStorage 几乎无大小限制
Hbuilder用自有证书打包 ios App上架AppStore流程
------------------------------------消息推送-------------------------------------
个推:http://www.getui.com/cn/index.html
mui 开发知识 积累总结 --------------Hbuilder APP 个推服务
常见问题
js知识充电
if语句只写一个参数是什么意思
要知道if里面的返回值是true或是false,那么只要括号里随便一个数都可以,
a=0,那么if条件就是false了
布尔值,javascript中以下值会被转换为false
- false
- undefined
- null
- 0
- -0
- NaN
- ""
- ''
js中 o = o || {};是什么意思
o = o || {} 表示:如果o为null或undefined,则将o初始化空对象(即{}),否则o不变。目的是防止o为null或未定义的错误。其中:||表示或操作,第一个条件为真,则结果为真而不需要执行第二个条件;否则执行第二个条件,等价于以下代码:
if(o)
o = o;
else
o = {};
HBuilder使用安卓模拟器
安卓模拟器有很多,我这里以夜神模拟器为例。使用安卓夜神模拟器来运行手机app的时候,先要配置HUuilder,配置方式:HBuilder的工具--》选项--》运行--》设置Web服务器--》HBuilder--》第三方Android模拟器端口:将此处的端口改为62001。因为夜神模拟器的端口就是62001。


条件允许的情况下,建议直接真机调试,快很多。
HBuilder检测不到夜神模拟器 -- 解决办法
有时候经常出现HBuilder和夜神模拟器都启动了,建立了链接,但是检测不到夜神模拟器的情况。
1、我们可以试着点击一下夜神模拟器界面,然后再在HBuilder中打开一个页面
2、如果1还是不行,打开cmd执行命令
打开HBuilder的安装目录,进入到tools\adbs目录中,例:C:\Program Files\HBuilder.8.0.2.windows\HBuilder\tools\adbs
cd \Program Files\HBuilder.8.0.2.windows\HBuilder\tools\adbs
cd \Program Files\HBuilder.8.0.2.windows\HBuilder\tools\adbs
cd \Program Files\HBuilder.8.0.2.windows\HBuilder\tools\adbs

app首页底部导航
参考:tab选项卡示例教程-基于subnview模式的原生tab(含底部凸起大图标)
这个官网提供了具体例子,下载地址:https://github.com/dcloudio/mui/tree/master/examples/nativeTab
我做的界面Demo

个人感觉:虽然快是快了,但是有一个严重的缺陷,那就是底部无法动态配置。所以我最终抛弃了这种方式,因为界面所有的菜单模块都是可以在PC后台进行配置的,我最终用vue.js来做数据绑定。
注意首页应用了响应式布局,熟悉rem、em、px之间的区别。引入了第三方js:flexible.js
最新版本 mui 安卓模拟器调试,同步报错
1、重启安卓模拟器,重新在CMD中连接
adb connect 127.0.0.1:62001
adb devices

2、方法二:在安卓模拟器上面卸载HBuilder
快速申请ios打包ipa证书.p12和.mobileprovision(无需Mac)
http://ask.dcloud.net.cn/article/1257
安装后每次打开都出现请将Hbuilder移至其他盘符以及C盘配置文件不可写入的提示



在mui-bar mui-bar-tab子页面的中使用echarts,总是有时显示有时不显示
必须在页面中指定报表容器的宽、高,或者最小宽高,在css样式文件中指定宽高有时会无效。
或者你添加窗体的大小变更监听事件,重绘报表,如下所示:
var lineChart = echarts.init(charts);
lineChart.setOption(chartOption);
window.onresize = function () {
lineChart.resize();
}
补充:如果是底部选项卡切换的时候,默认会加载第一页,因此上面的方法有效。
但是在切换到第2个Tab时,同样会出现不显示或者黑屏的现象,需要在mui.plusReady中做如下处理:
mui.plusReady(function() {
var nw = plus.webview.getWebviewById("pages/energy.html"); // 这里pages/energy.html是默认的选项卡id
nw.addEventListener("show", function(e) {
lineChart.resize();
}, false);
});
此问题困扰了许久。
app消息推送
个推:http://www.getui.com/cn/index.html
参考教程:http://m.blog.csdn.net/tiger_gy/article/details/72922215
手写签名
源码地址:https://github.com/xuyongsky123/canvasSignature.git
源码地址:https://github.com/yulusjjc/sign
HBuilder控制台不显示日志
我用的魅族手机,进入工程模式:*#*#3646633#*#*,开启调试模式日志,关于其它手机可以网上查找进入工程模式的方式。
如何用Fiddler对Android应用进行抓包
对app中的ajax请求进行抓包,配置教程如下:
http://jingyan.baidu.com/article/03b2f78c7b6bb05ea237aed2.html
mui 搜索框在pad上需要点击两次才能弹出键盘
在mui-search外面包含了mui-inner-wrap之后就会出现这个bug。别的控件不知道有没有这个现象,我用到的就是这个。原理应该是mui-placehold绝对定位之后在iOS端产生事件穿透导致的。
解决办法:
.mui-search .mui-placeholder {
pointer-events: none;
}
持续更新中......
MUI开发记录的更多相关文章
- MUI开发记录——我的考勤
已经好久没有更新技术博客了,因为最近一直在做跨平台web app应用的开发,由于是刚做这个,也没太多经验同大家分享,可我是一个闲不住的人,我还是决定于百忙之中抽空整理一篇,记录下开发历程......— ...
- 移动端App uni-app + mui 开发记录
前言 uni-app uni-app是DCloud推出的终极跨平台解决方案,是一个使用Vue.js开发所有前端应用的框架,官网:https://uniapp.dcloud.io/ mui 号称最接近原 ...
- MUI开发大全
最近很久没有更新博客了,因为一直在学习前端h5 手机app的开发.曾经一度觉得自己css和js学得不错,进入到前端领域后才发现水很深~,写代码时HBuilder和VS混用,HBuilder的快捷键和代 ...
- CozyRSS开发记录22-界面退化
CozyRSS开发记录22-界面退化 1.问题1-HtmlTextBlock 找的这个HtmlTextBlock有很严重的bug,有时候显示不完全,有时候直接就崩了.然后看了下代码,完全是学生仔水平写 ...
- CozyRSS开发记录21-默认RSS源列表
CozyRSS开发记录21-默认RSS源列表 1.默认列表 在第一次使用CozyRSS的情况下,我们让它内置五个RSS源吧: 2.响应RSS源的更新 先不处理RSS源列表项的点击,响应下下拉菜单里的更 ...
- CozyRSS开发记录20-CanResizeWithGrip
CozyRSS开发记录20-CanResizeWithGrip 1.窗口样式 首先,WindowStyle有四种: 然后,对于窗口缩放的ResizeMode,也有四种,CanResize和CanRes ...
- CozyRSS开发记录19-窗口标题栏交互
CozyRSS开发记录19-窗口标题栏交互 1.谈谈对mvvm解耦的看法 在使用mvvm时,如何操作窗口,这是一个问题.这个问题的关键点是:mvvm是把view和viewmodel解耦了的,很多写法一 ...
- CozyRSS开发记录18-番外之Atom1.0的支持
CozyRSS开发记录18-番外之Atom1.0的支持 1.对CozyRSS.Syndication批判一番 由于我工作的主要开发语言是c++,所以会看到我的c#代码写得非常朴素,很多语法糖都没有用上 ...
- CozyRSS开发记录17-Html2Xaml
CozyRSS开发记录17-Html2Xaml 1.RssContentView还需要优化 上回做了RssContentView的显示,但是对于rss返回的描述(摘要),连换行的没有,更别说里面还有h ...
随机推荐
- 【整合】input标签JS改变Value事件处理方法
某人需要在时间控件给文本框赋值时,触发事件函数.实现的效果: 1.文本框支持手工输入,通过用户输入修改值,手工输入结束后触发事件.阻塞在于失去焦点后才触发(输入过程中不触发事件) 2.通过JS方法修改 ...
- 借助扩展事件查看SQL 2016备份和还原操作的内幕
当遇到备份或者还原操作占用较长时间时,很多人会问: 备份/还原是不是僵死了?要不要kill掉,再重来? 到底是哪一个部分的操作占用较长时间? 到底现在进行到什么阶段了? 在SQL 2016 之前,要回 ...
- Jquery笔记之第一天
1.使用Jquery 方法一:下载JQuery 方法二:使用CDN内容分发网络 常用的国内CDN: 百度:<script src="https://apps.bdimg.com/lib ...
- [2016-07-15]nuget包管理器控制台下的powershell脚本介绍
博客有阵子没打理了,今天刚恢复样式,但是标题还是不太正常,总算能凑合看看. 回到正题,最近为了能在VS的程序包管理器控制台上能方便的自定义ps脚本去调整project的package,就开始看powe ...
- java调取数据库
import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.S ...
- 浅述 Java 并发
浅述 Java 并发 volatile volatile只能保证变量对各个线程的可见性,但不能保证原子性.关于 Java语言 volatile 的使用方法就不多说了,我的建议是 除了 配合packag ...
- Selenium 定位网页元素
第一 定位元素辅助工具 IE中在元素上右击 -> “检查元素”,或按F12键打开开发者工具: Chrome中在元素上右击 -> “审查元素”,或按F12键打开开发者工具: Firefox ...
- 转:【Java并发编程】之二十三:并发新特性—信号量Semaphore(含代码)
载请注明出处:http://blog.csdn.net/ns_code/article/details/17524153 在操作系统中,信号量是个很重要的概念,它在控制进程间的协作方面有着非常重要的作 ...
- 转:【Java并发编程】之八:多线程环境中安全使用集合API(含代码)
转载请注明出处:http://blog.csdn.net/ns_code/article/details/17200509 在集合API中,最初设计的Vector和Hashtable是多线程安 ...
- 【Alpha】第七次Daily Scrum Meeting
GIT 一.今日站立式会议照片 二.会议内容 1.讨论送礼物的方法和对象,使功能更加完善. 2.对于程序还存在的问题提出自己的看法,尽量让功能更加的饱满. 三.燃尽图 四.遇到的困难 能 ...