// mUiDevice.findObject(By.res(“com.android.calculator2:id/pad_advanced”))

// .drag(new Point(224,1213),10);

// Thread.sleep(1000);

//5. 点击9 9按钮点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/digit9”)).click();

//6. 按+ + 按键

mUiDevice.findObject(By.res(“com.android.calculator2:id/plus”)).click();

//7. 按键5 按钮 点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/digit5”)).click();

//8. 点击= 按钮 点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/equal”)).click();

Thread.sleep(5000);

//9. 长按C清除 C按键 长按

mUiDevice.findObject(By.res(“com.android.calculator2:id/clear”)).longClick();

Thread.sleep(1000);

//10. 输入5 按钮 点击

mUiDevice.findObject(By.clazz(“android.widget.EditText”).focused(true)).setText(“5”);

}

}

一个完整的任务集

import org.junit.After;

import org.junit.Assert;

import org.junit.Before;

import org.junit.Test;

import org.junit.runner.RunWith;

@RunWith(AndroidJUnit4.class)

public class MKTest2 {

public Instrumentation mInstrumentation;

public UiDevice mUiDevice;

@Before

public void setUp() throws InterruptedException {

mInstrumentation = InstrumentationRegistry.getInstrumentation();

mUiDevice = UiDevice.getInstance(mInstrumentation);

mUiDevice.pressKeyCode(KeyEvent.KEYCODE_HOME);

Thread.sleep(2000);

}

@Test

public void standardAddTest() throws InterruptedException {

//3. 打开计算器 计算器图标 坐标点击

mUiDevice.click(137, 1069);

Thread.sleep(2000);

//5. 点击9 9按钮点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/digit9”)).click();

//6. 按+ + 按键

mUiDevice.findObject(By.res(“com.android.calculator2:id/plus”)).click();

//7. 按键5 按钮 点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/digit5”)).click();

//8. 点击= 按钮 点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/equal”)).click();

//9. 断言验证结果,获取值断言

UiObject2 ac = mUiDevice.findObject(By.res(“com.android.calculator2:id/display”)).getChildren().get(0);

String sum = ac.getText();

Assert.assertEquals(“14”, sum);

}

@Test

public void standardSubTest() throws InterruptedException {

//3. 打开计算器 计算器图标 坐标点击

mUiDevice.click(137, 1069);

Thread.sleep(2000);

//5. 点击9 9按钮点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/digit9”)).click();

//6. 按- - 按键

mUiDevice.findObject(By.res(“com.android.calculator2:id/minus”)).click();

//7. 按键5 按钮 点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/digit5”)).click();

//8. 点击= 按钮 点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/equal”)).click();

//9. 断言验证结果,获取值断言

UiObject2 ac = mUiDevice.findObject(By.res(“com.android.calculator2:id/display”)).getChildren().get(0);

String sum = ac.getText();

Assert.assertEquals(“4”, sum);

}

@Test

public void standardMulTest() throws InterruptedException {

//3. 打开计算器 计算器图标 坐标点击

mUiDevice.click(137, 1069);

Thread.sleep(2000);

//5. 点击9 9按钮点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/digit9”)).click();

//6. 按x x 按键

mUiDevice.findObject(By.res(“com.android.calculator2:id/mul”)).click();

//7. 按键5 按钮 点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/digit5”)).click();

//8. 点击= 按钮 点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/equal”)).click();

//9. 断言验证结果,获取值断言

UiObject2 ac = mUiDevice.findObject(By.res(“com.android.calculator2:id/display”)).getChildren().get(0);

String sum = ac.getText();

Assert.assertEquals(“45”, sum);

}

@Test

public void standardDivTest() throws InterruptedException {

//3. 打开计算器 计算器图标 坐标点击

mUiDevice.click(137, 1069);

Thread.sleep(2000);

//5. 点击10 10按钮点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/digit8”)).click();

//6. 按x x 按键

mUiDevice.findObject(By.res(“com.android.calculator2:id/div”)).click();

//7. 按键5 按钮 点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/digit4”)).click();

//8. 点击= 按钮 点击

mUiDevice.findObject(By.res(“com.android.calculator2:id/equal”)).click();

//9. 断言验证结果,获取值断言

UiObject2 ac = mUiDevice.findObject(By.res(“com.android.calculator2:id/display”)).getChildren().get(0);

String sum = ac.getText();

Assert.assertEquals(“2”, sum);

}

@After

public void tearDown(){

//恢复场景 删除计算结果 按键长按

//4. 长按C清除 C按键 长按

mUiDevice.findObject(By.res(“com.android.calculator2:id/clear”)).longClick();

mUiDevice.pressKeyCode(KeyEvent.KEYCODE_BACK);

}

}

直接运行MKTest2指令集

生成报告

学习福利

【Android 详细知识点思维脑图(技能树)】

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

详细整理在GitHub点击可见;

Android架构视频+BAT面试专题PDF+学习笔记

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频 如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)

又不知道该从何学起的朋友,同时减轻大家的负担。** [外链图片转存中…(img-k3ZpMGgs-1710962835422)] [外链图片转存中…(img-An2A8uGB-1710962835423)] [外链图片转存中…(img-DHUGif4j-1710962835423)] [外链图片转存中…(img-mAylIL9N-1710962835423)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频 如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android) [外链图片转存中…(img-cyaWSedC-1710962835424)]

好文链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: