安卓UI自适应性】的更多相关文章

出于安卓的碎片化原因,针对不同屏幕大小,最好是做到以下几点: 1.能用相对布局的就不用绝对布局,尽量使用权重,weight设置,相对布局和线性布局同条件情况下,优先选线性布局 2.在res目录下创建不同的layout文件夹,比如layout-640x360,layout-800x480,所有的layout文件在编译之后都会写入R.java里,而系统会根据屏幕的大小自己选择合适的layout进行使用. 3.不同分辨率横屏竖屏自动切换:布局.xml文件应该有变化 屏幕横竖屏不切换:在对应的Activ…
结构介绍 之前分享过一篇安卓UI测试,但是没有实现数据与代码分离,后期维护成本较高,所以最近抽空优化了一下.不想看文章得可以直接去Github,欢迎拍砖大致结构如下:   结构.png testyaml管理用例,实现数据与代码分离,一个模块一个文件夹 public 存放公共文件,如读取配置文件.启动appium服务.读取Yaml文件.定义日志格式等 page 存放最小测试用例集,一个模块一个文件夹 results 存放测试报告及失败截图   report.png logs 存放日志   logs…
使用方法基本说明:https://www.cnblogs.com/mliangchen/p/5114149.html,https://blog.csdn.net/Eugene_3972/article/details/76629066 环境准备:https://www.cnblogs.com/keeptheminutes/p/7083816.html 简单实例 1.自动化安装与卸载 :https://my.oschina.net/yangyanxing/blog/498403 2.自动化登录测试…
---恢复内容开始--- 错误1 安卓的机制决定了只有UI线程(也就是主线程)才能更新UI界面 否则会导致UI界面混乱的问题 这就说明了在new Thread中直接showImage是会报“出现非主线程更新界面”的错误 错误2 尝试在一次点击事件中多次更新UI界面    或者   妄想在死循环中一直更新UI界面,会导致UI堵塞,如下图所示 错误3 这里正解是通过Android的Handler机制,在Runnable 中持续跟新UI,但是想用死循环在Runnable中的run 方法里持续显示,会出…
一.实现数据与代码分离,维护成本较低,先看看自动化结构,大体如下: testyaml管理用例,实现数据与代码分离,一个模块一个文件夹 public 存放公共文件,如读取配置文件.启动appium服务.读取Yaml文件.定义日志格式等 page 存放最小测试用例集,一个模块一个文件夹 results 存放测试报告及失败截图 testcase 存放测试用例 runtest.py 运行所有测试用例 运行的结果: 三.yaml格式介绍 element_info:定位元素信息 find_type:属性,i…
中文翻译版: 为了使大家确信"应做单元测试,就一定能做单元测试",谷歌测试工程师Mona El Mahdy专门写了一篇博客,提出了几种执行安卓应用用户界面单元测试的方法.Mahdy推荐使用 Robolectric和Android Studio Gradle插件做常规的单元测试,用 Espresso 或 UI Automator 创建和运行单元测试. 端到端的测试.Mahdy提出的第一种UI测试方法是E2E.这样的测试应该可以启动安卓应用及其所有与之相关的后端系统,使之可以在真实的场景中…
引言 对于程序在不同尺寸的Android机器上执行,对UI的适用性造成了额外的开销,只是限定符的出现,非常方便的攻克了这个问题.通过创建限定符相关的文件夹来解决资源的载入. 限定符用处 限定符(mdpi,tvdpi,hdpi)能够帮助我们推断屏幕密度 限定符(land,port)能够帮助我们区分屏幕横竖屏状态 限定符(en,fr-)能够帮助我们语言和地区 限定符(v3,v4-)能够帮助我们区分安卓版本号 限定符(1024x600-)能够适配计算虚拟键或者不计算虚拟键的屏幕 -- Android…
一.搭建环境 准备:win7.JDK.androidSDK(adt-bundle-windows-x86_64-20140702\sdk).Appium.安卓模拟器(真机也可以),可以到这个地址下载https://pan.baidu.com/s/1NV5ncqRel4bkGoVzLyXuIg      提取码:6bst 1.安装Android模拟器: TianTian模拟器 2.安装Appium服务器 3.安装JDK 4.如JDK安装在C盘,androidSDK放在C盘则按下面进行配置环境: 增…
UI美化 drawable资源 ------------------------------------------state drawable资源在不同状态下显示不同的图片在<selector>标签下的item标签设置属性:android:state_xxx 各种状态(值为true/false) 如果值为false的话,android:state_xxx可以省略 state_pressed 按钮按下的状态 state_checked 单选框/复选框按下的状态android:drawable…
ListView是很常见的一个UI组件,在许多App中都很常用,其意思就是可滚动的列表,使用ListView必须使用Adapter(适配器),常用的适配器友谊ArrayAdapter,SimpleAdapter,BaseAdapter. ListView一些特殊的属性是: android:divider="@drawable/red"//每个列表项之间的分割线 android:entries="@drawable/books"//列表项显示的数据 布局代码示例: &…
https://facebook.github.io/react-native/docs/native-components-android.html 这里有一大堆的原生组件可以用,一些是平台自带的,另一些是第三方库的,而更多的正在其他项目中被使用.RN包装了大部分核心平台组件,但不是所有.幸运的是可以很简单地完美集成现有的原生组件到RN中 ImageView案例 这个案例的目标是实现在JS中使用imageView.RN中对安卓原生组件的创建和管理都是通过继承ViewManager或Simple…
一.配置JDK环境变量 1.新建系统变量JAVA_HOME,然后输入引号内的内容(JDK安装目录) "C:\Program Files\Java\jdk1.8.0_51"           2.打开系统变量Path,然后输入引号内的内容 "%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;"      3.新建系统变量CLASSPATH,然后输入引号内的内容 ".;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%…
在做安卓UI的时候有时候需自定义具有动画效果的按钮或需要自定义一下actionbar~ 本节用一个简单的demo讲如何自定义具有动画效果的按钮,以及个性化的actionbar 下面是效果: 其中: △ 自定义button是由  3 个ImageView + animation动画构成 △ actionbar是自定义的效果,按钮按动也用到了动画 下面是整个工程的结构: 需要引用v7工程,因为继承了v7的ActionBarActivity 其中MyAnimation.java包含按钮动画的方法 其中…
List在各种手机应用中都有体现,是安卓UI设计的必修课. 本文将介绍在开发中如何利用ListView和GridView设计自定义列表. 下面分别是用ListView和GridView做的效果: 上面两个看似相差很大,但是其代码非常类似,主要有:     ① 在页面中嵌入ListView或GridView: ListView的activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res…
今天要写的这篇博文意义重大,也是网上很少有的,这是在我工作中学会的一项技术,当然,它也是由简单的问题组合而来的.如何在安卓中写C语言程序,调试安卓驱动,测试程序的的一项重要技能,下面我就不说废话了,直接说实用的,怎么用这个东西. 关于这个问题,相信很多学Android的都会去关注这个问题,大家普遍会有个这样的疑问:安卓是怎么跑起来的? 最简单的说法,安卓系统是这样加载的: Bootloader------Kernel(对应平台版本的Linux内核)------filesystem文件系统(这个就…
安卓开发中菜单是一个很重要的组件,从安卓开发文档(http://wear.techbrood.com/guide/index.html)中可以看到,安卓UI设计中的Menu主要分为: A.Options menu and action bar       在3.0以下的系统中,Options menu 显示为左图的效果,接下来看看怎么在app中实现一个options menu. 静态 menu 可以从 xml 文件中直接加载,所以我们要先写一个 menu 列表 1.编写 xml 文件, 如 ma…
原文地址https://blog.csdn.net/iamhuanggua/article/details/53104345 简介   一直以来,安卓UI自动化测试都存在以下两个障碍,一是测试工具Mokey/Appium等的学习成本较高,不方便刚接触移动端自动化的新手入门:另一个是,在测试代码书写中耗费在控件元素查找上的时间太多,在一些稍微复杂的应用中尤其突出.LazyAndroid正是为了解决这些问题而诞生的一款UI自动化测试框架.它基于appium,封装了appiumDriver的设置.安卓…
安卓不闪退,会卡死,有几率复活,也有可能要强制重启,iOS默认闪退,强制重启的几率小很多. 总的来说,如果要深层次挖掘Android的漏洞就要明白linux内核安全,如果要挖身深层次挖掘iOS的漏洞就要了解Mac内核安全(BSD内核安全). Android的UI是单线程模式,UI的更新需要在本线程中完成,不能开启新线程来管理更新UI的线程,一般使用的方法是通过handler来实现UI线程的管理和更新.IOS我暂时了解到的方法是使用懒加载. 安卓UI页面排版一般是靠边(靠左或靠右), ios一般是…
安卓开发中将图片放置在ImageView中展示,涉及到图片显示的模式,跟iOS开发中UIView的contentMode属性是一个意思,在安卓UI元素中使用的属性是scaleType,其中枚举值的效果和使用,可以参看下下面这篇文章: [安卓ImageView拉伸展示]…
这一讲主要需要了解的安卓UI元素是Spinner.这个元素类似我们 winform和webform里面的下拉选项. 首先我们先建立一个新的项目,命名为SpinnerExample. 然后在Layout文件夹下,双击打开Main.xmal文件.从左侧工具箱中 把原有的Hello的那个按钮给删掉.删掉的方法有,选中那个按钮直接按键盘上的delete按钮,还有 一种就是把Source里面的button按钮节点删掉,这是界面控件xml代码:如图: 这里需要注意的是,这里对界面的设计需要在可以拖放控件的页…
又是很久都没有写博客了,为了表达歉意,奉上一个新的App,O(∩_∩)O! 因为商店的知乎太多了,然而,,所以一直打算自己动手写一个. 近段时间有些假期加上课程不是很忙,抽时间写了这个知乎.商店链接 知乎UWP,基于安卓3.0的API,当时参考了iOS和安卓的UI,个人感觉还是安卓要漂亮一些,所以就参考了安卓UI. (手机的屏幕投影坏了,所以没有录制手机版本,截图见下方) 上周知乎服务器更新,导致1.0版本的API作废(后来恢复了),当时2.0和3.0的登录接口都恢复了,唯独1.0迟迟没有恢复,…
转载:http://blog.csdn.net/sdjianfei/article/details/53157334 一 .api 1.http://apistore.baidu.com/astore/servicesearch?word=%E5%85%8D%E8%B4%B9&isFree=1 百度api集市 2.https://developers.douban.com/wiki/?title=guide 豆瓣开放 ,仅向企业开放 3.http://open.taobao.com/?spm=a…
Awesome-RxJava RxJava resources Blog 给 Android 开发者的 RxJava 详解 -强烈推荐 扔物线的文章 讲解非常详细 NotRxJava懒人专用指南 -这篇入门极力推荐,手把手,深入浅出教你实现一个简易的RxJava库,更好的理解RxJava的实现思路 深入浅出RxJava(一:基础篇) 深入浅出RxJava ( 二:操作符 ) 深入浅出RxJava ( 三--响应式的好处 ) 深入浅出RxJava ( 四-在Android中使用响应式编程 ) 如何…
原文地址http://blog.csdn.net/taxuexumei/article/details/41523419 今天遇到的问题,,,保存到博客里,下回遇到找博客就行了,,,,,, 今天在制作安卓UI嵌套式布局的时候,当出入以下的的代码的时候出现以下情况:<LinearLayout    xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schema…
从网上下载一个安卓UI模板,导入到AndroidStudio的时候提示MainActivity非法字符: '\ufeff' 解决方案,细细一想编译器没报错,但编译出错,应该是隐蔽字符BOM的问题,于是在资源管理器定位到该文件,用Notepad++打开,果然原创作者没用采用(UTF-8  无BOM)模式. 我们只需要点击把它转为UTF-8无BOM格式编码即可. PS:Eclipse可以智能的把有BOM文件转为无BOM文件,目前AndoridStudio木有这个功能,各位筒子需手动完成.…
T_T 这伪技术博客都快给写成Tron的读书笔记专栏了,这样可不行欸~ 如今正是移动平台的战国时期,厌烦了去讨论移动平台的未来,也无意于在HTML5和Native App之间纠结.本文只从开发者纯技术的角度聊聊各移动平台的特性. 1.WP7 个人挺喜欢wp7的系统,所以连带着也喜欢起wp7的开发.WP7开发常常与MVVM(Model-View-ViewModel)模式一起出现.抛开执行效率不谈,我觉得MVVM是在移动平台上写起来最优美的数据绑定策略.当然,MVVM与WPF/SL的整体架构是分不开…
Android中访问网络用的是HttpClient的方式,即Apache提供的一个jar包.安卓中继承了改jar包,所以安卓adt中不需要专门import该jar,直接就可以使用. 以下是MainActivity.java代码: package com.wyl.httptest2; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputS…
作为一个创意开发.或软件UI设计要求比较高,你经常会遇到的情况来圣安德鲁斯控制不符合您的需求.这样的时候.件.同一时候.安卓也同意你去继承已经存在的控件或者实现你自己的控件以便优化界面和创造更加丰富的用户体验. 那么如何来创建一个新的控件呢? 这得看需求是如何的了. 1.须要在原生控件的基本功能上进行扩展,这个时候你仅仅须要继承并对控件进行扩展. 通过重写它的事件,onDraw ,可是始终都保持都父类方法的调用. 如从已有的高级控件上继承.比如继承一个TextView. 2.须要几个控件的功能的…
概述 前面的3篇博文分别对lazyAndroid的框架简介.元素抓取和核心API进行了说明,本文将基于框架给出的测试模板工程,详细阐述下使用该框架进行安卓UI自动化测试的步骤. 模板工程 先来看一下模板工程中包含哪些东西: 图中标注说明: 1是bean层,是lazy-uiautomaterviewer自动生成的java代码,是基于目标控件xpath自动定义的变量. 2是page层,是基于bean层代码封装的基本操作,一般以页面为单位. 3是test层代码,是基于page层操作写的测试case.…
作者:黄书力 概述 在前一篇博文中,简要介绍了一款安卓UI自动化测试框架LazyAndroid (http://blog.csdn.net/kaka1121/article/details/53204150).本文将在此基础上,对框架的核心的API进行说明. 核心API介绍 •LazyDriver 的3个构造函数. 可以分别针对不同的应用场景选择使用不同的构造函数.使用场景及各参数的意义,代码注释中写得比较清楚了. /** * app测试默认driver * * @param AppName *…