3.安卓基础——环境搭建&基本布局&xml解析

来源:互联网 发布:怎么更改淘宝店名 编辑:程序博客网 时间:2024/05/19 06:15
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 devicesadb install -s emulator-5556 D:\base07\GameTest.apkadb kill-serveradb start-serveradb shell4、 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/ button2AndroidManifest 清单文件,记录应用程序的包名,版本,最低的sdk版本,图标,应用程序名,记录的应用程序需要权限。5、 MVC架构模式MVC Model模型-View视图-Controller控制器Model 模型,数据操作,存储和更新View 视图,用户界面,向用户展示数据Controller 控制器,负责处理用户输入和交互。6、android应用程序中的MVCView : 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.comintent.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 + weightandroid: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 test13、Android 测试monkey测试:adb shellmonkey -p com.android.email 200 Junit测试:1.编写业务代码2.编写测试代码,新建测试类继承AndroidTestCase,测试方法,需要抛出异常3.在AndroidManifest.xml文件中配置instrumentaion和uses-library4.选中测试方法,run --> Android junit test5.查看测试结果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 =  2SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);获得编辑器Editor editor = sp.edit();写入k-v数据editor.putBoolean("gps_config", isChecked);提交修改editor.commit();写SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);设置默认值falseboolean isChecked = sp.getBoolean("gps_config", false); 17、XML中XmlSerializer序列化器的用法18、虚拟机dalvik vm基于寄存器的架构.java-->.class-->.dex-->.odexjvm 基于栈的架构.java-->.class-->.jardalvik vm在编译时已经优化代码,将多个文件整合成一个,减少了文件个数i/o的操作提高查询速度19、res/drawable 专门存放png、jpg等图标文件。在代码中使用getResources().getDrawable(resourceId)获取该目录下的资源20、res/valuesstrings.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()设置解析的文件及编码获取解析器的事件遍历解析判断是否是文档的结束,如果不是继续解析判断是否是文档的开始标签如果是继续判断是否是想要的解析属性如果是获取其属性的值这样依次获取各个属性的值

0 0