九 Android基本知识介绍
1.Package
Package,中文翻译过来是包的意思。安卓系统的程序是以apk作为扩展名的,.apk就是android package的简写,package也就是这个app的唯一标识,其实这里的package和JAVA程序中是包 是一个意思。我们一般去测试某个程序,都是从这个程序的package入手的,测试初始化的代码都会指定app的package,例如下面的代码:
capabilities.setCapability("appPackage", "com.android.androidui");
2.Activity
Activity,中文名叫作活动。活动(Activity)是最容易吸引到用户的地方了,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序中可以包含零个或多个活动。
标识:com.android.androidui.MainActivity,测试初始化代码是这样写的:
capabilities.setCapability("appActivity", "com.android.androidui.MainActivity");
3.adb
ADB的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。 adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。
配置好android的环境变量在tools目录下就可以打开adb,或者在cmd里面执行adb命令。
常见的adb命令:
adb devices , 获取设备列表及设备状态
adb get-state , 获取设备的状态
adb kill-server , adb start-server , 结束 adb 服务, 启动 adb 服务,通常两个命令一起用
adb logcat , 打印 Android 的系统日志
adb bugreport , 打印dumpsys、dumpstate、logcat的输出,也是用于分析错误
输出比较多,建议重定向到一个文件中
adb bugreport > d:\bugreport.log
adb install , 安装应用,覆盖安装是使用 -r 选项
adb uninstall , 卸载应用,后面跟的参数是应用的包名,请区别于 apk 文件名
'-k' means keep the data and cache directories , -k 选项,卸载时保存数据和缓存目录
adb pull , 将 Android 设备上的文件或者文件夹复制到本地
例如复制 Sdcard 下的 pull.txt 文件到 D 盘:adb pull sdcard/pull.txt d:\
如果需要重命名为 rename.txt:
adb pull sdcard/pull.txt d:\rename.txt
adb push , 推送本地文件至 Android 设备
例如推送 D 盘下的 push.txt 至 Sdcard:adb push d:\push.txt sdcard/
sdcard 后面的斜杠不能少,否则会出现下面的错误:
adb push push.txt sdcardfailed to copy 'push.txt' to 'sdcard': Is a directory
adb reboot , 重启 Android 设备
4.四种常见控件
4.1 TextView
TextView可以说是 Android 中最简单的一个控件了,比如你看到的一片区域有文本内容显示,这片文本可能就是在TextView上显示的
此控件所属类是:android.widget.TextView
4.2 Button
Button控件很好理解,就是一个按钮
控件所属类是:android.widget.Button
4.3 EditText
EditText 是程序用于和用户进行交互的另一个重要控件,它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。
此控件的所属类是:android.widget.EditText
4.4 ImageView
ImageView是用于在界面上展示图片的一个控件,通过它可以让我们的程序界面变得更加
此控件的所属类是:android.widget.ImageView
5.四种基本布局
5.1 LinearLayout
LinearLayout 又称作线性布局,是一种非常常用的布局。正如它名字所描述的一样,这个布局会将它所包含的控件在线性方向上依次排列
5.2 RelativeLayout
RelativeLayout 又称作相对布局,也是一种非常常用的布局。和 LinearLayout 的排列规则不同,RelativeLayout 显得更加随意一些,它可以通过相对定位的方式让控件出现在布局的任何位置。
5.3 FrameLayout
FrameLayout 相比于前面两种布局就简单太多了,因此它的应用场景也少了很多。这种布局没有任何的定位方式,所有的控件都会摆放在布局的左上角。
其实这个AndroidUI显示的载体就是一个FrameLayout。一般来说FameLayout都是来容纳其他布局和控件显示用的。
5.4ListView
ListView绝对可以称得上是 Android 中最常用的控件之一,几乎所有的应用程序都会用
到它。由于手机屏幕空间都比较有限,能够一次性在屏幕上显示的内容并不多,当我们的程序中有大量的数据需要展示的时候,就可以助 ListView来实现。ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕。相信你其实每天都在使用这个控件,比如查看手机联系人列表,短信列表等等
转载于:https://www.cnblogs.com/xuegonghou/p/7364087.html
九 Android基本知识介绍相关推荐
- 100天精通Andriod逆向——第2天:Android基础知识和jadx的使用
目录 一.Android基础知识介绍 1.1 Android 历史版本 1.2 apk 包文件结构 1.3 Android系统目录介绍 二.jadx的使用 2.1 jadx 的简介 2.2 jadx ...
- Xamarin Android教程Android基本知识版本介绍与系统介绍
Xamarin Android教程Android基本知识版本介绍与系统介绍 Xamarin Android教程Android基本知识版本介绍与系统介绍,开发Andriod有时候不像iOS一样轻松,因为 ...
- 写给Android App开发人员看的Android底层知识合集(1-8)
写给Android App开发人员看的Android底层知识合集(1-8) 转自包老师:http://www.cnblogs.com/Jax/p/6864103.html 写给Android App开 ...
- OpenGL基础知识介绍和简单使用
OpenGL基础知识介绍 OpenGL简介 OpenGL 专业词解析 1.OpenGL上下文[context] 2.渲染 3.顶点数组和顶点缓冲区 4.着色器程序Shader 5.顶点着色器(Vert ...
- Android音视频学习系列(九) — Android端实现rtmp推流
系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...
- NLP汉语自然语言处理入门基础知识介绍
NLP汉语自然语言处理入门基础知识介绍 自然语言处理定义: 自然语言处理是一门计算机科学.人工智能以及语言学的交叉学科.虽然语言只是人工智能的一部分(人工智能还包括计算机视觉等),但它是非常独特的一部 ...
- Android进阶知识:绘制流程(上)
1.前言 之前写过一篇Android进阶知识:事件分发与滑动冲突,主要研究的是关于Android中View事件分发与响应的流程.关于View除了事件传递流程还有一个很重要的就是View的绘制流程.一个 ...
- android.mk简单介绍
application.mk简介: 0. 基础知识介绍: Application.mk用来描述应用程序需要哪些modules.Application.mk通常放在:$PROJECT/jni/Appli ...
- MTK 驱动(4)---MTK Android Driver知识大全
MTK Android Driver知识大全 一.Display 1.lcm 相关概念 1.1) MIPI接口:一共有三种接口:DBI(也做CPU或MCU接口).DPI(也叫RGB接口).DSI. 在 ...
最新文章
- VC++ 判断文件或文件夹是否存在的快捷方法 _access
- 真香!20张图揭开「队列」的迷雾,一目了然
- STM32F103C8T6学习笔记_时钟
- mysql 时间取日期函数_mysql 获取当前日期函数及时间格式化参数详解
- SuperSQL:跨数据源、跨DC、跨执行引擎的高性能大数据SQL中间件
- PHP函数——urlencode() 函数
- Adaboost 算法的原理与推导(转载)
- “约见”面试官系列之常见面试题之第九十七篇之怎么定义vue-router的动态路由(建议收藏)
- pictureBox1.Image的获得图片路径的三种方法
- map std 浮点数索引_C std :: map持有任何类型的值
- java调度问题的贪心算法_java代码,多机调度问题,怎么解释
- 详解数字音频接口DAI
- outlook2016登录163邮箱教程
- Codeforces 633H Fibonacci-ish II【线段树】
- python基础语法学习一
- 一个生肖一首诗,看看你是哪一首?
- 中文·软件工程类·业务流程图、E-R图和IPO图·实践笔记
- echarts 2.0 macarons主题安装
- 【JavaWeb】JSP技术详解
- 系统集成项目管理工程师好考吗?有什么用?
热门文章
- IntelliJ IDEA的光芒会盖过Eclipse吗
- 谁在关心toString的性能?
- 一图看懂学位服:学位帽、学位袍、流苏、垂布
- OpenCV Python教程(3)(4)(5): 直方图的计算与显示 形态学处理 初级滤波内
- windows64位环境下python安装numpy、scipy和matplotlib
- MySQL — 优化之explain执行计划详解(转)
- 当redis执行flush操作后的补救措施
- Linux系统中软件的“四”种安装原理详解:源码包安装、RPM二进制安装、YUM在线安装、脚本安装包...
- 用友互联网战略的变与不变
- java实现遍历树形菜单方法——HibernateUtil实现