精华内容
下载资源
问答
  • 电脑控制安卓app 安卓游戏外挂制作 安卓游戏外挂自动练级 自动发送聊天 自动点击输入等操作的基本
  • 在陪玩APP开发中我们利用这种思想将陪玩间很多的共有逻辑变为不可见,不需要开发人员去关注的部分。这篇先介绍下陪玩APP开发工程如何去集成javaopet来实现自动生成代码。 1、新建java module,不能新建android module,...

    android端游戏陪玩系统源码主流的Butternife ,Dragger2等很好的实现了AOP的编程理念。
    陪玩APP开发中我们利用这种思想将陪玩间很多的共有逻辑变为不可见,不需要开发人员去关注的部分。这篇先介绍下陪玩APP开发工程如何去集成javaopet来实现自动生成代码。
    1、新建java module,不能新建android module,因为不兼容javax包;
    2、Gradle导入相关依赖,jdk版本控制在1.7:

    implementation 'com.squareup:javapoet:1.11.1'
    implementation 'com.google.auto.service:auto-service:1.0-rc4'
      sourceCompatibility = "1.7"
       targetCompatibility = "1.7"
    

    3、实现AbstractProcessor类,添加google扫描注解:

    @AutoService(Processor.class)
    public class LiveProcessor extends AbstractProcessor {
    

    4、创建陪玩间相关注解

    @Retention(RetentionPolicy.CLASS)
    @Target(ElementType.TYPE)
    public @interface LiveAnnotation {
    }
    

    5、重写陪玩间处理器LiveProcessor里面process方法,扫描所有的注解集合,实现代码书写

    TypeSpec helloWorld = TypeSpec.classBuilder("StreamHelper")
            .addModifiers(Modifier.PUBLIC, Modifier.FINAL)
            .addMethod(getMethodSpec("setStream", "Boolean"))
            .addMethod(getMethodSpec("splitParm", "Void"))
            .build();
    

    6、写入文件

    javaFile.writeTo(filer);
    

    以上就是android端游戏陪玩系统源码,在陪玩APP开发系统自动化代码实践中的介绍,详细介绍了关于陪玩系统自动化的控制、注解等详细步骤,后续还会更新更多关于开发陪玩系统的介绍,关注本博主,了解最新的陪玩系统开发介绍。
    声明:本篇文章为原创文章,转载请注明出处及作者。

    展开全文
  • Windows App开发之开发准备

    千次阅读 2015-07-17 07:26:28
    操作系统及SDK操作系统显而易见,想要开发Windows App就得在Windows 8/8.1/10上进行,老旧的Windows XP/Vista/7已经不能满足时代的需要了。当然,在Windows App的发展过程中,其本身也有着较大的变动,为了使用新的...

    操作系统及SDK

    操作系统

    显而易见,想要开发Windows App就得在Windows 8/8.1/10上进行,老旧的Windows XP/Vista/7已经不能满足时代的需要了。当然,在Windows App的发展过程中,其本身也有着较大的变动,为了使用新的特性,建议使用Windows 10。我在写这个教程时,Windows 10正式版并未面世,因此暂时未介绍Windows 10上的新特性,随后会继续更新,欢迎您的继续关注。

    操作系统除了在官网下载之外,还可以在DreamSpark等地方下载。DreamSpark上除了Office其他微软操作系统、开发工具及其他软件对学生均免费开放。

    Visual Studio

    Visual Studio系列作为地球上最强大的IDE,学习Windows App开发自然也是少不了的。

    另外由于这个博客系列主要方向是Windows App(以往称为Universal Windows App,简称UWA),所以我用的SDK依然是预览版——Visual Studio 2015 Preview [CTP 6]

    安装疑难

    安装Visual Studio 2013/2015 出现蓝屏时,将网卡驱动卸载掉重新安装即可,这种情况尤其出现在Visual Studio 2013早先版本以及用校园电信网的情况下。

    大家如果遇到什么问题,找到或未找到解决方案时都可以邮件给我,我将更新到此处。我的邮箱是nomasp@outlook.com。

    Windows App简介

    C#

    C#是微软主推的编程语言,也是Windows App最合适的开发语言,因此本教程统一用C#来讲解。

    开发Windows App,可以用Windows XAML(C#、C++和VB)、WinJS(HTML+JavaScript)、DirectX(C++)等组合。而Silverlight(C#和VB)是WP所独有的,Silverlight已经基本被淘汰,建议大家用C#+XAML来进行开发,在游戏开发和图像处理方面,C++则更有优势。

    XAML

    Extensible Application Markup Language(简称XAML,发音为Zamel)是WPF的一部分,其语法类似于HTML,它们都是“标记语言”。我是先学的XAML后学的HTML,一开始还很喜欢这种语言——它没有一大堆的“;”。XAML本质上属于一种.NET编程语言,属于公共语言运行时(Common Language Runtime,简称CLR)。

    看到很多的教程等上都在一开始便讲解了xmlns等命名空间,我觉得这样不太合适,毕竟现在根本用不到,因此也记不住,等到需要的时候自然会印象深刻。

    通用应用

    其实我觉得“通用应用“这个名字显然更加合适,更加侧重”通用“的特点。其能够在所有的Windows平台上运行,不仅仅是PC、平板、手机,甚至还有Xbox。能够在多个平台共享大部分的代码,使其能够一次开发,在多平台运行。

    虽然跨平台大家都在做,但通用应用这个概念我还是挺看好的。此前一直有Windows 10要兼容安卓应用的传闻,在微软2015 Build大会上,微软宣布的则是通过将安卓应用极为方便快速地移植到Windows平台,虽然这样一来由于应用设计风格的巨大差异会特色渐消。此外Windows 10的免费升级计划是否能通过桌面版带动移动版的发展,让我们拭目以待吧。

    动手创建第一个应用

    新建工程

    这里写图片描述

    如果不是装的固态那么安装的过程会是非常漫长的,请大家耐心等待。装好之后就可以开工啦。

    Ctrl+Shift+N直接呼出新建项目窗口。

    这里写图片描述

    新建完成后再解决方案管理器中会是如下界面:

    这里写图片描述

    如果没有显示出解决方案管理器,可以按Ctrl+W,S。或者也可以在最上面的工具栏中点击视图(View)。在Solution ‘WindowsApp1’上右键可以继续再创建第二个项目。

    如图中所示,共有3个部分:
    1)WindowsApp1.Windows (Windows 8.1)
    2)WindowsApp1.WindowsPhone (Windows Phone 8.1)
    显然这两个分别是Windows应用中的Windows 8.1 和Windows Phone 8.1部分。其下又有:
    Properties:应用相关的一些版本号等。
    References:引用,主要是用来引用第三方的东东,比如广告啦。
    Assets:可以将App所用到的素材资源等放在这个文件夹中。
    MainPage.xaml:XAML代码就是在这里写的哦,C#代码需要在点击MainPage.xaml左边的三角形后出现的MainPage.xaml.cs文件中写。
    Package.appxmanifest:应用包的一些清单,后面用到的时候再细讲啦。
    剩下一个就是相关的证书了。
    3)WindowsApp1.Shared
    这个就是Windows App(通用应用)的精髓啦,比如可以把类、资源文件等放在这里啦。

    调试程序

    这里写图片描述

    在这里可以设置调试Windows 8.1应用还是Windows Phone 8.1应用。

    设置启动项

    这里写图片描述

    在这里可以选择在本机调试或者虚拟机中调试。

    动手操作

    在MainPage.xaml中写下以下代码:

    
    <Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
        <TextBlock Name="tblock" Text="" FontSize="50" Foreground="Red"  Margin="173,78,940,498"/>    
        <Button Name="btn" Content="显示名字" Click="btn_Click" Width="155" FontSize="25" Height="90" Margin="170,286,0,392"/>  
    </Grid>
    

    只用到了两个TextBlock和Button两个控件,其中的属性:
    Name:控件的名字
    Text:TextBlock控件显示的文本
    FontSize:字体
    Width和Height:宽和高
    Margin:边距,具体用法在后面的博客中会有介绍
    Content:内容,此时会显示在Button控件上
    Foreground:字体颜色

    还有一个事件:
    Click:点击事件

    用鼠标双击btn_Click后按F12可以快速在C#文件中生成相应的函数。

    这里写图片描述

    然后本地计算机或虚拟机上调试就可以啦。

    这里写图片描述

    Visual Studio使用小技巧

    行号

    我看到蛮多童鞋的VS都没有开启行号,而能够看到自己写了多少行代码,无疑会让自己更加有成就感。

    点击工具栏上的”工具(Tools)“,然后再点击”选项(Options)“,点开”文本编辑器(Text Editor)“,选择”所有语言(All Language)”,勾上行号即可。

    快捷键

    自动对齐:Ctrl+K,Ctrl+F
    注释代码:Ctrl+E,Ctrl+C
    (或:Ctrl+K,Ctrl+C)
    清除代码注释:Ctrl+E,Ctrl+U
    (或:Ctrl+K,Ctrl+U)

    视图

    1)学习开发时,视图中的“对象浏览器”是非常有用的。
    2)可以将工具箱中的控件直接拉入MainPage.xaml的设计器中。这也就是传说中的“所见即所得”。
    3)属性,点击一个空间后点击属性视图,可以设置其的属性和事件。

    这里写图片描述

    设计器

    将鼠标指针放到设计器中,按住Ctrl键,然后用鼠标滚轮滑动即可放大或缩小中的视图。

    鼠标滚轮前后滚动时,设计器中的窗口会上下移动,如果按住Shift则会左右移动。

    同样也是将鼠标指针放到设计器中,安装Space(也就是空格)键,指针会变成一个小手,这时可以移动设计器。

    大家若有更多建议,欢迎邮件我。

    展开全文
  • uniapp最大的优势就是整合7端开发规范在一起,配合Vue让前端开发人员可以开发出“具有基本功能”的APP(对比flutter来说,uniapp对前端更友好),可以快速开发多端应用。一次编译,多端运行。 接口丰富。DCloud有h5 ...

    🌞个人体会

    • 开发快速。uniapp最大的优势就是整合7端开发规范在一起,配合Vue让前端开发人员可以开发出“具有基本功能”的APP(对比flutter来说,uniapp对前端更友好),可以快速开发多端应用。一次编译,多端运行。
    • 接口丰富。DCloud有h5 app经验,同时这部分的API也开放给uniapp可以直接调用,调用的时候同样也是用js引擎调用原生API。很多东西开箱即用,微信支付,消息推送等等。
    • 过于全面。一般项目不需要7端都需要,但是官方必须考虑7端,所以很多东西必须用条件编译区分平台来做。
    • 由于需要适配小程序,提升h5的性能,uniapp屏蔽了dom,规定了自己的规范,使用官方提供的方法可以选择节点,因此市面上的dom操作相关的库都不能使用。复杂特效只能用CSS配合官方接口和vue动态数据绑定来做。个人觉得做复杂动效需要费点时间。
    • 虽然,uniapp是跨7端,但是跨越多的端,由于每种平台上规范不同,即使uniapp尽量统一这些不同的规范,但是仍然需要根据不同平台进行处理,就像排列组合一样,每多一种平台,不是单单的复杂加一,而是复杂加一倍。适合只做一种平台类型软件,但是没有对应平台软件开发工程师,可以跨语言障碍,仅此而已。而不是支持7端,就去做7端。
    • 实际上,很多时候不需要开发出可以运行7、8端运行的程序,况且大部分产品也是天生只适合在某种平台上运行,一味的追求一套代码运行很多的平台,很多平台特有功能或者时说是优势能力因为妥协其他平台被牺牲掉,最后就像有好多短板的木桶一样,搞的产品在哪个平台上都没有优势。还不如针对于某一端做深耕一中平台代码,让前端人员可以用前端代码跨端运行,这也许会更符合实际开发需求,

    🌞开发规范

    • 组件不能使用纯HTML标签,不能用js对dom进行操作
    • 接口能力靠近微信小程序规范,数据绑定方式靠近Vue规范,同时补充了APP和页面的生命周期
    • 为了兼容多端运行,建议使用flex布局,配合upx使用
    • 高版本安卓APP发送request请求必须使用https
    • 微信小程序request请求也需要https,同时在小程序管理员后台配置可进行request请求的域名白名单。

    🌞概念解释

    • 很多概念不理解清楚,出现问题都不知道去哪里去找。🐶
    1. HTML5Plus(h5+/HTML5+):
    2. 5+ Runtime:
    3. 5+ SDK:HTML5+ 的SDK,是把5+ runtime封装为原生SDK,它有3个用途。
      1. 使用HTML5+ SDK实现本地打包。
      2. 通过原生代码扩展HTML5+ runtime的功能。
      3. 在现有原生项目中使用HTML5+ SDK替换原有的webview,以获得更强的web增强表现。
      4. uni-app项目做app时,也使用该sdk。
    4. Native.js:Native.js技术,简称NJS,是一种将手机操作系统的原生对象转义,映射为JS对象,在JS里编写原生代码的技术。Native.js的运行环境是集成在5+runtime里的,使用HBuilder打包的app或流应用都可以直接使用Native.js。NJS是直接调用Native API,需要对Native API有一定了解,知道所需要的功能调用了哪些原生API,能看懂原生代码并参考原生代码修改为JS代码。否则只能直接copy别人写好的NJS代码,Native API具有平台依赖性,所以需要通过plus.os.name判断当前的运行平台。
    5. 5+APP:HTML5 Plus移动App,简称5+App,是一种基于HTML、JS、CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实现与原生App同样强大的功能和性能。
    6. HTML5+ 应用架构:HTML5+ 应用架构
    7. MUI:

    mui是一个前端框架,HTML5+是一套HTML5能力扩展规范,HTML5+ Runtime是实现HTML5+规范的强化浏览器引擎。
    有点类似于bootstrap、w3c和chrome os的关系。
    HTML5+规范隶属于http://www.html5plus.org,定义了HTML5规范中没有但开发者做App需要的扩展规范。
    DCloud的5+ Runtime完整的实现了HTML5+规范。同时5+ Runtime还实现了Native.js,一种通过js调用几十万原生API的技术。

    1. nvue:
    2. native.js:
    3. week:

    🌞IDE配置,日常开发调试技巧

    1. 安装插件,不要忘记安装使用到的插件,less/sass编译插件,ES6转换插件,升级开发IDE(HBuilderX)时,使用新版本解压包文件夹覆盖原来软件目录,这样以前安装的插件可以继续使用。

    2. 开发调试:开发时,一般情况下,推荐使用H5端(运行->运行到浏览器)进行基础页面制作和页面布局(注意各端页面制作时,使用的技术是否都支持,否则H5上运行正常,换到小程序或者APP端出错),使用微信小程序进行数据交互和接口调试(自己感觉数据处理和接口调试方面微信小程序和APP端比较相似,诸如HTTPS要求),然后根据实际情况,根据各端特色功能和能力进行针对性的调试。比如:

      1. 动画的创建:所有端:css内可以使用transition和animation、非H5端:可以使用uni.createAnimation接口、H5端:可以使用transition组件
      2. APP可以调用的传感器H5端和微信小程序不可以,比如方向、设备信息的获取,而且位置的获取h5端(谷歌浏览器上)需要连接谷歌服务器。
    3. App端提供真机运行的console.log日志输出,运行到真机或模拟器时,会在HBuilderX的控制台输出日志。注意无法输出对象,需要把对象转字符串后输出。

    4. 调试时自定义重启首先展示的页面,调试时,可能正在做的页面需要从首页进行多次跳转才能打开,但是每次改动代码就会重新启动应用程序,可以在page.json里面配置。page.json

    5. 切换git分支之后,重新打开HBuilderX所有标签页,因为编辑器内容可能没有自动更新!

    6. 【自定义基座使用】:自定义基座在调试第三方服务的时候非常有必要,默认情况下,直接开启开发者调试连接真机,运行程序,这时候使用的是HBuilderX自带的基座。我的理解是:基座,顾名思义就是平台,也可以理解成调试时候APP运行的手机环境,因为在调试的过程中,如果每次修改代码,想要查看结果就去重新打包安装,就太麻烦了。基座就是保证了基础配置的运行环境,然后每次改动了代码,IDE只会把改动的部分文件编译传输到真机上面,配合基座运行。因此需要如果需要查看第三方服务配置效果,必须制作自定义基座

      1. 自定义基座的制作:发行 -> 原生App-云打包,勾选自定义基座,制作完成之后,会在项目的unpackage目录下面生成安装包,安装上安装包,然后再进行程序的调试就可以了。

      1. 使用自定义基座调试运行程序:
    7. **【H5端跨域】**H5页面使用浏览器调试时,提示跨域解决办法,chrome插件商店搜索安装Allow CORS开启,插件只是强制允许跨域,或者配置反向代理,如果不需要单点登录这样的需要跨域带cookies的高级需求,单纯的只是http请求,可以在本地使用nginx做代理,大致的配置:

    server {
          listen       9001;
          server_name  127.0.0.1;
    
           location /api {
                proxy_pass https://xxx.xxx.com/;
                proxy_http_version 1.1;
                add_header Access-Control-Allow-Origin http://127.0.0.1:9000;
                add_header Access-Control-Allow-Methods "GET, PUT, POST, DELETE, HEAD, OPTIONS";
                add_header Access-Control-Allow-Headers "Content-Type,*";
                add_header Access-Control-Allow-Credentials true;
           }
            location /authsystem {
                proxy_pass http://**.*.**.**:10011/;
            }
        }
    

    用nginx做端口转发,因为调试的时候HBuilderX运行程序在9000端口上面,所以Nginx不能监听9000端口,只能在nginx和前端程序之间再次跨域,但是可以在nginx上面设置想要设置的所有参数,nginx再向后端服务器接口请求,就可以了。但是这种方法是不推荐的,太过繁琐,开发调试要启动这个,启动那个,还要看端口占用情况,也可能是我没有配置好,反正就是不好用。

    还有一种方法是最好的,就是uniapp的manifest.json中有反向代理的配置选项,可以直接配置的(ps:官方没有提,不知道为什么),在manifest.json文件中的h5 -> devServer中增加proxy选项,其实和Vue配置是一样的,大致如下:

    "proxy": {
        "/api": {
          "target": "https://xxx.xxx.com/",
          "changeOrigin": true,
          "ws": true,
          "pathRewrite": {
            "^/api": ""
          }
        },
        "/authsystem": {
          "target": "http://**.*.**.**:10011/",
          "changeOrigin": true,
          "ws": true,
          "pathRewrite": {
            "^/authsystem": ""
          }
        }
      }
    
    1. 手机设置正确,HBuilderX监测不到手机:ios系统,iTunes12.1起更改了接口,会造成无法连接,下载安装最新版itools,重启HBuilderX软件
    2. 调试的时候看到控制台报错,提示按某个快捷键跳转到报错的位置,如果你按键没有反应,去工具 -> 预设快捷键方案切换中切换为HBuilderX,插件提示的快捷键按法是HBuilderX的按键方案。

    切换按键方案

    🌞版本管理需要注意的事项

    1. .gitignore文件添加那些目录?

    代码源文件不用考虑,肯定全部要进行代码版本管理,node_modules肯定要忽略,剩余的就是unpackage下的文件,unpackage文件夹下面主要有几类:

    1. debug目录下存放的是“自定义基座”打包文件,什么是自定义基座,点我,文件较大,但是多人协作开发,需要将自定义基座进行统一,刚开始采用的方法就是在git里面进行版本管理,但是后来发现文件太大,可以将文件上传到远程服务器上面,在git里面维护一份文件的远程地址就可以了。
    2. dist下是临时编译文件,不需要进行版本管理,不同开发人员,使用相同版本的IDE,代码相同,自然编译文件就不需要。
    3. res目录下icon中的文件,是APP的不同大小的图标,可以在manifest.json中修改,这些文件需要进行版本管理。

    🌞部署和打包

    1. 关于 uni-app 项目的 app 打包
    2. Android签名证书生成
    3. iOS证书(.p12)和描述文件(.mobileprovision)申请
    4. 01.png
      1. 解决办法:删除C:\Users\用户下的android.keystore文件,重新运行命令keytool -genkey -alias android.keystore -keyalg RSA -validity 36500 -keystore android.keystore进行密钥文件的生成。
      2. 运行keytool -list -v -keystore android.keystore查看证书信息
    5. 重新生成证书之后不要忘记,哪里使用过证书加密证书的地方,不要忘记更改安全码比如“高德地图”的应用管理里面key的创建,需要配置证书,重新生成了新的证书需要把安全码重新去开发者中心的控制台去配置一下。
    6. Hbuilder用自有证书打包 ios App上架AppStore流程
    7. H5打包出来的文件资源引用地址默认是在根目录,也就是说打包出来的资源文件必须放在网站的根目录,不然就找不到资源。,可以在打包之前,在manifest.json文件中配置“运行基础路径”,比如想要放在host:port/mobile/路径下面,需要如下图所示的配置:

    🌞static目录下的静态文件的放置问题

    • static目录下的文件不会被编译,需要编译的文件不要放在这个目录下面

    • static目录下的文件使用时官方推荐使用绝对路径。

    • uni-app静态文件中的资源支持条件编译的,编译时,会根据资源所在文件夹的不同选择是否编译在不同的端上面,所以如果不是非常必要,不要使用这些文件夹,否则提示找不到资源,会一头雾水。。🙃

    • APP端编译使用本地图片,其余客户端(H5、微信小程序等)使用远程地址图片:

      • 将图片或者其他静态资源放置到远程目录中,图片的远程地址上的相对路径和本地路径相同
      • 为配置全局变量$base.staticUrl为路径地址,配合条件编译//ifdefifndef,设置如果是APP端使用本地路径,如果是其他就用配置的远程地址host。
      • 同时将本地的图片放置在static/app-plus下面,让图片只在APP端编译,防止微信小程序端因为图片过多造成代码包过大。
      • 使用时在<script></script>中使用直接用配置的全局变量就行,但是在<template></template>中使用时,需要在data(){}里面定义一个变量,接收staticUrl: this.$base.staticUrl

    🌞分包加载

    官网说明

    • 注意不要把tabbar页面从pages中分出去,而且要注意page.json中的pages数组中的第一项是应用启动后展示的第一页,如果你想把某个页面放在应用启动之后用户首先看到的页面,不要把它从pages中分离出去。
    • 如何配置官网上说的很明白了,有一点要注意的就是,配置完配置文件之后,需要把整个项目中分出的包的页面路径修改,这些页面分出包之后,页面路径也变了,会找不到页面。

    🌞页面路由

    • 所有页面(希望被直接以URI访问到的视图,只是被引入的组件不需要)都要在pages.json中配置,可以配置页面路径和其他的参数(比如页面是否需要下拉刷新),具体配置参照uni-app官网-页面配置

    🌞条件编译

    1. 针对于微信小程序中特有API(如微信运动)和APP特有API(方向传感器)进行选择性编译
    2. Android 和 iOS 平台不支持通过条件编译来区分,如果需要区分 Android、iOS 平台,可以通过调用 uni.getSystemInfo 来获取平台信息。
    3. 除了在一个文件内写条件编译代码,还可以在 uni-app 的 platforms 目录下新建不同平台的专用目录(目录名称同 %PLATFORM% 值域),专用目录下的文件只在有特定平台才会编译进去。

    🌞外部字体使用

    1. 确认要使用的字体有版权。

    2. 搜索下载字体.ttf格式文件,字体下载网

    3. 将字体转换成base64格式,https://www.giftofspeed.com/base64-encoder/

    4. 创建存放base64文件的css。

    5. App.vue文件中将css文件引入,@import '@/style/fonts/DINAlternateBold.css';

    6. 在用到字体的地方直接使用即可。

      .text {
        font-family: 'DINAlternateBold';
      }
      

    如果转换之后的base64,过大,导致css文件大小在可接受的范围之外,可以选择使用字蛛进行字体简化一下处理,具体教程,可以查看我的这篇文章:关于使用外部字体

    🌞单点登录微信小程序问题

    在微信小程序中,登录接口返回的Response-Headers中的set-cookie不能被自动设置,导致登录接口调用成功,但是cookie没有设置成功,下次请求时,校验还是不通过,服务器重新返回新的cookie,周而复始。解决该问题,需要手动存储cookie,并在以后的请求中携带上

      uni.setStorageSync('COOKIES', res.header['Set-Cookie'])
    

    🌞图片使用

    1. 使用css,设置区域的图片背景不能使用本地静态图片,h5上可以正常使用,app和微信小程序不可以。但是只能使用线上地址,或者尝试使用<image>标签代替示例

    🌞父子组件的使用

    1. 使用组件,在父组件使用的地方不能再给组件的标签加上class,否则样式设置不成功。同时在引用的子组件标签上面添加style属性添加样式也是不生效的。
      uni-app官网说明
      比如:示例
      示例
      这时,使用css修改样式就不成功。特别注意:v-show在非H5端也是不可以使用的

    🌞npm安装第三方包

    1. 新版的uni-app支持直接安装引入第三方的npm包,需要遵循两个规则,安装的node_modules目录在项目的根目录才能找得到
    2. 可以使用import package from 'packageName'const package = require('packageName')两种方式,如果用import不行就确认一下是否安装了ES6编译插件,如果安装还是引不到包,就用require吧。
    3. 不支持 node相关插件和含有dom操作的插件,有些像animejs、swiper这样的操作dom的package就不能用
    4. 非 H5 端,不能使用浏览器自带对象,比如 document、window、localstorage、cookie 等,更不能使用 jquery 等依赖这些浏览器对象的框架。因为各家小程序快应用都不支持这些对象。
    5. uni-app 的 tag 同小程序的 tag,和 HTML 的 tag 不一样,比如 div 要改成 viewspan 要改成 texta 要改成 navigator

    🌞CSS样式相关

    1. APP.vuepage 可以设置全局页面的样式,如果想在当个页面覆盖的话,直接另起一个style 加入page便可覆盖

    🌞upx使用

    1. 转换方式,详见uni-app开发APP之px与upx转换
    2. <template></template>中的动态绑定的:style中不可以直接使用upx单位,需要使用官方给出的转换方法,通过动态属性的方式转换为px使用,比如:

    现已替换为rpx,具体见文档

    🌞Vue.js支持度相关

    1. 受限部分仅在App和小程序端受限,H5版不受限
    2. uni-app除了支持Vue实例的生命周期,还支持应用启动、页面显示等生命周期
    3. 非H5端不支持在 template 内使用 methods 中的函数。因此,除了h5端之外,计算属性都不能为计算属性传参,不管是通过闭包还是通过使用传参方法。
    4. 这种使用方式是不生效的,解决办法:根据实际业务避免这种情况出现🐸
    5. 不支持过滤器:编译到 App 和小程序平台时不支持使用过滤器,可以使用计算属性computed提前计算出数据(如果是数组类型,就提前计算整个数组),用以代替过滤器。
    6. uni-app的非H5端里所有的 BOM/DOM 都不能用,也就是说 v-html 指令不能用
    7. 非H5端无法支持复杂的 JavaScript 表达式。
    8. 非H5端不支持Slot

    🌞uni-app组件使用

    1. 与自定义组件不一样,官方的组件上可以直接添加class进行样式的控制

    2. 有的组件支持使用:value=""来双向绑定数据,比如picker, 有的不支持,需要触发函数执行,把值取除来,比如textarea,可以使用@blur="bindTextAreaBlur"监测当组件失去焦点的时候再将值取出来,使用时需要仔细对照官方文档。

    3. 组件不能使用onReady、onLoad等方法,可以使用vue的mounted和created

    4. 全局组件注册:uni-app 支持配置全局组件,需在 main.js 里进行全局注册,注册后就可在所有页面里使用该组件。

      import Vue from 'vue'
      import pageHead from './components/page-head.vue'
      Vue.component('page-head',pageHead)
      

      注意:不支持使用 Vue.use 的方式注册全局组件(只能在main.js使用Vue.component的方式引入)

    5. 关于uni-app生命周期与Vue.js生命周期可以查看这篇文章 uni-app生命周期与Vue.js生命周期

    🌞导航栏开发

    1. uni-app导航栏开发指南

    🌞全局变量的定义

    1. uni-app 全局变量的几种实现方式

    🌞兼容性问题

    1. 关于手机webview内核、默认浏览器、HBuilder边改边看浏览器的区别和兼容性

    🌞自定义基座

    1. 非自定义基座默认使用官方自带的一些key,比如高德地图,要想看到自己配置的一些第三方服务是否集成进来,需要制作自定义基座,否则即使在配置文件里面把第三方key配置上了,运行调试的时候也不会使用。

    🌞IDE更新与自定义基座版本问题

    • 每次IDE更新之后,如果继续使用原来的“自定义基座”,真机调试时,会出现弹窗提示自定义基座版本过低,这时需要重新提交制作自定义基座,重新安装在调试的真机上面。
    • 每次官方更新IDE之后,需要使用更新后的IDE重新打包基座,打包完成之后需要卸载真机上已安装的基座,然后安装新打包的基座。如果安装后还是提示SDK版本过低,可以重新向云端提交打包,重新尝试安装。
    • 切换分支之后,不要忘了把unpackage/debug/目录下的自定义基座更换为对应分支项目的,如果该目录下为空,HBuilderX默认使用官方基座,如果用的是其他分支的基座也会直接安装其他分支基座,就会出现错误。。

    🌞WebSocket

    1. uni websocket 跨窗口应用

    🌞消息推送相关(个推)

    1. 个推的消息推送,为了提升性能,官方建议使用特定用户推送,推送流程为:客户端获取用户cid --> 发送cid到服务器 --> 服务器根据用户cid列表调用个推 --> 个推进行推送
    2. 客户端上会在每次应用启动时(使用应用生命周期)对服务器进行cid的推送,推送的时候附带设备唯一标识

    🌞消息推送相关(uniPush)

    🌞地图使用相关

    1. 使用uni.createMapContext('map1', this).$getAppMap()获取原生地图组件
      1. 微信小程序上不可以使用,H5中使用也会出现异常,至今没有找到原因,如果必须要进行高级操作,可以直接使用原生map组件。相关链接https://ask.dcloud.net.cn/question/69636
      2. 或者微信小程序上使用地图服务商提供的微信小程序SDK,附带一下高级应用需求,比如高德地图的SDK,相关链接https://ask.dcloud.net.cn/article/35070
        1. 使用高德地图API注意:要把https://restapi.amap.com添加进微信小程序安全域名,而且要注意调用API的时候不要传错参数类型,比如latitudelongitudestring类型,如果传错,微信开发者工具不会报错,真机调试会有问题,很难排错。
      3. APP端使用的时候注意在组件里面使用还是在页面上使用,组件中必须在mounted中使用,因为组件没有onReady页面生命周期,在页面中onReady中使用。报错找不到$getAppMap方法,可以看一下manifest.json中是不是在app-plus下配置了自定义组件模式开启,要看源码模式,有时候界面模式勾选了,源码模式没有加上,需要手动添加。如果还是没有,新建一个自定义组件模式的项目,测试一下,高版本的IDE新建uni-app项目默认使用的是自定义组件模式,把页面放在新建的项目里面,尝试一下。
    2. 地图上的控件(control)和标记(marker)不可以使用svg格式。在<script></script>内,文件的路径可以使用/表示项目的根目录,否则可以用相对路径。

    🌞Vuex使用

    1. uni-app 全局变量的几种实现方式
    2. 注意:uni-app中this. s t o r e 为 u n d e f i n d , 必 须 要 在 m a i n . j s 中 加 入 代 码 : ‘ V u e . p r o t o t y p e . store为undefind ,必须要在main.js中加入代码:`Vue.prototype. storeundefind,main.jsVue.prototype.store = store`
    3. state的使用和在组件中监听其变化:
      1. 需求:需要一个state,将其命名为isSos用来放置“是否发生报警信息”的状态,如果发生状态,会在App.vue中将状态改变为true,需要在index.vue中捕获到状态的变化,弹出提示。
      2. 实现方法:
        1. 添加一个Vuex状态管理,添加state叫做isSos
        2. 在main.js里面注册使用。
        3. 在App.vue中尝试改变isSos
        4. 看是否能在index.vue中实时监听到变化。
        5. 执行结果:

    🌞webview相关

    1. 小程序和H5只支持加载网络网页,不支持本地网页。APP平台支持本地和网络网页,但本地网页及相关资源(js、css等文件)必须放在 uni-app 项目根目录->hybrid->html 文件夹下,如下为一个加载本地网页的uni-app项目文件目录示例:
      	┌─components           
      	├─hybrid              
      	│  └─html
      	│     ├─css
      	│     │  └─test.css
      	│     ├─img
      	│     │  └─icon.png
      	│     ├─js
      	│     │  └─test.js
      	│     └─local.html
      	├─pages              
      	│  └─index
      	│     └─index.vue  
      	├─static              
      	├─main.js             
      	├─App.vue              
      	├─manifest.json      
      	└─pages.json 
      
      1. webview不能调整页面大小,只能默认铺满整个页面使用
      2. <web-view> 组件所在窗口的标题,跟随页面的 <title> 值的变化而变化。
      3. 如果需要在引入的html页面中使用uni-app的API,需要引入一个js文件,并且需要等其,加载完成才能使用,官方给出了一个判断该js是否加载完成的方法,所有需要使用uni-app的API的代码必须在判断之后,执行。

    🌞uni-app动效制作

    1. H5端可以操作DOM节点,非H5端获取组件渲染的大小和位置信息可以使用节点信息APIhttps://uniapp.dcloud.io/api/ui/nodes-info,注意在渲染后获取。
    2. 使用CSS配合uni-app提供的动画API
    3. 非H5端不支持使用<transition></transition>的使用
    4. H5端不支持uni.createAnimation(OBJECT)创建动画API的使用

    🌞交互与事件处理

    1. 获取屏幕触摸位置方法,官方给出了一些和Vue.js对应的事件处理器中的事件
      1. 事件处理器
      2. 使用的时候@touchmove="touchMove",不能传参,错误写法@touchmove="touchMove(v)"参数接收

    🌞导航栏和tabbar

    APP 和小程序的导航栏和 tabbar 均是原生控件,元素区域坐标是不包含原生导航栏和 tabbar 的;而 H5 里导航栏和 tabbar 是 div 模拟实现的,所以元素坐标会包含导航栏和tabbar的高度。为了优雅的解决多端高度定位问题,uni-app 新增了2个css变量:–window-top 和 --window-bottom,这代表了页面的内容区域距离顶部和底部的距离。举个实例,如果你想在原生tabbar 上方悬浮一个菜单,之前写 bottom:0。这样的写法编译到 h5 后,这个菜单会和 tabbar 重叠,位于屏幕底部。而改为使用 bottom:var(–window-bottom),则不管在 app 下还是在h5下,这个菜单都是悬浮在 tabbar 上浮的。这就避免了写条件编译代码。当然仍然也可以使用 H5 的条件编译处理界面的不同。

    🌞Echarts使用

    • uni-app上使用的是mpvue-echarts来构建的echarts图表,和直接使用Echarts不同的是,有些官方Echarts支持的图表属性,不能在mpvue-echarts中使用。
    • Echarts横屏图表的绘制:
    • 解决页面绘制多个Echarts图表卡顿问题:按需绘制
    • 解决引入echarts.min.js后h5端出现错误t.addEventListener is not a functionhttps://ask.dcloud.net.cn/question/68559

    🌞常用工具库

    1. <scroll-view>滚动位置检测:

    🌞编译模式

    1. uni-app官方推出了一种新的编译模式自定义组件模式,不同于以往的模板模式的是,新编译模式支持更多Vue语法,但是截至写下这行文字为止【2019-05-20】,还有一些坑,还是会出现一些问题,尤其是从老的编译模式更改为新的编译模式,需要特别注意,看代码功能是否受到了影响。
    2. uni-app新老编译模式差异说明
    3. uni-app自定义组件模式开发注意事项

    🌞manifest.json配置注意事项

    1. manifest.json有两种配置方式,一种是图形界面的配置,一种是源码配置,图形界面的容易使用,但是要注意:修改配置的时候,将已经填写或者已经选中的项先取消勾选,然后再勾选其他,不要直接勾选其他,不然原先的勾选不会取消。而且,图形界面修改配置完成之后要去源码视图,看一下修改是够成功。比如:我要把原来的个推消息推送,换成unipush,我直接去勾选unipush图形界面上好像已经更改过了,但是去源码视图看一下,会发现根本没有改变,需要先把个推取消勾选,然后再勾选Dcloud UniPush才可以。

    🌞多端区别

    1. 钉钉小程序
      1. 不能直接在自定义组件上加class,比如<my-components class="main"></my-components>,这种,样式就不会生效。
      2. 如果使用less,父容器和子容器class名称也尽量不要相同。
      3. 钉钉小程序不能自定义导航栏!!!钉钉导航栏的样式需要在globalStyle -> mp-alipay里添加属性,官方文档上没有写的属性也可以试一下,有些可以生效,当时文档没有写,可以参考支付宝小程序。
      4. 注意:钉钉小程序发布之前要把安全域名配置好,发布之后配置的安全域名不生效,只能再发布一次,坑啊~
    2. Cookie设置相关:
      1. 微信小程序不能自己携带Cookies,需要手动设置,比如登录token放在Cookie中的场景要重点注意。
      2. 钉钉小程序响应的Set-Cookie是个数组!!用的时候需要注意
      3. H5可以自动根据响应的Set-Cookie设置Cookie,下次请求的时候就会在request的header中带上,不可以手动设置
      4. 设置Cookie的时候要配合条件编译进行多平台适配。
    3. H5:
    4. 微信小程序:
      1. 使用getImageInfo失败 getImageInfo:fail invalid
        1. 没有在微信开放平台配置downloadFile域名白名单,需要域名使用https
        2. 可能使用了不支持的图片格式,比如svg
    5. 支付宝小程序:
      1. uniapp编译到支付宝小程序,将所有图片都编译成了背景图,给样式写宽高不生效,需要手动添加background-size: 100%;
      2. <image></image>标签中src属性,支付宝小程序不支持相对路径写法,需要使用绝对路径替代。如/static/t.jpg
      3. 关于支付宝小程序登录部分,如果获取用户信息,使用nickName时,不要忘了考虑支付宝昵称没有设置的情况,此时,调用获取用户接口获取到的用户信息里面不包含nickName这个字段。

    🌞第三方统计

    1. uni统计
    2. 友盟:
      1. 文档:https://developer.umeng.com/docs/147615/detail/147619#h1-sdk-11
      2. 接入教程:https://github.com/umeng/mp-demos/tree/master/uniapp

    🌞网络请求

    1. 最好所有的网络请求接口使用https,高版本Android(9.0+)、ios和微信小程序都强制使用https

    🌞APP版本检查及更新

    1. 资料:
      1. uni-app 升级检测
      2. uni-app 资源在线更新
      3. H5+混合移动app应用开发–app升级
    2. 整包升级监测逻辑:
      1. 新版本代码准备发布的时候,不要忘记在manifest.json中修改新的版本号,客户端监测的时候用的到。
      2. 打包发布上传到包管理平台,包管理平台将版本号和安装包的其他信息(安装包大小、安装平台、是更新包还是整包,上传时间、扩展名、服务器存放路径、项目名、版本号。。。)存储在数据库中。同时将安装包文件存放在服务器上面。
      3. 客户端通过plus.runtime.version获取当前安装的版本号,连同project(项目名,安装包管理平台是多项目一起管理的)和platform(安装平台)数据一起发送给后端。
      4. 后端接收版本号、项目名、安装平台,去数据库中查找对应项目的安装平台中是否有更新的安装包存在,如果有多个更新的版本号,返回最新的一个版本号。返回安装包下载链接,同时返回的还有“更新内容描述”和“是否有新版本安装包存在”等信息。
      5. 客户端接收到返回数据,如果有新版本,提示用户打开下载链接,进行安装包的下载。如果没有新版本,提示用户没有更新的版本,当前版本已是最新。
    3. Android升级监测下载升级包升级
    4. IOS使用wgt升级包后台静默升级
    5. 微信小程序升级
    6. 注意事项:
      1. 上架审核期间不要弹出热更新提示
      2. 热更新内容使用https下载

    🌞Android Studio模拟器

    1. adb常见问题:
    2. could not read ok from ADB Server * failed to start daemon * error: cannot connect to daemon:adb的端口(5037)被占用了,netstat -ano | findstr “5037”,tasklist | findstr “8516”,任务管理器杀死该进程,通常有豌豆荚,360手机助手之类的软件。
    3. 模拟器中浏览器不可以使用域名访问网站,但是可以通过IP访问网站,需要配置DNS,使用命令交互方式 adb shell相关链接

    🌞多人协作开发和多项目切换问题

    1. 多人协作
      1. 各种账号的协作开发账号添加:根据实际开发需求,包括但不限于:
        1. 微信小程序账号上的项目成员管理
        2. 个推消息推送账号子账号
        3. 高德地图Key,APP端用、微信小程序SDK的key
        4. 腾讯地图Key,H5和微信小程序用
      2. 应用的各种密钥文件:
        1. 安卓证书
        2. ios证书
    2. 多项目切换
      1. 项目使用的平台账号
        1. uniapp的AppID,重新获取
        2. 微信小程序,一个APPID只能有一个小程序,其他小程序,根据具体情况
        3. APP端的签名证书建议一个项目一套,经测试,使用同一套安卓签名证书,在一个设备上安装应用的时候,不同项目会当做同一个应用被覆盖安装。
          1. 重新生成签名证书
        4. 其他第三方服务项目id和key,重新申请一套

    🌞其他

    1. 社区里面的插件可以轻度使用,一个页面中大量的使用,使用v-for循环或者渲染的数量多了以后页面就会卡顿,性能很差,原生插件的性能要优于第三方插件。想要解决还是需要根据实际需求自己封装,避免封装的组件中引用过多其他组件,避免组件中使用过多复杂运算,阻塞页面的渲染。比如,uni-list-item,超过70、80,页面就比较卡顿了。和PC端相比,APP考虑页面白屏时间,是否卡顿更加明显。
    2. 需要渲染或者处理的数据量比较大的时候,需要重点考虑页面性能,很可能
    展开全文
  • 移动手机app开发

    千次阅读 2014-12-04 22:01:46
    App开发,是指专注于手机应用软件开发与服务。 App是application的缩写,通常专指手机上的应用软件,或称手机客户端。另外目前有很多在线app开发[1] 平台,比如应用之星平台很好用。 App开发,是指专注于手机应用...

    App开发,是指专注于手机应用软件开发与服务。 Appapplication的缩写,通常专指手机上的应用软件,或称手机客户端。另外目前有很多在线app开发[1] 平台,比如应用之星平台很好用。

    App开发,是指专注于手机应用软件开发与服务。Appapplication的缩写,通常专指手机上的应用软件,或称手机客户端。苹果公司的App store开创了手机软件业发展的新篇章,使得第三方软件的提供者参与其中的积极性空前高涨。随着智能手机越发普及、用户越发依赖手机软件商店,App开发的市场需求与发展前景也逐渐蓬勃,截止到201212月,App开发已变红海。

    当然移动互联网时代是全民的移动互联网时代,是每个人的时代,也是每个企业的时代。APP便捷了每个人的生活,APP开发让每个企业都开始了移动信息化进程。

     

     

    1. 开发流程

    首先,制作一款APP,必须要有相关的idea,也就是说,第一步是APPidea形成。

    其次,就是通过那些idea来进行APP的主要功能设计以及大概界面构思和设计。

    接着是大功能模块代码编写以及大概的界面模块编写。在界面模块编写之前,开发者可以在模拟器做大的功能开发。但事实上,对于iNotes开发来说,模拟器是不够用,simulator的多触点(multi-touch)支持是非常弱的,很多touch的测试是无法在simulator做的。特别值得注意的是,在功能开发的过程中要注意内存的使用,这也是在iOS开发上最最重要的思维。

    然后把大概的界面和功能连接后,app的大致demo就出来了。值得一提的是,如果有界面设计师,就能节省大量时间。比如界面设计上,可以编写功能模块和设计师同步进行。这样appdemo出来后,基本上可以有界面可以用了。demo出来之后要自己试用和体验几遍,然后根据情况修改。APP0.8左右版本完成后可以加入production的图标和部分UI图片,如果没有大错误后,0.9版本可以尝试寻找beta用户。能够在产品设计和开发过程中,找一部分测试用户参与是非常有必要的。对他们的回馈的方法,可以在app发布后对这些用户发放免费产品。这个做法即可以提高产品质量,又可令到测试用户拿到免费的软件产品。根据测试用户的反馈,重复之前demo出来后的一系列步骤。

    最后在app完成后,加入app icon, iTunesArtwork等等UI元素。反复测试无错误后上传iTunes。之后大概要花7-14天来等候审批。

     

    2. App系统

    主流的四大APP系统:

    1、苹果ios系统版本,开发语言是Objective-C

    2、微软Windows phone7系统版本,开发语言是C#

    3、安卓Android 系统版本,开发语言是Java

    4、塞班symbian系统版本,开发语言是C++

     

    3. APP开发工具

    MOTODEV Studio for Android

    MOTODEV Studio for Android,这是基于Android的开发环境,为开发者们提供新的MOTODEV App Accelerator Program使他们可以开发出更适合摩托罗拉Android手机的应用程序。

     

    J2ME开发插件 Mobile Tools for Java

    Mobile Tools for Java (MTJ) Nokia公司开发的一款 Eclipse插件,用于支持 Java 手机应用程序开发。其前身就是大名鼎鼎的 EclipseME

     

    NOKIA手机开发包 gnokii

    gnokii 是一个NOKIA手机开发包,可支持大多数NOKIA手机的型号。功能无比强大可以修改LOGO,收发短信,拨打/接听电话,编辑铃声。甚至还可以取到对方手机的蜂窝号(Cell ID),从而起到定位的作用。

     

    apk文件修改工具 Root Tools

    RootTools是一个新的[4]Android开发者可以在这一工具软件的支持下,对.apk格式的文件进行再次修改,让程序表现更加出色,满足用户的需求。Root Tools里面自带有很多工具,比如BusyBox,它里面集成压缩了很多Linux的工具和命令,这样软件开发者在对....

     

    IDEAAndroid开发插件 idea-android

    idea-android 是在 IDEA 集成开发环境中开发 Android 应用程序的插件。

     

    Android开发工具 MOTODEV Studio

    MOTODEV Studio是摩托罗拉公司开发的 Android 应用开发工具。这是一个 Eclipse 的插件。该插件同时也提供了 JavaME 应用的开发和 WebUI 的开发功能。

     

    4. 发展背景

    200836日,苹果对外发布了针对iPhone的应用开发包(SDK),供免费下载,以便第三方应用开发人员开发针对iPhoneTouch的应用软件。这使得App开发者们从此有了直接面对用户的机会,同时也催生了国内众多APP开发商的出现。2010年,Android平台在国内手机上呈井喷态势发展,虽说Android平台的应用开发还不那么友好,但许多人仍然坚信APP开发的广阔前景。

     

    5. app数据

    1. 真实用户数:但是获取用户是推广的第一步,然后统计用户数,要注意的是,真正获取到了新的用户,另一个非常重要的数据。

    2、每周、每月活跃度:因为获得的用户数中有一部分以广告、并非主动进入的用户,并及时记录用户转化率、新手引导过程流失情况,而且活动度应该记录好周活跃、月活跃度。

    3. 日留存率、周留存率:这时以保住老客户优先,先统计,日留存率、周留存率、然后在这些用户流失之前想办法提高他们的积极性。

     

    6. APP的意义

    企业APP的意义很广泛,可以有以下几种:

    1、建立自有销售平台

    利用网站、微博、微信、移动客户端的特点,打通社会化营销渠道,提高品牌宣传的渗透度。

    2、二维码应用

    通过二维码应用,实现从线下到线上的无缝连接。

    3、建立强大的用户数据库

    通过会员制度,实现用户行为记录分析,建立用户数据库。

    4、增强数据互通,构建通讯供应链

    实现各系统的数据互通,完善通讯供应链。

    5、建立社会化营销渠道。

    微博、微信、网站、手机客户端都是社会化营销。

     

    7. 市场现状

    APP创新性开发,始终是用户的关注焦点,而商用APP客户端的开发,更得到诸多网络大亨们的一致关注与赞许。“在传统广告、传统互联网与移动互联网融为一个整体的时候,企业和用户之间将可以非常方便地建立一个良性的闭合环:看到你了解你记住你,而这正是企业营销中最为理想的状态,也是互联网最大的价值,或将成为未来的一种新趋势,影响着越来越多的用户和企业主。”

    一开始APP只是作为一种第三方应用的合作形式参与到互联网商业活动中去的,随着互联网越来越开放化,APP作为一种萌生与iphone的盈利模式开始被更多的互联网商业大亨看重,如淘宝开放平台(参考买家应用中心优秀APP:开心赚宝),腾讯的微博开发平台,百度的百度应用平台都是 APP思想的具体表现,一方面可以积聚各种不同类型的网络受众,另一方面借助APP平台获取流量,其中包括大众流量和定向流量。

      随着智能手机和iPad等移动终端设备的普及,人们逐渐习惯了使用APP客户端上网的方式,而目前国内各大电商,均拥有了自己的APP客户端,这标志着,APP客户端的商业使用,已经逐渐普及。

     

    8. 监管政策

    20121210日,工信部电信经济专家委员会秘书长陈金桥在接受媒体采访时表示:"工信部正在建立一个长效的评估体系,对智能手机应用程序、内置软件进行评估和抽查,而且相关的国家实验室和研究院都参与到其中。其次是要将第三方平台纳入管理,成立要备案,运行要监管。而且平台本身的运营也要有所要求,尤其对个人应用开发者要纳入管理体系,如做实名认证等。

     

    9. 解决方案

            1APP制作交付

            APP客户端(iOSAndroidAPP管理后台

      APP下载页面(Web/WapAPP下载对应的二维码

      APP统计平台(VIP专享)APP宣传物料(VIP专享)

      2APP下载服务

      二维码下载(名片、产品包装、官网等)

      线上推广下载(APP StoreAPP Market、百科网站)

      其他辅助下载手段(短信链接下载、微博/微信分享下载、制定APP下载激励政策)

      3APP运营服务

      APP运营网络环境(6个机房、8G带宽、29组集群服务器)

      APP运营系统环境(Unix系统、MySQL数据库、SAAS及容灾备份)

      APP升级服务(APP功能/性能升级、APP后台升级)

      APP版本升级(适配主流的操作系统、分辨率、机型)

      APP运营数据分析

     

    10. 现金流与品牌

    对于一个新创的APP开发团队,现金流尤其重要,因此不少的开发团队都以接外包案子为生,这的确是不错的收入,同时也增加了练兵的机会。但这是快钱,就是代工产业,拼到最后就是接案数以及价格,对于团队的品牌没有多大的加分,更没有留下一个属于自己的产品。开发团队应该在APP数量以及APP品牌上面下点功夫,两条线的策略,一条是以尽可能多数量的APP来开创现金流(不一定是接外包),另一条是开创自有品牌的APP,在这两者之间保持平衡,才有机会找到突破点。如何吸引用户经常性的愿意转发分享也必须纳入考虑,功能与创意都是一时的,用户活跃度才是关键。

     

    APP技术的应用

     

    .视频处理

    AMD显卡驱动中自带的ATI Video Converter便是基于APP技术的视频转码软件,ATI Video Converter并非一个完全基于GPU转码的软件,而是CPU+GPU联合转码。它能够让AMD GPUCPU共同加速,来一起完成以往仅有CPU参与的视频压缩,大大减少压缩时间。与支持NVIDIA CUDA技术的Badaboom视频压缩软件相比,ATI Video Converter拥有更好的转换效率,并支持更多的格式,最重要的是ATI Video Converter是免费的,而Badaboom是收费的。

    .物理加速

      nVIDIA公司非常成功的将PhysX物理引擎,通过CUDA技术与Geforce显卡相结合,诞生了nVIDIA PhysX物理加速技术。为了与之竞争,AMD推出了基于AMD APP技术的“开放物理计划”与之抗衡。开放物理计划联合了HavokBulletPixelux DMM三种物理引擎,基于OpenCL标准和AMD APP技术,将AMD GPU中强大的并行计算能力运用到游戏中去加速物理计算

    .科学研究

      Folding@HomeATI与斯坦福大学合作,在Folding@Home研究项目中利用ATI Radeon X1900作运算加速。这是GPU第一次用于科学研究计算。在AMD收购ATI之后,双方继续进行合作。迄今为止,全球有不计其数的AMD GPU正在基于AMD APP技术折叠蛋白质,以帮助科学家攻克人类疾病。

    展开全文
  • app开发具体需要哪些流程和周期呢?今天给大家分享一下app开发流程的6个步骤。 1、项目确定 在进行app开发前,首先就要进行内部的沟通,规划确定项目的可行性,建立app项目小组。 2、需求规划 梳理清楚用户的需求...
  • 婚庆APP开发解决方案

    千次阅读 2018-03-30 16:09:46
    分享一下英唐众创开发的婚庆APP开发解决方案。婚礼策划App开发是一款为婚礼准备的App,是年轻人婚礼的好帮手,特别是现在的80、90后的年轻人,都渴望能够有一场有个性和新意的婚礼,不仅是一场仪式,更是一段记忆。...
  • 这段时间以来,小编不管走到哪里都会有很多人关注棋牌app的广告,甚至是走在大马路上都有人要我扫码,而现在棋牌app有很多,那么一款棋牌游戏app被成功开发需要具备这些特点?现在就和南京软件开发公司软世通小编来...
  • iOS 开发之实现 App 消息推送(最新)

    万次阅读 多人点赞 2014-11-19 21:13:10
    今天就由本菜鸟给大家一个简单的IOSApp消息推送教程吧!一切从0开始,包括XCode6, IOS8, 以及苹果开发者中心最新如何注册应用,申请证书以及下载配置概要文件,相信很多刚开始接触ios的人会很想了解一下。(ps:...
  • 压缩包内有五个文件夹,分别对应五个从易到难的实验,最后实现完整的flappy bird小游戏
  • app开发运营流程

    千次阅读 2016-06-21 07:41:40
    传统的个人开发者,要想开发出一个完美的APP要经过以下几个过程:搭建开发环境,写代码,写统计系统,开发即将完成后,要购买服务器,然后把程序布置到服务器上进行测试,接着是对APP做手机适配性测试,需要借很多...
  • 棋牌app开发需要多少钱

    万次阅读 2019-03-08 16:38:15
     找一家棋牌游戏开发公司,根据自己对游戏市场的了解,一款能满足用户需求的产品,价格参考市场的  行情,价格的话一般根据需求几千到几十万不等.  二:注册网站域名和服务器  投资商可以挺过去注册网站域名,...
  • 2048游戏APP源码

    2020-02-20 13:34:31
    个人开发的2048小游戏APP。在原生的2048游戏场景基础上,加入了多种道具,增强了游戏可玩度。代码使用Eclipse开发,欢迎下载。
  • 安卓开发中的一个小作业,初步认识手机移动开发了一个小游戏,中国古老游戏之一华容道。
  • Hybrid App开发 四大主流平台

    万次阅读 2018-12-11 16:31:22
    是选择学习原生开发,研究Java、 Object-C、C#等语言,还是选择继续使用网页开发,容忍HTML5功能的局限性?就在开发者左右为难的情况下Hybrid App作为一个折中的解决方案诞生了。那么究竟什么才是Hybrid App呢? ...
  • 全书由三位app inventor中文网资深版主撰写,主要内容包括:app inventor 2入门、app inventor 2开发基础要素、多媒体应用、传感器和蓝牙应用、动画游戏应用、网络应用、数据交互应用等。本书给出了2048、打飞机、...
  • app开发价格如何计算?

    千次阅读 2016-10-22 09:29:27
    手机app开发的价格因素是很多客户非常关心的,一般总体上是根据客户的需求和基于开发app公司的城市平均工资。       企业的手机app制作具体的费用需要视情况而定: 1、看App本身的复杂度; 需要服务器...
  • App开发需要多少费用介绍 一App类型 APP按照功能将应用分为食品生活方式运动等类型从开发的角度上来说我们能开发的App类型有如下几种: 游戏 这种类型的App开发复杂度不可同日而语可以是比较简单的可以是俄罗斯方块打...
  •  虽然现在移动APP走向陌路,但是也还算流行,截至到APP开发已经形成了常态,地摊货了。但是很多项目都是一锤子买卖,去招聘一个Android或则IOS开发都是鬼测,本钱都收不回来。  第一种:纯原生开发  开发
  • 混合app开发学习笔记

    千次阅读 2018-09-09 21:15:11
    什么是混合移动App开发【重点】 苹果上的软件是如何开发出来的:使用的是 OC、或者使用Swift这门语言 安卓平台上的软件又是如何开发出来的:使用安卓相关的语言开发的,Java,安卓的控件进行开发 苹果和安卓平台上...
  • 手机APP开发的盈利模式有哪些

    千次阅读 2015-04-30 14:13:18
    纵观如今的手机APP开发市场,主要还是以游戏APP和普通的手机应用软件为主。而在众多的普通APP应用程序中又包含了如品牌类APP、工具类APP、书籍类软件、和多媒体类手机软件等。那么众多的APP 应用软件又是如何盈利的...
  • 随着移动互联网的兴起,各行各业对移动应用的需求越来越大,从事APP开发的人也越来越多,APP开发行业可以说是方兴未艾。APP开发是比较复杂的事情,涉及产品、美工设计、服务器端开发、Android/iOS开发、软件测试和...
  • APP开发模式通常分为Web APP与Native APP原生模式两种,这两种模式均各自有自己的优势,到底是采用Native App开发还是采用Web App开发一直是业界争论的焦点,但是随着HTML5的发展及云服务普及,采用HTML5进行Web App...
  • 用HTML5来开发一款android本地化App游戏-宝石碰碰

    万次阅读 多人点赞 2013-03-27 08:03:33
    本次来说一说如何利用lufylegend.js引擎制作一款HTML5游戏后,将其转换为android本地化的App应用,转换过程其实很简单,下面一步步来说明。首先来开发一个类似于对对碰的游戏,不过此游戏玩法为在下原创,如有雷同...
  • 很详尽完整的一份安卓象棋游戏app源码。可直接在eclipse+jdk+sdk的开发环境中运行,界面的也还不错。
  • 纵观市场上的各种游戏陪玩软件,同样是游戏陪玩app软件开发,有些是主打游戏辅助社交,有些是社交游戏各占一半,还有一些打着游戏社交的幌子,实际上的是社交交友软件,只是增加了游戏陪玩的模块而已,在游戏社交...
  • 几款移动跨平台App开发框架比较

    万次阅读 多人点赞 2019-04-03 16:34:23
    整理目前流行的跨平台WebApp开发技术的特点,仅供参考。 每个框架几乎都包含以下特性: 使用 HTML5 + CSS + JavaScript 开发; 跨平台重用代码; 丰富的UI库; 提供访问设备原生API的 JavaScript API 包装器; ...
  • 安卓APP开发发展趋势与前景

    万次阅读 2018-01-06 17:31:00
    安卓(Android)是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动终端设备,如市场上的智能手机和IPAI平板电脑,由Google公司和开放手机联盟领导及开发。...下面,小编将谈谈安卓APP开发的发展
  • 当然对于直播APP开发也是我们需要了解的。相关数据表明,目前直播APP对于电商的发展已经起到了固定的催化剂的效果,通过直播APP盈利也是各个电商平台和企业的发展方向,直播app的发展前景不容小觑。 二、直...
  • Native App开发即我们所称的传统APP开发模式(原生APP开发模式),该开发针对IOS、Android等不同的手机操作系统要采用不同的语言和框架进行开发,该模式通常是由“云服务器数据+APP应用客户端”两部份构成,APP应用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,492
精华内容 43,396
关键字:

做游戏app开发