app

Chrome调试模式获取App混合应用H5界面元素

允我心安 提交于 2020-01-29 05:05:39
原文章地址http://blog.csdn.net/qq_19636353/article/details/53731254 浏览器的远程调试工具,使得我们可以通过PC上开启的控制台,调试手机浏览器中正在运行的代码。运行于 Android 4+系统的Chrome for Android 同样也可以配合ADB(Android Debug Bridge)实现桌面远程调试。桌面版Chrome32+已经支持免安装ADB即可实现远程调试移动设备页面/WebView 。 Android远程调试目前支持所有操作系统,并且支持以下: ● 调试站点的页面 ● 调试安卓原生App中的WebView ● 实时将安卓设备的屏幕图像同步显示到开发机器。 ● 通过端口转发(port forwarding)与虚拟主机映射(virtual host mapping)实现安卓移动设备与开发服务器进行交互调试。 而在最新的Android 4.4 Kitkat版本中,原本基于Android WebKit的WebView实现被换成基于Chromium的WebView实现。 移动端 1. 在eclipse中配置AndroidSDK环境(Android6.0、ADT23.0) 2. 将手机与PC通过USB连接,开启USB调试模式; 3. 使用360手机助手或在dos窗口输入adb devices查看手机驱动连接是否成功;

介绍activity文档翻译

♀尐吖头ヾ 提交于 2020-01-28 08:53:39
原文链接: https://developer.android.google.cn/guide/components/activities/intro-activitiesSS 一, 对activit的介绍 activity类是很重要的组件在安卓app中,并且activit被启动的方式和组合方式是平台应用模型的基本部分。 不同于其他编程模式,启动需要一个main方法,安卓系统在activity实例中启动代码通过调用生命周期中的特定方法。 这个文档介绍了activity的概念,并且提供了一些指导,关于如何去用他们。 关于一些额外的信息如何过呢更好的构建你的app,可以看Guide to app architecture 二,activity的概念 移动app体验不同于桌面程序,移动app和用户交互的接口不止一个。不一定在什么地方,什么时间启动。 例如,如果你从主屏幕打开一个email app,你也许会看到一个email是列表。通过对比, 如果你使用一个社交媒体app打开你的emailapp ,你可能直接看到email app的屏幕去写一封电子邮件。 activity类被设计为更适合这种模式。当一个app调用另一个app时,app调用的是另一个app的activity, 而不是调用另一个app作为一个整体。在这种方式下,activity作为app的交互点和其他用户

一款app好坏的判断标准有哪些?请分别列出 1-3 个你认为「好」和「不好」的产品并说明。

不问归期 提交于 2020-01-28 04:50:30
1.基本要求:是否有明确的用户价值,即能否为某些用户在某些场景下的具体需求提供解决方案,如果可以,则具备用户价值 2.基本要求:真实合法,不能欺诈消费者或进行恶意引导 3.进阶要求:和同类产品相比具备差异化优势,这样才能保证在竞争中获得用户青睐 4.高阶要求:设计简洁优雅 举例: 好的产品 微信读书:提供极致的阅读体验 得到:让知识触手可及 抖音:创新的短视频娱乐体验 不好的产品 各种导购类APP,毫无差异化 各种海淘类APP,没有合法明确的资质 来源: CSDN 作者: 青梅竹码 链接: https://blog.csdn.net/weixin_43258908/article/details/103625247

android App启动过程

▼魔方 西西 提交于 2020-01-28 02:58:31
本文以图文并茂的形式简单介绍一个APP从启动到主页面显示经历了哪些流程,以及实现的原理。不介绍具体源码,仅仅构建一个大体框架。 启动流程: ①点击桌面App图标,Launcher进程采用Binder IPC向system_server进程发起startActivity请求; ②system_server进程接收到请求后,向zygote进程发送创建进程的请求; ③Zygote进程fork出新的子进程,即App进程; ④App进程,通过Binder IPC向sytem_server进程发起attachApplication请求; ⑤system_server进程在收到请求后,进行一系列准备工作后,再通过binder IPC向App进程发送scheduleLaunchActivity请求; ⑥App进程的binder线程(ApplicationThread)在收到请求后,通过handler向主线程发送LAUNCH_ACTIVITY消息; ⑦主线程在收到Message后,通过发射机制创建目标Activity,并回调Activity.onCreate()等方法。 ⑧到此,App便正式启动,开始进入Activity生命周期,执行完onCreate/onStart/onResume方法,UI渲染结束后便可以看到App的主界面。 上面的一些列步骤简单介绍了一个APP启动到主页面显示的过程

HbuilderX 打包 Vue 项目为 App

雨燕双飞 提交于 2020-01-28 02:24:51
HbuilderX 打包 Vue 项目为 App 一. 前提准备 1.Vue CLI 我的当前版本(4.1.2) 2.HbuilderX 二. Vue 项目打包 1.在项目根目录新建 vue.config.js, 并修改文件 添加 publicPath:’./’,如下, 这样所有的资源都会被链接为相对路径,这样打包出来的包可以部署在任意路径。 😄 module . exports = { publicPath : './' , } 具体看官方文档对vue.config.js的配置: https://cli.vuejs.org/zh/config/#vue-config-js 2.打包项目 控制台执行npm run build, 生成dist文件夹,如上图所示。 npm run build 三. HbuilderX 打包 Vue 项目 1. 新建项目,项目类型选择5+App,选择模板为默认模板。 2. 打开并复制之前生成dist文件夹里内容,替换模板中文件(index.html, css, img ,js ) 可修改manifest.json文件对app进行配置 ❗️ 3. 菜单选择: 发行->原生app云打包,填写相关信息,点击打包。 4. 菜单选择: 发行->原生App-查看云打包状态, 控制台输出下载地址,点击并下载apk文件 👏 来源: CSDN 作者: winkemoji

flask02项目拆分

空扰寡人 提交于 2020-01-28 01:46:16
对flask项目进行简单拆分: 修改成mvc模式: 使用 flask-script 拓展将 app.py 文件修改成manager.py 修改项目结构: 路由管理: 直接将视图写到view.py 里面是不会被加载到服务器的; 并且相互导入文件但是不能出现循环引用。 要解决的问题是: views需要导入app对象,但是app对象又需要调用到views。 故可以将app对象,放到app模块中去实例化: 最后将路由注册方法单独的 views文件的函数中。函数需要一个参数app然后在app模块的init文件中,新建一个app对象的时候,将对象带进去这个函数,那么路由就会绑定到这个app对象上面 最后manager文件将这个app对象启动。 也就是app这个对象,是在views.py文件或者说views模块中的 creat_app()函数中 进行实例化,之后也可以采取放到 app模块的init.py文件中去 懒加载解决: 缺点,不能够让views里面的结构分文件显示 只能在一个文件里面写route 通过参数的形式来传递。 代码后附上: #views.py: def init_route ( app ) : @app . route ( '/' ) def hello_world ( ) : return 'Hello World!' #init: from flask import

appium+python处理混合APP中H5元素的环境配置

坚强是说给别人听的谎言 提交于 2020-01-27 22:21:22
环境配置 1.手机与电脑USB连接,开启USB调试模式,即可通过adb devices可查看到此设备。 2.电脑端、移动端安装chrome浏览器。 3.App webview开启debug模式。   a.开启方式需要App前端开发人员协助在app中配置增加如下代码(在WebView类中调用静态方法setWebContentsDebuggingEnabled):if (Build.VERSION.SDK_INT >=Build.VERSION_CODES.KITKAT) { WebView.setWebContentsDebuggingEnabled(true);}   b.查看是否包含h5元素。   打印出当前手机页面的context。即:print driver.contexts   如果包含有h5页面的话,至少会返回两个元素,一个'NATIVE_APP', 一个'WEBVIEW' 4.移动端,电脑端打开chrome浏览器。在电脑端Chrome浏览器地址栏输入 chrome://inspect/#devices ,进入调试模式: 此时页面显示了手机型号、驱动名称、APP要调试的WebView名称。启动进入app对应的h5页面,检查是否显示对应的webview,如没有,则当前未开启调试模式。 点击inspect,若成功加载与APP端相同界面的调试页面,则配置成功

安卓手机爆发“寄生推”病毒,潜在影响用户超2000万!

て烟熏妆下的殇ゞ 提交于 2020-01-27 17:24:08
明明是在正规渠道下载的知名APP 下载后却不断弹出广告、 推广其它应用? 如果遇到这样的情况 那么,你的手机 可能被“寄生推”病毒感染了! 近日,腾讯TRP-AI反病毒引擎捕获到一个恶意推送信息的软件开发工具包(SDK)——“ 寄生推 ”,通过预留的“后门”云控开启恶意功能,进行恶意广告行为和应用推广,最终实现牟取灰色收益。 目前,已有300多款知名应用遭遇“寄生推”的病毒感染,其中不乏用户超过千万的巨量级软件,潜在影响用户超2000万。 “寄生推”病毒有什么影响? 目前,大量用户已经受到了“寄生推”推送SDK的影响。根据腾讯安全联合实验室反诈骗实验室大数据显示,已有数十万用户设备ROM内被植入相关的恶意子包,受到影响的设备会不断弹出广告和地下推广应用。 “寄生推”推送SDK恶意子包影响用户变化趋势 此外,这些恶意子包具有很强的隐蔽性和对抗杀毒软件的能力,可以绕过大多应用市场的安装包检测,导致受感染的应用混入应用市场,给用户和应用开发者带来重大损失。 目前受影响的机型主要包括OPPO、华为、vivo 、小米等。 几维安全专家建议,应及时对手机进行安全检测,移除存在安全风险的应用。 受感染应用包括“××头条”“××直播”“××股票”“××××助手”“百思×××”“××浏览器”“××壁纸”“××FM”等,受感染应用数量多、范围广。 如何防范“寄生推”? 几维安全专家介绍

Vue 2.0 服务端渲染入门

南笙酒味 提交于 2020-01-27 13:11:43
1 什么是服务端渲染 SSR server side render 就是通过后端吐模板,而不是通过前端ajax获取数据,拼接字符串。 2 为什么需要SSR 需要SEO,因为爬虫不会等待ajax结果。 客户端网络慢,加载速度慢,影响用户体验。 3 另一种解决办法 预渲染 不是一次性下载整个单页应用,预渲染只是在构建时为了特定的路由生成特定的几个静态页面 你用webpack可以很简单地通过 prerender-spa-plugin 来添加预渲染 4 NodeJS编写Vue的SSR 首先npm install --save-dev的有 vue express vue-server-renderer // server.js 'use strict'; var fs = require('fs'); var path = require('path'); global.Vue = require('vue') var layout = fs.readFileSync('./index.html', 'utf8') var renderer = require('vue-server-renderer').createRenderer() var express = require('express') var server = express() server.use('/assets'

app专项测试

匆匆过客 提交于 2020-01-27 05:42:23
本节为大家讲述app的专项测试——客户端性能测试。这个我也做了蛮久的了。在这里修改了一下本篇随笔。 首先我们了解一下什么是客户端的性能测试。性能测试相比大家都已经耳熟能详了,这个app的客户端性能测试估计还是有部分同学不甚了解。 客户端性能测试,主要就是针对app在设备上运行时的内存、CPU、GPU、流量、耗电等进行一系列的测试。主要目的就是为了提升产品的竞争力,同时也可以检测出app的内存泄漏、优化点等问题。当然了,这只是我的个人理解了。 确定测试的介入时机,这个我一般是在上线验收测试之前进行的。倒不是说我这个时机就是对的,实在是资源匮乏,人手不足,只有我一个人进行测试,我只能排在这个时间段进行测试。因为在很多公司,实际上这项测试都只是走走过场,并没有发挥它实际的作用。 我觉得真正的介入时机应该实在开始执行测试的时候,与功能测试并行。因为优化是个漫长的过程,所以越早介入越好,首先能够更加完善的针对这些目标进行测试,其次也能够给予开发人员充足的时间进行优化。 然后就是我们的测试范围,这个测试范围呢,我个人觉得主要还是需要针对产品的核心功能进行。每个产品都有自己的核心功能,用户使用的最频繁的,与用户交互最多的功能模块。 那么我们要检测哪些数据呢?又要如何去监测呢? 我们要检测的数据如下: Ø内存占用 Ø CPU占用 Ø电量消耗 Ø流量消耗 Ø帧数 使用工具 说到工具,现在工具有很多