移动开发

第134天:移动web开发的一些总结(二)

隐身守侯 提交于 2020-01-03 13:27:33
1、响应式布局 开发一个页面,在所有的设备上都能够完美展示。 媒体查询: @media screen and (max-width:100px) { } 媒体类型:screen(屏幕) print (打印机) handheld (手持设备) all (通用) 常用媒体查询参数: width —— 视口宽高 height —— 视口宽高 device-width —— 设备的宽高 device- height —— 设备的宽高 orientation :检查设备处于横向(landscape)还是竖屏(portrait) 2、响应式设计设计点 设计点一:百分比布局 仅仅使用媒体查询来适应不同固定宽度设计,只会从一组css到另一组css的切换。两种设计之间没有任何平滑渐变。只使用媒体查询,布局有时会变得不可控制。 当然,这只是建议,也有一些页面采用固定布局的情况下能够很好的在一些没有考虑过媒体查询情况下的设备上很好的展示。 设计点二:弹性图片 思路:无论何时,全都包在图片的元素宽度范围内,以最大的宽度同比完整的显示图片。 img{ max-height: 100% } 设计点三:重新布局,显示与隐藏 当页面达到手机屏幕宽度的时候,很多时候就要放弃一些传统的页面设计思想。力求页面简单,做如下处理: ① 同比例缩减元素尺寸 ② 调整页面结构布局 ③ 隐藏冗余的元素 经常需要切换位置元素使用

Android开发常见问题汇总

我们两清 提交于 2020-01-01 22:33:54
文章目录 1.Activity的启动模式 1.什么是Activity启动的标准模式?都会经历那些生命周期的函数? 2.什么是Activity启动的异常模式?都会经历那些生命周期? 3.怎么指定Activity在横竖屏切换的时候不敏感? 4.怎么为Activity指定为横屏或竖屏? 5.Activity启动都有哪些模式?在清单文件里面配置和在代码里面指定到底有何不同? 6.前台任务栈有Activity:AB,后台任务栈有Activity:CD,且CD的启动模式都是singleTask,现在启动Activity D,此时后退任务栈的的顺序是什么? 7.怎么给Activity指定单独的任务栈?怎么查看任务栈的? 8.Activity的启动意图都有哪些? 9.隐式意图需要配置目标组件的InterFilter,这个过滤器都有哪些信息?配置都有哪些规则? 2.跨进程通信 1.在Android开发中怎么使用多进程? 2.同一个应用中开启了多进程会造成哪些问题? 2.怎么通过Serializable来序列化和反序列化一个对象? 3.Parcelable和Serializable他们的作用是什么?有什么区别? 4.什么是Binder?什么是Binder的死亡代理? 5.什么是AIDL? 6.Android中的跨进程通信方式都有哪些? 7.什么Binder连接池? 3.View的事件体系 1

移动开发:APP定位过于频繁,我用这种方式“揪出元凶”!

℡╲_俬逩灬. 提交于 2019-12-28 00:56:08
背景 定位现在是很多APP最基本也不可或缺的能力之一,尤其是对打车、外卖之类的应用来说。但对定位的调用可不能没有节制,稍有不慎可能导致设备耗电过快,最终导致用户卸载应用。 笔者所在项目是一个在后台运行的APP,且需要时不时在后台获取一下当前位置,再加上项目里会引入很多合作第三方的库,这些库内部同样也会有调用定位的行为,因此经常会收到测试的反馈说我们的应用由于定位过于频繁导致耗电过快。 排查这个问题的时候,笔者首先排除了我们业务逻辑的问题,因为项目中的各个功能模块在定位时调用的是统一封装后的定位模块接口,该模块中由对相应的接口做了一些调用频率的统计和监控并打印了相关的log语句, 而问题log中跟定位相关的log语句打印频率跟次数都是在非常合理的范围内。 这时我才意识到频繁定位的罪魁祸首并不在我们内部,而是第三方库搞的鬼。 那么问题来了,引入的第三方库那么多,我怎么知道谁的定位调用频率不合理呢? 虽然我在项目中的公共定位模块中打了log,但问题是第三方库可调不到我们内部的接口。 那么我们能不能到更底层的地方去埋点统计呢? AOP AOP,即面向切面编程,已经不是什么新鲜玩意了。 就我个人的理解,AOP就是把我们的代码抽象为层次结构,然后通过非侵入式的方法在某两个层之间插入一些通用的逻辑,常常被用于统计埋点、日志输出、权限拦截等等,详情可搜索相关的文章,这里不具体展开讲AOP了。

VUE组件汇总

时光毁灭记忆、已成空白 提交于 2019-12-27 00:59:30
内容 UI组件 开发框架 实用库 服务端 辅助工具 应用实例 Demo示例 UI组件 element ★13489 - 饿了么出品的Vue2的web UI工具套件 Vux ★8133 - 基于Vue和WeUI的组件库 iview ★6634 - 基于 Vuejs 的开源 UI 组件库 mint-ui ★6253 - Vue 2的移动UI元素 muse-ui ★3705 - 三端样式一致的响应式 UI 库 vue-material ★3328 - 通过Vue Material和Vue 2建立精美的app应用 vuetify ★2925 - 为移动而生的Vue JS 2组件框架 Keen-UI ★2749 - 轻量级的基本UI组件合集 vonic ★1913 - 快速构建移动端单页应用 vue-multiselect ★1539 - Vue.js选择框解决方案 eme ★1529 - 优雅的Markdown编辑器 vueAdmin ★1455 - 基于vuejs2和element的简单的管理员模板 bootstrap-vue ★1267 - 应用于Vuejs2的Twitter的Bootstrap 4组件 Vue.Draggable ★1191 - 实现拖放和视图模型数组同步 eagle.js ★1128 - hacker的幻灯片演示框架 vue-awesome-swiper ★1012

最新Android SDK r23

浪子不回头ぞ 提交于 2019-12-26 19:38:44
很奇怪 http://developer.android.com/ 不能访问,而ADT下载却能下载,而且速度嗖嗖的。绕了好大一圈终于找到,利用bing的网页翻译也是办法一种吧。呵呵 http://dl.google.com/android/adt/adt-bundle-windows-x86-20140624.zip http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140624.zip http://dl.google.com/android/adt/adt-bundle-mac-x86_64-20140624.zip http://dl.google.com/android/adt/adt-bundle-linux-x86-20140624.zip http://dl.google.com/android/adt/adt-bundle-linux-x86_64-20140624.zip http://dl.google.com/android/android-sdk_r23-windows.zip http://dl.google.com/android/installer_r23-windows.exe http://dl.google.com/android/android-sdk_r23-macosx

移动APP开发框架盘点

一个人想着一个人 提交于 2019-12-26 14:13:48
移动APP开发框架盘点 总体概述 现在比较流行的移动APP开发框架有以下六种:网页、混合、渐进、原生、桥接、自绘。前三种体验与Web的体验相似,后三种与原生APP的体验相似。这六种框架形式,都有自己适用的范围。无所谓好坏,适用就是好。 l 网页应用适用于传统网站APP化,比如淘宝、京东,有大量WEB页面嵌入到APP中。 l 混合应用适用于小成本应用开发,全部代码都基于Web,好处是开发快速、成本低。 l 渐进应用适用于高机会成本的场合,边下载边使用,能快速获取,快速体验。 l 原生应用适用于大型和高体验要求的应用,能做出让人满意的体验效果。 l 桥接应用适用于高速迭代的创意类应用,让体验与成本都处于可接受的范围。 l 自绘应用适用于游戏和有特殊效果的应用,最大的好处是没有平台约束和表达瓶颈。 一、网页WebApp WebApp与传统Web的主要区别,在于前端框架,特别是V-DOM框架的应用。此类前端框架使得WebApp与NativeApp在机理上已经没有任何区别了。在众多的前端框架中, React、Vue和Angular是最有竞争力的选择。 React V-Dom技术的开创者,主流框架中的NO.1。React的贡献都是开创性的,在它基础上,也有很多兼容框架,比如Anu,Nerv。用以解决React在性能或IE兼容性上的问题。 主流技术方案: React + Redux +

如何做一名有高度的移动开发工程师?10年大厂Android开发者经验总结

。_饼干妹妹 提交于 2019-12-24 18:26:43
2019年对应程序员来说,是一个多灾的年份,很多公司都进行了不同比例的优化和裁员。最近是找工作的高峰期,从很多同学的面试经历来看,现在只会单纯写业务代码的人找工作特别难,比如很多大厂的面试官都会针对性能优化的细节,考察你是否真正搞懂底层的机制和原理。环境的要求越来越高,所以我们也要积极转变,踏踏实实的学习。 如何成为一名 Android 开发高手 ,是很多Android开发人员的终极理想。作为一名Android开发工程师,除了需要掌握基础的Android知识,能够熟悉的进行应用开发之外,了解Android 系统层、Linux 内核层再到硬件层的优化路径,也是想要成为 Android 开发高手的必备技能。 之前,我写了一篇《 2019总结:Android 寒冬难前行?—我的进阶之路,送给正在迷茫的你! 》的文章,文章中将Android开发进行了初级、中级、高级和专家的划分,当时思考的是层层递进,并不是说掌握某项技能你就是专家了。 做一名有高度的工程师 作为一名技术工程师,不管你是从事前端开发还是后端开发,T 型技术人才理论都比较适合,所谓的“T”指的是横向和纵向两个维度。纵向解决的是深度问题,横向解决的是广度问题。并且我比较推崇先有深度再有广度,因为技术都是一通百通的。 作为一个有高度的移动开发工程师,需要能纵向深入,也要能横向全面地思考每一个问题。比如说

Python进阶实战爬虫:极滑块验证思路

孤街浪徒 提交于 2019-12-22 05:29:06
`代码大家自己加油琢磨,我给你们思路, 获取极验证两个图片一个有缺口一个没有缺口 然后对于图片进行分析 获取移动偏差 这里一定要进行仿人类移动滑块, 代码网上一堆哈 给大家获取图片的提示,一般他图片前端页面都已经渲染出来了,可能就是 display:none 或者透明度0进行隐藏 也有种可能是ajax提交,但是这里一般都会进行 js加密 还有种解决思路就是 调用第三方接口 就是要 花钱 推荐Python大牛在线分享技术 扣qun:855408893 领域:web开发,爬虫,数据分析,数据挖掘,人工智能 零基础到项目实战,7天学习上手做项目 来源: CSDN 作者: 学习-永无止境 链接: https://blog.csdn.net/weixin_45974628/article/details/103648647

webkit开发,app移动前端知识点

感情迁移 提交于 2019-12-21 11:28:13
如果你是一名前端er,又想在移动设备上开发出自己的应用,那怎么实现呢?幸好,webkit内核的浏览器能帮助我们完成这一切。接触 webkit webApp的开发已经有一段时间了,现把一些技巧分享给大家 : 1. viewport: 也就是可视区域。对于桌面浏览器,我们都很清楚viewport是什么,就是出去了所有工具栏、状态栏、滚动条等等之后用于看网页的区域, 这是真正有效的区域。由于移动设备屏幕宽度不同于传统web,因此我们需要改变viewport; 实际上我们可以操作的属性有4 个: width - // viewport 的宽度 (范围从200 到10,000,默认为980 像素) height - // viewport 的高度 (范围从223 到10,000) initial-scale - // 初始的缩放比例 (范围从>0 到10) minimum-scale - // 允许用户缩放到的最小比例 maximum-scale - // 允许用户缩放到的最大比例 user-scalable - // 用户是否可以手动缩 (no,yes) 那么到底这些设置如何让Safari 知道?其实很简单,就一个meta,形如: <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> //编码 <meta

webkit开发,app移动前端知识点

空扰寡人 提交于 2019-12-21 11:27:56
1. viewport: 也就是可视区域。对于桌面浏览器,我们都很清楚viewport是什么,就是出去了所有工具栏、状态栏、滚动条等等之后用于看网页的区域, 这是真正有效的区域。由于移动设备屏幕宽度不同于传统 web ,因此我们需要改变viewport; 实际上我们可以操作的属性有4 个: width - // viewport 的宽度 (范围从200 到10,000,默认为980 像素) height - // viewport 的高度 (范围从223 到10,000) initial-scale - // 初始的缩放比例 (范围从>0 到10) minimum-scale - // 允许用户缩放到的最小比例 maximum-scale - // 允许用户缩放到的最大比例 user-scalable - // 用户是否可以手动缩 (no,yes) 那么到底这些设置如何让Safari 知道?其实很简单,就一个meta,形如: <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> //编码 <meta id="viewport" name="viewport" content="width=320; initial-scale=1.0;maximum-scale=1.0; user-scalable