移动终端
西山水壶
大型软件公司从业14年,擅长前端开发,JAVA开发
展开
-
React Native读取系统属性
前段时间,公司需要用React Native做一套电视机顶盒上的视频播放系统,而其中有一项功能是需要读取到机顶盒的卡号,这个卡号提前被生产商写入了系统属性,叫“persist.sys.mmcp.smarcardid”,通过在命令行运行adb shell后,再运行getprop命令可以查出来,如下图: 但React Native本身并不提供直接读取系统属性的功能,这时候就需要手动开发一个原生插件来完成这项功能,具体步骤如下。在android\app\src\main\java\com\video原创 2022-07-05 08:42:07 · 925 阅读 · 0 评论 -
基于vue+ionic+capacitor的图书借阅app
前些时候,水壶哥使用vue开发了一套《图书管理系统》,这套系统只有pc端,联想到当前社会是智能社会,任何系统基本都配有移动端,所以本着再次让大家学到新技术的目的,水壶哥又开发了一套《图书管理系统》的移动端,这套系统采用vue+ionic+capacitor框架,是一套基于vue和ionic的入门系统,虽然是入门,但所用到的技术绝对是当今主流,后台依然采用《图书管理系统》的后台,没有任何变化。原创 2022-06-30 10:51:15 · 1275 阅读 · 1 评论 -
关于vue+capacitor打包android后无法访问http问题的总结
最近公司框架升级改造,之前的ionic+cordova+angluar的app框架舍弃不用,换成vue+ionic+capacitor框架。 首先按照ionic官网的教程,用命令行生成vue+ionic框架,但根目录下并没有生成vue.config.js文件,按照之前的习惯,手动创建vue.config.js文件,并设置请求代理,如下图所示: 在浏览器测试一切正常,很顺利的访问到了后台,但打包成android项目在手机上运行后,问题出现了,http请求似乎是被拦截了,后台根本原创 2022-06-28 15:31:42 · 2157 阅读 · 3 评论 -
苹果Mac Os系统安装nvm、svn、打开真机控制台
苹果Mac Os系统安装nvm、svn、打开真机控制台原创 2022-06-23 08:57:06 · 2815 阅读 · 0 评论 -
基于vue3.0的ionic中文开发文档
某天水壶哥在开发app时,急需查看ionic的官方api解决一个问题,但不知什么原因,官方api死活上不去,而且水壶哥发现,ionic的官方api时不时的就会挂掉,如果着急查找什么会很耽误事,所幸,趁着ionic官网能访问,将关于vue这部分的app开发文档摘录了下来,以便不时之需。.........原创 2022-06-21 09:56:42 · 4802 阅读 · 6 评论 -
React Native中TouchableHighlight和TouchableOpacity无法获取焦点问题的解决
React Native中TouchableHighlight和TouchableOpacity无法获取焦点问题的解决原创 2022-06-15 14:12:47 · 623 阅读 · 2 评论 -
ionic3软键盘弹出后ion-input以及ion-textarea标签点击时无法获取焦点的问题
ionic默认android:windowSoftInputMode="adjustResize",但是这种设置存在一个弊端,就是如果表单过长,在弹出软键盘时就会存在页面上下滚动的问题,偶尔会造成键盘遮挡输入框,于是修改成android:windowSoftInputMode="adjustPan",果然输入框不会再有遮挡的现象出现,但是出现了另一个问题,就是某些在页面下方的输入框在软键盘弹出几......原创 2019-04-02 11:08:26 · 1845 阅读 · 0 评论 -
Sencha Touch页面跳转创建返回上一级按钮的设计思路
这段时间开发了一个微博模块,其中涉及到各种页面跳转,例如A页面跳到B页面,B页面又跳到C页面,同时A页面也可以跳到C页面,那么在C页面返回上一级的时候就需要判断是哪个页面跳转进来的,甚至会发生A页面跳到B页面,B页面还能跳到A页面的这种循环跳转,有人会说为什么不用navigationview,navigationview只提供简单的返回上一级功能,如果在返回上一级的操作中还需要判断各种参数...原创 2014-11-24 20:40:02 · 267 阅读 · 0 评论 -
Sencha Touch延迟加载模块中的小类提高程序进入每个模块时性能
上一篇文章我写了如何提高Sencha Touch在进入程序时的性能,但是后来发现,虽然进入程序时候性能提高了,但是初始化Controller的任务分摊到各个模块了,使得第一次进入模块的时候变得比原来慢了,那么问题来了,如何继续提高第一次进入模块时候的性能呢?Controller是必须要在进入模块时候初始化的,这是不能改变的事实,那能不能从其他方面入手呢?我查看每个模块的代码发现了一个共性的问...原创 2014-11-20 10:59:44 · 170 阅读 · 0 评论 -
Sencha Touch延迟加载模块提高程序启动时性能
目前一段时间一直做移动终端开发,使用框架为Sencha Touch,Sencha Touch是基于Html5和Ext的,所以在性能上存在很大的问题,尤其是打开程序的时候需要加载很多模块的javascript类,严重影响了程序进入时的速度,随着模块的增多,速度越来越慢。能优化的已经都优化了,比如把各个模块的model,view,store都放到每个模块的Controller里面单独引入,但是...2014-11-19 16:06:30 · 179 阅读 · 0 评论 -
Ionic各种问题解决汇总
这些问题都是作者在平时的开发工作中总结归纳的,有些是作者所在公司专属项目中的写法,不一定适合所有人。原创 2018-03-12 11:10:32 · 6623 阅读 · 2 评论 -
html添加比1像素还要细的下划线
Ionic App --> .border_bottom { position: relative; } .border_bottom:after { content: ""; position: absolute; bottom: 0px; left: 0px; right: 0px; border-botto原创 2017-06-05 10:46:26 · 1842 阅读 · 0 评论 -
Sencha Touch页面跳转创建返回上一级按钮的设计思路
这段时间开发了一个微博模块,其中涉及到各种页面跳转,例如A页面跳到B页面,B页面又跳到C页面,同时A页面也可以跳到C页面,那么在C页面返回上一级的时候就需要判断是哪个页面跳转进来的,甚至会发生A页面跳到B页面,B页面还能跳到A页面的这种循环跳转,有人会说为什么不用navigationview,navigationview只提供简单的返回上一级功能,如果在返回上一级的操作中还需要判断各种参数的值,或原创 2014-12-01 15:10:18 · 1474 阅读 · 0 评论 -
Sencha Touch延迟加载模块提高程序启动时性能
目前一段时间一直做移动终端开发,使用框架为Sencha Touch,Sencha Touch是基于Html5和Ext的,所以在性能上存在很大的问题,尤其是打开程序的时候需要加载很多模块的javascript类,严重影响了程序进入时的速度,随着模块的增多,速度越来越慢。能优化的已经都优化了,比如把各个模块的model,view,store都放到每个模块的Controller里面单独引入,但是每个模块原创 2014-12-01 15:13:27 · 1514 阅读 · 0 评论 -
sencha touch在ios下使用Menu时内部html的onclick不生效的问题
现有代码如下:var menu = Ext.create('Ext.Menu',{ html:"V菜单项"}); Ext.Viewport.setMenu(menu, { side: 'right' });点击“菜单项”三个字的时候onclick没生效,最后把span改成a标签才生效,在安卓环境下不存在此问题原创 2015-01-21 10:40:19 · 861 阅读 · 0 评论 -
Sencha touch中Ext.data.Store获取json串中key值的方法
最近项目需要在Ext.data.Store返回列表的同时也返回其他一些值,但是查看store的api发现没有获取额外key值的方法,后来发现store的load方法中的回调函数有个operation参数,代码如下:store.loadPage(1,{ callback: function(records, operation, success) {原创 2015-06-16 16:21:24 · 1852 阅读 · 0 评论 -
phonegap(cordova)在ios系统实现录音功能的几种特殊情况
phonegap的录音插件是Media,用它可以实现录音及播放录音的功能,但是在android与ios系统下的实现方式有些许不同,共有以下几点:一、创建录音文件android代码://实例化录音类 var mediaRec = new Media(window.appRootDir+"test.mp3", // 录音执行函数...原创 2015-06-18 15:18:49 · 4791 阅读 · 0 评论 -
android4.4中addjavascriptinterface失效的解决办法
最近项目升级到了android4.4,发现其中的addjavascriptinterface失效了,因为之前andriod4.2的时候一直好好的,所以怀疑是升级andriod版本导致的问题,后来查资料得知用addjavascriptinterface映射到javascript的方法必须添加@JavascriptInterface注释,经测试果然成功了,以下是java代码:public clas...原创 2015-06-23 15:36:34 · 3755 阅读 · 1 评论 -
android隐藏标题栏后影响样式的解决方案
android隐藏标题栏常用的方式是在AndroidManifest.xml的application标签或某个Activity标签中添加android:theme="@android:style/Theme.NoTitleBar"属性,但是这样做的后果有时候会导致某些样式发生变化,后经测试,发现在Activity类的onCreate()方法的super.onCreate()语句之前调用reques原创 2015-10-29 12:53:23 · 1049 阅读 · 0 评论 -
关于cordova的InAppBrowser插件的几点问题
在做app的时候需要使用手机内部浏览器打开外部网页,并且要同时加载本地的js文件,发现cordova的InAppBrowser插件提供这个功能。官方有一段代码是这样的:var ref = window.open('http://apache.org', '_blank', 'location=yes');ref.addEventListener('loadstop', function()...原创 2016-03-08 13:08:38 · 10117 阅读 · 4 评论 -
利用百度地图的路书功能实现汽车实时定位
最近公司做的一个app项目需要用到百度地图实时定位功能,app项目是用ionic做的,所以用的也是百度地图web版。具体需要实现的功能类似于导航的时候有个小车在地图上随着实时位置移动,本功能不需要导航,只需要小车在地图上移动。那么具体怎么实现这个功能呢?首先看一下百度地图官方api,并没有现成的实时定位移动功能,只提供一个单点沿线运动的功能,尝试后发现该功能勉强用,但是还不够完美,最重要的是小...原创 2017-05-25 15:51:25 · 15872 阅读 · 3 评论 -
Sencha Touch延迟加载模块中的小类提高程序进入每个模块时性能
上一篇文章我写了如何提高Sencha Touch在进入程序时的性能,但是后来发现,虽然进入程序时候性能提高了,但是初始化Controller的任务分摊到各个模块了,使得第一次进入模块的时候变得比原来慢了,那么问题来了,如何继续提高第一次进入模块时候的性能呢?Controller是必须要在进入模块时候初始化的,这是不能改变的事实,那能不能从其他方面入手呢?我查看每个模块的代码发现了一个共性的问题,就原创 2014-12-01 15:15:24 · 711 阅读 · 0 评论