android架构

app测试中,安卓和IOS的区别(搜索网上后总结的)

折月煮酒 提交于 2019-11-28 15:07:37
App测试中ios和Android的区别: 1、Android长按home键呼出应用列表和切换应用,然后右滑则终止应用; 2、多分辨率测试,Android端20多种,ios较少; 3、机操作系统,Android较多,ios较少且不能降级,只能单向升级;新的ios系统中的资源库不能完全兼容低 版本中的ios系统中的应用,低版本ios系统中的应用调用了新的资源库,会直接导致闪退(Crash); 4、操作习惯:Android,Back键是否被重写,测试点击Back键后的反馈是否正确;应用数据从内存移动到SD卡 后能否正常运行等; 5、push测试:Android:点击home键,程序后台运行时,此时接收到push,点击后唤醒应用,此时是否可以正 确跳转;ios,点击home键关闭程序和屏幕锁屏的情况(红点的显示); 6、安装卸载测试:Android的下载和安装的平台和工具和渠道比较多,ios主要有app store,iTunes和 testflight下载; 7、升级测试:可以被升级的必要条件:新旧版本具有相同的签名;新旧版本具有相同的包名;有一个标示符区 分新旧版本(如版本号),对于Android若有内置的应用需检查升级之后内置文件是否匹配(如内置的输入法) 另外:对于测试还需要注意一下几点: 1、并发(中断)测试:闹铃弹出框提示,另一个应用的启动、视频音频的播放,来电、用户正在输入等

windows7下搭建Android开发环境的方法

烈酒焚心 提交于 2019-11-28 10:13:53
对于新手来说,android开发环境的搭建与配置还是比较繁琐的,因为要下载的文件多,需要的时间比较长。这里摘录整理整个搭建过程的具体方法与步骤,以供参考。 1 准备工作 首先,你最好一边下载必要的工具一边进行配置,因为需要下载和更新的文件很多,你可能需要几个小时的时间完成全部的搭建配置过程。 下载以下相关文件,注意选择与你的操作系统对应的版本,具体可参考第二节的详细介绍。 1.1 下载Java JDK 下载地址: http://www.oracle.com/technetwork/java/javase/downloads/index.html 1.2 下载eclipse(Eclipse IDE for Java Developers) 下载地址: http://www.eclipse.org/downloads/ 1.3 下载android JDK 下载地址: http://developer.android.com/sdk/index.html 2 系统需求 想要开始学习Android应用程序设计,仅需要一套个人计算机系统,并在其上安装好“Android开发工具”即可。目前市面上大多数的计算机(不包含上网本),都能满足Android应用程序开发的基本需求。 2.1 操作系统 我有台计算机了,但Android应用程序应该在哪一种操作系统上来开发呢?

Android 高效开发之研发效能

拜拜、爱过 提交于 2019-11-28 08:15:39
在如今红海厮杀的移动互联网,快速试错变得越来越重要,敏捷开发也被越来越多的团队所推崇。有些时候为了效率我们甚至愿意牺牲部分性能,而选择在合适的时间去偿还这些“债务”。我们都希望在保证质量的前提下,为自己的团队提速。 原文链接:https://www.jianshu.com/p/5106691c2a1c 一、组织的研发效能 1.1 何为研发效能 在讨论如何优化组织研发效能之前,先思考一下什么是研发效能。 我们平常开发的过程,是从产品的一个需求想法,转变为功能并且发布上线。这个过程会涉及产品、设计、开发、测试,更多的时候可能还会拉上前端、后台。 产品的交付涉及很多的流程和人员,虽然设计人员出图很快、我们开发效率很高,但也并不能代表研发效能同样很高,研发效能是对整个产品最终交付的速度和质量负责。 研发效能的五个衡量标准: 对于客户端研发来说,我们是不是只要保证按时按质实现需求就可以了呢?有很多公司,尽管实行 “ 996 ” 甚至 “ 247 ” ,产品、开发和测试看起来的确都很忙了,但是交付速度和质量却仍然不令人满意:产品埋怨开发效率低、开发埋怨产品需求不明确、测试埋怨开发质量差、开发埋怨测试发现不了问题等。这在我们日常开发中太经常出现了。 这是因为什么呢?对于研发效能这个话题,我观察了很多团队和项目,且根据个人的工作经验,主要有以下两点思考: 提效是每个人的职责。尽管在 BAT

这是一份非常适合收藏的Android进阶/面试重难点整理!

故事扮演 提交于 2019-11-28 05:32:46
![](https://upload-images.jianshu.io/upload_images/16595031-0d47e72a46c11681.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) ## 写在前面 记得我大二时“不务正业”地自学Android并跟了老师做项目,到大三开始在目前的公司实习,至今毕业已有几年多,学习Android已经6、7年多了!但总感觉知识点很零散,并且不够深入,遇到瓶颈,所以有了这文章。 本文是我对自身的**Android编程技能的总结、思考和反省,意在系统地、深入地学习Android的重难点,使自己的能力上一个台阶。下面我将会罗列Android知识体系中比较高频、重要或难懂的知识点**,并未来会基于此文章列出的知识点一个一个学习研究,并写成一系列的文章,当做自己的学习总结笔记,也希望童鞋们和我一起学习和交流~ > 说明:本文不是面试经验谈,而是自我总结。我也不打算像网上很多文章那样只列出点,说出结果,而没说原因,然后死记硬背,知其所以然而不知其然。而我是打算对下面的知识点深入学习,并对每个知识点从源码或举例来写成文章,从而即知其然又知其所以然。我也不知能否做到,但我会坚持努力,当作立个flag吧~ ![](https://upload-images.jianshu.io

为Android安装BusyBox —— 完整的bash shell

夙愿已清 提交于 2019-11-28 02:38:47
  大家是否有过这样的经历,在命令行里输入adb shell,然后使用命令操作你的手机或模拟器,但是那些命令都是常见Linux命令的阉割缩水版,用起来很不爽。是否想过在Android上使用较完整的shell呢?用BusyBox吧。不论使用adb连接设备使用命令行还是在手机上直接用terminal emulator都可以。   一、什么是BusyBox ?   BusyBox 是标准 Linux 工具的一个单个可执行实现。BusyBox 包含了一些简单的工具,例如 cat 和 echo,还包含了一些更大、更复杂的工具,例如 grep、find、mount 以及 telnet。有些人将 BusyBox 称为 Linux 工具里的瑞士军刀.简单的说BusyBox就好像是个大工具箱,它集成压缩了 Linux 的许多工具和命令。(摘自百度百科)   二、在Android上安装BusyBox   准备:   1. 下载BusyBox的binary,打开这个地址 http://www.busybox.net/downloads/binaries ,选择最新版本,然后下载对应你的设备架构的版本,这里我下载了busybox-armv6l,下面将以这个文件名为示例。   2. 需要有一个命令行的环境,在电脑上使用adb或在手机上使用terminal emulator。   3. 连接手机和电脑

Android进阶-Android MVP模式详解

a 夏天 提交于 2019-11-28 00:23:15
一、MVP概述 MVP,全称 Model-View-Presenter,即模型-视图-层现器。 提到MVP,就必须要先介绍一下它的前辈MVC,因为MVP正是基于MVC的基础发展而来的。两个之间的关系也是源远流长。 MVC,全称Model-View-Controller,即模型-视图-控制器。 View:对应于布局文件 Model:业务逻辑和实体模型 Controllor:对应于Activity 但是View对应于布局文件,其实能做的事情特别少,实际上关于该布局文件中的数据绑定的操作,事件处理的代码都在Activity中,造成了Activity既像View又像Controller,使得Activity变得臃肿。 而当将架构改为MVP以后,Presenter的出现,将Actvity视为View层,Presenter负责完成View层与Model层的交互。现在是这样的: View 对应于Activity,负责View的绘制以及与用户交互 Model 依然是业务逻辑和实体模型 Presenter 负责完成View于Model间的交互 下面两幅图通过数据与视图之间的交互清楚地展示了这种变化: MVC模式下实际上就是Activty与Model之间交互,View完全独立出来了。 MVP模式通过Presenter实现数据和视图之间的交互,简化了Activity的职责

Android NDK编译

亡梦爱人 提交于 2019-11-27 19:27:28
记录下ndk如何编译.so文件 按部就班的说下: 首先下载NDK,这个我是直接在Android studio里面下载的,也没去官网下载,下载好了,就是配置环境变量了,因为我是从Android studio里面下载的,所以就直接在path中配置D:android_sdk/ndk-bundle这个路径了,配好了后我们可以用ndk-build去cmd命令台检测下看下是否配置成功 接下来就是在Android studio中配置了,需要在sdklocation中配置下,还有local.properties以及gradle.properties中去配置,具体配置网上一大堆,这里没有难点 首先我们想要打出一个.so文件来,我们肯定是要先写Java代码 **第一步:**解释一下这里代码的意思: native这个就是我们提供出去的方法,这个方法到时候要和.c文件里面或者.cc文件里面的方法名一致,我们再静态中去加载我们打出来的.so文件, 这里的参数名字不是.so文件的名字,而是我们在打包的时候配置的名字,这个配置下面介绍 public class JniKit { //这里的方法名如果报错那是正常的,不影响 public static native int calculate(int num); static { System.loadLibrary("JniDemo"); } } 第二步: *

Android NDK编译

浪子不回头ぞ 提交于 2019-11-27 19:27:21
记录下ndk如何编译.so文件 按部就班的说下: 首先下载NDK,这个我是直接在Android studio里面下载的,也没去官网下载,下载好了,就是配置环境变量了,因为我是从Android studio里面下载的,所以就直接在path中配置D:android_sdk/ndk-bundle这个路径了,配好了后我们可以用ndk-build去cmd命令台检测下看下是否配置成功 接下来就是在Android studio中配置了,需要在sdklocation中配置下,还有local.properties以及gradle.properties中去配置,具体配置网上一大堆,这里没有难点 首先我们想要打出一个.so文件来,我们肯定是要先写Java代码 **第一步:**解释一下这里代码的意思: native这个就是我们提供出去的方法,这个方法到时候要和.c文件里面或者.cc文件里面的方法名一致,我们再静态中去加载我们打出来的.so文件, 这里的参数名字不是.so文件的名字,而是我们在打包的时候配置的名字,这个配置下面介绍 public class JniKit { //这里的方法名如果报错那是正常的,不影响 public static native int calculate(int num); static { System.loadLibrary("JniDemo"); } } 第二步: *

Android lifecyle 源码解剖 - gdutxiaoxu的博客(微信公众号 stormjun94)

一曲冷凌霜 提交于 2019-11-27 15:05:58
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/gdutxiaoxu/article/details/86660766 说在前面 本次推出 Android Architecture Components 系列文章,目前写好了四篇,主要是关于 lifecycle,livedata 的使用和源码分析,其余的 Navigation, Paging library,Room,WorkMannager 等春节结束之后会更新,欢迎关注我的公众号,有更新的话会第一时间会在公众号上面通知。 Android lifecycle 使用详解 Android LiveData 使用详解 Android lifecyle 源码解剖 Android livedata 源码解剖 github sample 地址: ArchiteComponentsSample Android 技术人,一位不羁的码农。 前言 前两篇博客,我们已经讲解了 lifecycle ,liveData, ViewModel 的使用,这一篇博客,让我们一起来看一下 lifecycle 的原理。 从自定义的 lifecycle 说起 首先我们先来复习一下,如果要自定义 lifecycle,我们要这样做。 public class

Android自动化测试解决方案

人盡茶涼 提交于 2019-11-27 13:46:10
现在已经有大量的Android自动化测试架构或工具可供我们使用, 其中包括:Activity Instrumentation, MonkeyRunner, Robotium, 以及Robolectric。 另外LessPainful也提供服务来进行真实设备上的自动化测试。 Android自身提供了对instrumentation测试的基本支持,其中之一就是位于android.test包内的 ActivityInstrumentationTestCase2类,它扩展了JUnit的TestCase类来提供Android activities的功能测试。在应用测试中,每一个activity首先会被Instrumentation初始化,然后再加载到Android模拟器或设备的Dalvik虚拟机中来执行。 Android SDK自带一个测试工具MonkeyRunner,它提供的API和执行环境可以运行Python语言编写的测试代码。它提供API来连接设备,安装/卸载应用,运行应用,截屏,比对图片来判断特定命令执行后的屏幕是否包含预期信息,以及运行对应用的测试。MonkeyRunner使用 ActivityInstrumentationTestCase2, ProviderTestCase,ServiceTestCasek,