HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

选择郑州app开发时,需要注意哪些细节问题

5 App开发

  对于现在比较火的app开发技术而言,越来越多的app软件被用户所喜爱,也造就了整个市场的需求扩大,因此很多投资者将目光放在了app开发商,那么郑州app开发现在已经有很多家公司在做了,那么现在app开发存在哪些细节的不足呢?下面郑州app开发公司燚轩科技就来为投资者讲解一下,在选择app开发的时候,具体需要注意哪些问题。

  1、避免图片像素低的问题

  设计师们设计app的界面时应该从高像素的屏幕尺寸开始设计,然后再根据小尺寸屏幕逐一进行比例缩放,只有这样才能向下兼容相关的移动终端屏幕。此外,还可以借助位图操作等方式来处理好高像素图片缩放带来的图片像素不足的问题。

  2、app界面过渡问题

  app界面在加载动画的过程中药做到过渡平滑自然,主要从图片到动画视频间的过渡,以及更应该注意的是APP加载过程中因为程序异常或者网络原因带来的白屏问题,当出现白屏的时候应该加入进度条以告知用户当前的加载进度,而不是让用户盲目在界面过渡的加载中长时间等待。

  3、app的图标带给用户的不安全感

  对用户来说,app的图标或logo可以说说给用户的第一印象,当用户看到app的icon图标时则会在心里产生一些直接的想法,图片给用户的视觉体验则会让用户产生相应的心理看法。一个视觉模糊和表达不清的App图标则会让用户失去信任感,心理会怀疑这样的app是否安全可靠。

  4、app中文本的格式不易阅读

  对大多数的用户来讲,app中的文本使用滚动方式会比逐行切换阅读更加方便,因为用户其实都是很懒的,所以在app设计中应该关注文本格式的可阅读性,尤其是以信息服务为内容的App更需要注意文本格式的兼容性。本文由郑州app开发(http://www.appsaa.com)整理发布,如需转载请注明出处。

继续阅读 »

  对于现在比较火的app开发技术而言,越来越多的app软件被用户所喜爱,也造就了整个市场的需求扩大,因此很多投资者将目光放在了app开发商,那么郑州app开发现在已经有很多家公司在做了,那么现在app开发存在哪些细节的不足呢?下面郑州app开发公司燚轩科技就来为投资者讲解一下,在选择app开发的时候,具体需要注意哪些问题。

  1、避免图片像素低的问题

  设计师们设计app的界面时应该从高像素的屏幕尺寸开始设计,然后再根据小尺寸屏幕逐一进行比例缩放,只有这样才能向下兼容相关的移动终端屏幕。此外,还可以借助位图操作等方式来处理好高像素图片缩放带来的图片像素不足的问题。

  2、app界面过渡问题

  app界面在加载动画的过程中药做到过渡平滑自然,主要从图片到动画视频间的过渡,以及更应该注意的是APP加载过程中因为程序异常或者网络原因带来的白屏问题,当出现白屏的时候应该加入进度条以告知用户当前的加载进度,而不是让用户盲目在界面过渡的加载中长时间等待。

  3、app的图标带给用户的不安全感

  对用户来说,app的图标或logo可以说说给用户的第一印象,当用户看到app的icon图标时则会在心里产生一些直接的想法,图片给用户的视觉体验则会让用户产生相应的心理看法。一个视觉模糊和表达不清的App图标则会让用户失去信任感,心理会怀疑这样的app是否安全可靠。

  4、app中文本的格式不易阅读

  对大多数的用户来讲,app中的文本使用滚动方式会比逐行切换阅读更加方便,因为用户其实都是很懒的,所以在app设计中应该关注文本格式的可阅读性,尤其是以信息服务为内容的App更需要注意文本格式的兼容性。本文由郑州app开发(http://www.appsaa.com)整理发布,如需转载请注明出处。

收起阅读 »

二维码plus.barcode横屏时候,扫码屏幕方向导致问题。

二维码扫描 h5+

官方的H5+ plus Demo的二维码扫描,如果将手机屏幕方向转成横屏,会出现摄像头方向相反的问题。大家有遇到过吗?

官方的H5+ plus Demo的二维码扫描,如果将手机屏幕方向转成横屏,会出现摄像头方向相反的问题。大家有遇到过吗?

关于MUI中栅栏布局使用的注意点,mui-col-sm-

当我试图作出附件中效果的时候,我发现宽度低于400px的时候,这个布局就失效了,后来看了代码才发现,MUI将其最小宽度做了限制,将其限制为400px,在默认的情况下,父节点宽度设为100%的时候,这个布局在真机MI 6,RedMi Plus机型上测试时发现都不能用,将其限制降低时就可恢复正常。
在此希望大家再碰到如此的业务场景时,直接将限制设置的低一点。

继续阅读 »

当我试图作出附件中效果的时候,我发现宽度低于400px的时候,这个布局就失效了,后来看了代码才发现,MUI将其最小宽度做了限制,将其限制为400px,在默认的情况下,父节点宽度设为100%的时候,这个布局在真机MI 6,RedMi Plus机型上测试时发现都不能用,将其限制降低时就可恢复正常。
在此希望大家再碰到如此的业务场景时,直接将限制设置的低一点。

收起阅读 »

长按二维码识别后跳转APP内置浏览器功能实现

//二维码图片扫描事件  
$(document).on('longtap', '.msg-content-image', function(event) {  
    var text = $(this)[0].src;  
    text=decodeURI(text); //中文解码  
    plus.barcode.scan(text, onmarked, function(error) {  
        plus.nativeUI.alert('无法识别此图片');  
    });  
});  

// 二维码扫描成功  
function onmarked(type, result, file) {  
    switch(type) {  
        case plus.barcode.QR:  
            type = 'QR';  
            break;  
        case plus.barcode.EAN13:  
            type = 'EAN13';  
            break;  
        case plus.barcode.EAN8:  
            type = 'EAN8';  
            break;  
        default:  
            type = '其它' + type;  
            break;  
    }  
    result = result.replace(/\n/g, '');  
    result = result.toLowerCase();//url转为全小写  
    result = result.replace(/\"/g, "");  
    browser.init(result);//跳转APP内置浏览器  
}
继续阅读 »
//二维码图片扫描事件  
$(document).on('longtap', '.msg-content-image', function(event) {  
    var text = $(this)[0].src;  
    text=decodeURI(text); //中文解码  
    plus.barcode.scan(text, onmarked, function(error) {  
        plus.nativeUI.alert('无法识别此图片');  
    });  
});  

// 二维码扫描成功  
function onmarked(type, result, file) {  
    switch(type) {  
        case plus.barcode.QR:  
            type = 'QR';  
            break;  
        case plus.barcode.EAN13:  
            type = 'EAN13';  
            break;  
        case plus.barcode.EAN8:  
            type = 'EAN8';  
            break;  
        default:  
            type = '其它' + type;  
            break;  
    }  
    result = result.replace(/\n/g, '');  
    result = result.toLowerCase();//url转为全小写  
    result = result.replace(/\"/g, "");  
    browser.init(result);//跳转APP内置浏览器  
}
收起阅读 »

Dcloud太棒了

用来一年多的dcloud,走过一个接一个的坑,但是越用越觉得棒,直至今日,想说一句:
dcloud太棒了,希望团队的各位老板继续加油,做的更好~~~

用来一年多的dcloud,走过一个接一个的坑,但是越用越觉得棒,直至今日,想说一句:
dcloud太棒了,希望团队的各位老板继续加油,做的更好~~~

给项目增加摄像头拍照功能。

<body>
<button onclick="captureImage()">拍照</button>
</body>
<script type="text/javascript">
mui.init();
//扩展api加载完毕后调用onPlusReady回掉函数
document.addEventListener("plusready",onPlusReady,false);
//扩展api加载完毕,现在可以正常调用扩展api
function onPlusReady(){
//
console.log("plusready");
}
//拍照
function captureImage(){
var cmr=plus.camera.getCamera();
var res=cmr.supportedImageResolutions[0];
var fmt=cmr.supportedImageFormats[0];
console.log("Resolution:"+res+",Format:"+fmt);
cmr.captureImage(function(path){
alert("Capture image success:"+path);
},
function(error){
alert("Capture image failed:"+error.message);
},
{resolution:res,format:fmt}
);
}
</script>
(ps:摄像头可以调用也可以拍照 只是需要添加存储路径 看个人.)
(还要加新功能要类似于支付宝的那种身份证识别系统那个怎么拍照界面怎么做的,求大神的链接)

继续阅读 »

<body>
<button onclick="captureImage()">拍照</button>
</body>
<script type="text/javascript">
mui.init();
//扩展api加载完毕后调用onPlusReady回掉函数
document.addEventListener("plusready",onPlusReady,false);
//扩展api加载完毕,现在可以正常调用扩展api
function onPlusReady(){
//
console.log("plusready");
}
//拍照
function captureImage(){
var cmr=plus.camera.getCamera();
var res=cmr.supportedImageResolutions[0];
var fmt=cmr.supportedImageFormats[0];
console.log("Resolution:"+res+",Format:"+fmt);
cmr.captureImage(function(path){
alert("Capture image success:"+path);
},
function(error){
alert("Capture image failed:"+error.message);
},
{resolution:res,format:fmt}
);
}
</script>
(ps:摄像头可以调用也可以拍照 只是需要添加存储路径 看个人.)
(还要加新功能要类似于支付宝的那种身份证识别系统那个怎么拍照界面怎么做的,求大神的链接)

收起阅读 »

建议新增es6的let和箭头函数语法提示或者识别

在使用let或者箭头函数时候预览会出现提示报错,只有在浏览器中运行才可以正常显示。

在使用let或者箭头函数时候预览会出现提示报错,只有在浏览器中运行才可以正常显示。

dcloud的开源实例怎么这么少,能不能搭建个好点的开源实例库大家上传实例

dcloud的开源实例怎么这么少,能不能搭建个好点的开源实例库大家上传实例

dcloud的开源实例怎么这么少,能不能搭建个好点的开源实例库大家上传实例

安卓离线打包配置 url scheme

UrlSchemes 离线打包

打开 AndroidManifest.xml
找到 io.dcloud.application.DCloudApplication
原配置

<activity  
            android:name="io.dcloud.PandoraEntry"  
            android:configChanges="orientation|keyboardHidden|keyboard|navigation"  
            android:label="@string/app_name"  
            android:launchMode="singleTask"  
            android:hardwareAccelerated="true"  
            android:theme="@style/TranslucentTheme"  
            android:screenOrientation="user"  
            android:windowSoftInputMode="adjustResize" >  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  

                <category android:name="android.intent.category.LAUNCHER" />  
        </activity>

增加后

<activity  
            android:name="io.dcloud.PandoraEntry"  
            android:configChanges="orientation|keyboardHidden|keyboard|navigation"  
            android:label="@string/app_name"  
            android:launchMode="singleTask"  
            android:hardwareAccelerated="true"  
            android:theme="@style/TranslucentTheme"  
            android:screenOrientation="user"  
            android:windowSoftInputMode="adjustResize" >  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  

                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
            <intent-filter>  
                <action android:name="android.intent.action.VIEW"/>  
                <category android:name="android.intent.category.DEFAULT" />  
                <category android:name="android.intent.category.BROWSABLE" />  
                <data android:scheme="myapp"/>  
            </intent-filter>  
        </activity>
继续阅读 »

打开 AndroidManifest.xml
找到 io.dcloud.application.DCloudApplication
原配置

<activity  
            android:name="io.dcloud.PandoraEntry"  
            android:configChanges="orientation|keyboardHidden|keyboard|navigation"  
            android:label="@string/app_name"  
            android:launchMode="singleTask"  
            android:hardwareAccelerated="true"  
            android:theme="@style/TranslucentTheme"  
            android:screenOrientation="user"  
            android:windowSoftInputMode="adjustResize" >  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  

                <category android:name="android.intent.category.LAUNCHER" />  
        </activity>

增加后

<activity  
            android:name="io.dcloud.PandoraEntry"  
            android:configChanges="orientation|keyboardHidden|keyboard|navigation"  
            android:label="@string/app_name"  
            android:launchMode="singleTask"  
            android:hardwareAccelerated="true"  
            android:theme="@style/TranslucentTheme"  
            android:screenOrientation="user"  
            android:windowSoftInputMode="adjustResize" >  
            <intent-filter>  
                <action android:name="android.intent.action.MAIN" />  

                <category android:name="android.intent.category.LAUNCHER" />  
            </intent-filter>  
            <intent-filter>  
                <action android:name="android.intent.action.VIEW"/>  
                <category android:name="android.intent.category.DEFAULT" />  
                <category android:name="android.intent.category.BROWSABLE" />  
                <data android:scheme="myapp"/>  
            </intent-filter>  
        </activity>
收起阅读 »

IOS离线打包SDK开屏广告配置方法

开屏广告 SDK iOS

首先下载最新版的5+SDK ,下载地址请点击http://ask.dcloud.net.cn/article/103
1 复制HBuilder-Hello工程的AppDelegate.m文件中的如下代码到工程APPDelegate文件的对应方法中。也可以直接复制AppDelegate.m文件到打包工程下替换原文件

2 复制HBuilder-Hello工程的DCSplashAdObserver.h文件和DCSplashAdObserver.m文件并添加到打包工程中。

离线打包使用开屏广告需要注意以下几点:

  1. 当有开屏广告内容时[DCSplashAdObserver splashAdViewController]方法会返回一个UIViewController对象,这个ViewController必须使用UINavigationController对象的pushViewController的方法显示。
    1. 5+的开屏广告会在默认可关闭的时候发送一个kDCSplashScreenCloseEvent消息,监听到这个消息后推出5+广告的ViewController即可关闭开屏广告。
    2. 5+开屏广告暂不支持Webview集成或WebApp集成方式使用。
继续阅读 »

首先下载最新版的5+SDK ,下载地址请点击http://ask.dcloud.net.cn/article/103
1 复制HBuilder-Hello工程的AppDelegate.m文件中的如下代码到工程APPDelegate文件的对应方法中。也可以直接复制AppDelegate.m文件到打包工程下替换原文件

2 复制HBuilder-Hello工程的DCSplashAdObserver.h文件和DCSplashAdObserver.m文件并添加到打包工程中。

离线打包使用开屏广告需要注意以下几点:

  1. 当有开屏广告内容时[DCSplashAdObserver splashAdViewController]方法会返回一个UIViewController对象,这个ViewController必须使用UINavigationController对象的pushViewController的方法显示。
    1. 5+的开屏广告会在默认可关闭的时候发送一个kDCSplashScreenCloseEvent消息,监听到这个消息后推出5+广告的ViewController即可关闭开屏广告。
    2. 5+开屏广告暂不支持Webview集成或WebApp集成方式使用。
收起阅读 »

如何拿到manifest.json里配置的信息

mui 统计 manifest.json配置 经验分享

今天上司给了个任务,在app注册的时候,拿到manifest.json里配置的umeng的channel,然后跟着登录的接口一块传给后台,自己的服务器上再做一次统计

问题来了,怎么拿呢?

在dcloud问答里搜了一下,就找到一个 plus.push.getClientInfo() 这个是拿到推送的信息的,然后照葫芦画瓢把push换成了statistic,但它没有getClientInfo()方法

然后找到文档 http://www.html5plus.org/doc/zh_cn/statistic.html 确实没有 getClientInfo() 方法

最后问了官方大大 @五块钱的果汁 ,给了个办法

mui.getJSON('http://localhost:13131/_www/manifest.json', function (e) {});

这样直接在回调里取就可以了 e.plus.distribute.plugins.statics.umeng.channelid_android 完美

感谢官方大大的帮助,在这分享给大家

继续阅读 »

今天上司给了个任务,在app注册的时候,拿到manifest.json里配置的umeng的channel,然后跟着登录的接口一块传给后台,自己的服务器上再做一次统计

问题来了,怎么拿呢?

在dcloud问答里搜了一下,就找到一个 plus.push.getClientInfo() 这个是拿到推送的信息的,然后照葫芦画瓢把push换成了statistic,但它没有getClientInfo()方法

然后找到文档 http://www.html5plus.org/doc/zh_cn/statistic.html 确实没有 getClientInfo() 方法

最后问了官方大大 @五块钱的果汁 ,给了个办法

mui.getJSON('http://localhost:13131/_www/manifest.json', function (e) {});

这样直接在回调里取就可以了 e.plus.distribute.plugins.statics.umeng.channelid_android 完美

感谢官方大大的帮助,在这分享给大家

收起阅读 »