android基础
1、基本概念
www.androiddevtools.cn(国内下载站)
SDK Software Development Kit 软件开发工具包
ADT Android Development Tools Eclipse开发android的插件
adb Android debug Bridge android调试桥
AVD Android Virtual Device 模拟器
DDMS Dalvik Debug Monitor Service 安卓调试服务
AAPT:Android Asset Packaging Tool (android资源打包工具)
2、SDK目录结构
add-ons 附加组件目录
build-tools 升级之后放的编译工具
docs 开发文档
extras android中放向下兼容的jar, intel中放模拟器加速软件
platforms android核心库
platform-tools 默认或未升级时存放编译工具 adb.exe连接模拟器或真机和电脑上开发工具
sources android framework 层源码
system-images android 系统镜像,用于模拟器
tools 工具,emulator.exe 模拟器程序
3、adb常用命令
adb devices
adb install -s emulator-5556 D:\base07\GameTest.apk
adb kill-server
adb start-server
adb shell
4、 Android工程目录
src java源码
libs 放jar包,自动添加编译路径
Android Dependencies 和libs相关
assets 资产目录,直接打包到apk文件
bin 编译生成的文件 .apk文件
gen 自动产生java文件,R.java R文件相当于资源的字典
res 资源目录,图片,布局文件,字符串。都会在R文件中生成一个id
使用R文件的资源,在java文件中R.layout.activitymain 在xml文件中,引用@string/helloworld,添加新的id @+id/ button2
AndroidManifest 清单文件,记录应用程序的包名,版本,最低的sdk版本,图标,应用程序名,记录的应用程序需要权限。
5、 MVC架构模式
MVC Model模型-View视图-Controller控制器
Model 模型,数据操作,存储和更新
View 视图,用户界面,向用户展示数据
Controller 控制器,负责处理用户输入和交互。
6、android应用程序中的MVC
View : layout目录下的xml布局,设计应用ui界面
Contronller : Activity作为控制器,处理用户交互操作
Model : 数据模型,组织和获得数据,一般javaBean实现
7、android中颜色有四个分量 #AARRGGBB 00~ff Alpha 00完全透明,ff完全不透明
8、几个常用的方法:
hint输入提示:(对比HTML中的placeholder)
getText()可以得到EditText对象里面的内容
intent.setAction(Intent.ACTION_CALL);//设置意图的动作
Uri uri = Uri.parse("tel:" + phone);//将字符串解析为uri对象
//Uri 统一资源标识符 tel:114 mailto://sms
//url 统一资源定位符 http://www.baidu.com
intent.setData(uri);//设置意图的数据
startActivity(intent);//启动界面
Toast.makeText(context,text,duration)
9、安卓布局
线性布局LinearLayout (重要)
相对布局RelativeLayout (重要)
帧布局FrameLayout 帧布局是一层层叠加的 (重要)
绝对布局AbsoluteLayout
表格布局TableLayout
注意:
android:layout_gravity="center" 控件自己的对齐 android:gravity="center" 控件内容的对齐
ImageView中src的图片不会把整个空间占满,改成background后可以占满整个空间
利用weight权重配合width或height实现比例分配空间。如果方向是水平,width设置0dp + weight ; 如果方向是垂直方向height设置0dp + weight
android:orientation设置水平或垂直属性,默认是水平的
10、单位:
px像素不建议用
dp/dip Device Independent Pixels设备无关像素#00000000 00全透明 ff不透明
sp用于字体设置,也是与设备无关
11、简单短信实现
获得短信管理器
SmsManager smsManager = SmsManager.getDefault();//SmsManager构造器是私有化的
发送短信:
smsManager.sendTextMessage(destinationAddress, scAddress, text, sentIntent, deliveryIntent)
//各个参数:短信路标地址,源地址(我国国情为null),发送的文本内容,发送反馈,对方接收反馈
发送彩信:
smsManager.sendDataMessage(destinationAddress, scAddress, destinationPort, data, sentIntent, deliveryIntent)
如果一条短信超出大小,就会发送不出去,google也为我们设计好了
设置权限
几个方法:
android:inputType="textMultiLine"设置多行
android:lines="5"行数
12、测试相关
是否知道源码划分
黑盒测试:不知道程序源码,从用户角度测试程序功能。
白盒测试:知道程序源码,测试程序代码是否正确。
测试粒度
单元测试,对方法测试,junit test
集成测试,几个模块进行测试,integration test
系统测试,整个系统测试 system test
测试力度
压力测试,pressure test
冒烟测试,smoke test
13、Android 测试
monkey测试:
adb shell
monkey -p com.android.email 200
Junit测试:
1.编写业务代码
2.编写测试代码,新建测试类继承AndroidTestCase,测试方法,需要抛出异常
3.在AndroidManifest.xml文件中配置instrumentaion和uses-library
4.选中测试方法,run --> Android junit test
5.查看测试结果
14、Android点击事件的四中写法(注意内部类Toast的时候都要用MainActivity.this)
内部类方式——注册的事件源比较少
匿名内部类方法——事件源又多一点
当前activity中this——事件源更多,让这个activity实现事件接口,一般测试时候用,正式上线的时候不用。
在ui的xml文件中,配置onClick属性(该方法不能设置为private) 因为底层的实现-反射没有getDeclaredMethod()
15、快捷键
ctrl + h 实现在整个工程的文件中字符串
ctrl + k / ctrl + shift + k 在当前文件中查找字符串
16、XML的介绍(解析要求掌握)
指可扩展标记语言(EXtensible Markup Language)
存储和传输数据(RSS订阅的新闻、服务器返回的数据接口、软件的配置)
注意:
xml文档声明 <?xml version="1.0" encoding="UTF-8"?>
元素都须有关闭标签
标签对大小写敏感
文档必须有根元素(只有一个)
的属性值须加引号
特殊字符必须转义
XML 中的空格、回车换行会解析时被保留
16、XML中的sharedPreferences轻量级的存储类,特别适合保存软件配置参数。 存放位置:/data/data//shared_prefs
读
方法的第一个参数用于指定文件的名称,后缀由Android自动添加,第二个参数指定文件的操作模式。
操作模式分为四种
Context.MODE_PRIVATE = 0
Context.MODE_APPEND = 32768 追加
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2
SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
获得编辑器
Editor editor = sp.edit();
写入k-v数据
editor.putBoolean("gps_config", isChecked);
提交修改
editor.commit();
写
SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
设置默认值false
boolean isChecked = sp.getBoolean("gps_config", false);
17、XML中XmlSerializer序列化器的用法
18、虚拟机
dalvik vm基于寄存器的架构.java-->.class-->.dex-->.odex
jvm 基于栈的架构.java-->.class-->.jar
dalvik vm在编译时已经优化代码,将多个文件整合成一个,减少了文件个数i/o的操作提高查询速度
19、res/drawable 专门存放png、jpg等图标文件。在代码中使用getResources().getDrawable(resourceId)获取该目录下的资源
20、res/values
strings.xml 定义字符串和数值,在Activity中使用getResources().getString(resourceId) 或getResources().getText(resourceId)取得资源。它的作用和struts中的国际化资源文件一样。
arrays.xml 定义数组。
colors.xml 定义颜色和颜色字串数值,你可以在Activity中使用getResources().getDrawable(resourceId) 以及getResources().getColor(resourceId)取得这些资源
dimens.xml 定义尺寸数据,在Activity中使用getResources().getDimension(resourceId) 取得这些资源 (dimens尺寸)
styles.xml 定义样式。
21、res/anim/ 存放定义动画的XML文件
22、res/xml/ 在Activity中使用getResources().getXML()读取该目录下的XML资源文件。
23、res/raw/ 该目录用于存放应用使用到的原始文件,如音效文件等。编译软件时,这些数据不会被编译,它们被直接加入到程序安装包里。
24、安卓程序打包过程
用dx.bat工具将多个.class文件打包成一个classes.dex文件
用aapt.exe文件将.dex文件、清单文件、资源文件、assets等打包成.apk文件
.apk签名sign
安装
25、dial拨号盘、1 英寸= 2.539999918 厘米(公分)、acaling、crop剪裁、latency延迟、webcam网络摄像头、verbose啰嗦、terminate终止
26、Android为数据存储提供了如下几种方式:
1、文件
2、SharedPreferences(参数)
3、SQite数据库
4、内容提供者(Content provider)
5、网络
27、xml解析器的解析过程:
获取sharedPrefrences解析器对象 getSharedPrefrences()
设置解析的文件及编码
获取解析器的事件
遍历解析
判断是否是文档的结束,如果不是继续解析
判断是否是文档的开始标签如果是继续
判断是否是想要的解析属性
如果是获取其属性的值
这样依次获取各个属性的值
3.安卓基础——环境搭建&基本布局&xml解析
猜你喜欢
转载自blog.csdn.net/u010436867/article/details/54427691
今日推荐
周排行