Android开发学习笔记.doc
《Android开发学习笔记.doc》由会员分享,可在线阅读,更多相关《Android开发学习笔记.doc(147页珍藏版)》请在三一办公上搜索。
1、1. Android学习笔记 Eclipse中一个安卓项目的组成部分一、 总框架应用名:也就是应用装好后的名称(与应用管理的名称可能不同)源代码目录包名,这个包名与一开始建项目时的唯一标识包名要区分.Activity(活动类,类似main方法),一个应用只有一个起作用.切换Activity类在AndroidMainfext.xml中android:name属性自动生成,用于自动编译检查代码是否正确资源文件与代码之间的桥梁,生成资源文件的映射,让外部调用版本类库jar包,在项目下建一个libs目录后,里的jar包会自动加载到此.资源路径,不会在R文件注册二进制文件,包括class、资源文件、de
2、x、apk等资源目录-一旦定义好就会在R.java类中自动生成映射DPI是“dot per inch”的缩写,每英寸像素数。放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)放低分辨率的图片,如QVGA (240x320)放中等分辨率的图片,如HVGA (320x480)放超高分遍率的图片,如dpi一般是320,里面是main.xml 里面定义view元素及布局.里面是main.xml引用的String.xml,便于国际化清单文件,在软件安装的时候被读取,定义软件的关键配置用来混淆代码的配置文件,防止别人反编译供Eclipse使用,读取该项目使用Android版本
3、号。二、 Activity类三、 R类四、 res资源包所有资源文件都在这个包下就会自动在R.java文件里注册所以,只在有资源文件都放在这个包下,并建立对应的文件夹,好区分自带以下三个文件夹(一) drawable:图片资源包里面有四种屏幕类型.每种类型对应不同的分辨率图片不能大写(二) layout资源包(三) values资源包 String五、 AndroidManifest.xml 六、 proguard-project.txt七、 profect.properties八、 运行流程 Android常用数据收集一、 Android常用权限sd卡写入权限:WRITE_EXTERNAL_
4、STORAGE 二、 安卓中文件的几种保存模式安卓内核是Linux,所以只要有文件,就有权限区分.看情况:如果在Activity中,Context可以省略. Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE
5、用来控制其他应用是否有权限读写该文件。MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。三、 Android的计量单位px,in,mm,pt,dp,dip,sppx :是屏幕的像素点in :英寸mm :毫米pt :磅,1/72 英寸dp :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip :等同于dpsp :同dp相似,但还会根据用户的字体大小偏好来缩放。建议使用sp作为文本的单位,其它用dipdip和px 的关系:QVGA: density=0.75; densi
6、tyDpi=120; QVGA(240*320)HVGA: density=1.0; densityDpi=160; HVGA(320*480)VGA: density=1.0; densityDpi=160; VGA(480*640)WVGA: density=1.5; densityDpi=240; WVGA(480*800)WQVGA:density=2.0; densityDpi=120; WQVGA(240*400)densityDip值表示每英寸有多少个显示点,与分辨率是两个概念不同densityDpi下屏幕分辨率信息,以480dip*800dip的 WVGA(density=24
7、0)为例densityDpi=120时屏幕实际分辨率为240px*400px (两个点对应一个分辨率)状态栏和标题栏高各19px或者25dip横屏是屏幕宽度400px 或者800dip,工作区域高度211px或者480dip竖屏时屏幕宽度240px或者480dip,工作区域高度381px或者775dipdensityDpi=160时屏幕实际分辨率为320px*533px (3个点对应两个分辨率)状态栏和标题栏高个25px或者25dip横屏是屏幕宽度533px 或者800dip,工作区域高度295px或者480dip竖屏时屏幕宽度320px或者480dip,工作区域高度508px或者775dip
8、densityDpi=240时屏幕实际分辨率为480px*800px (一个点对于一个分辨率)状态栏和标题栏高个38px或者25dip横屏是屏幕宽度800px 或者800dip,工作区域高度442px或者480dip竖屏时屏幕宽度480px或者480dip,工作区域高度762px或者775dipapk的资源包中当屏幕densityDpi=240时,使用hdpi 标签的资源当屏幕densityDpi=160时,使用mdpi标签的资源当屏幕densityDpi=120时,使用ldpi标签的资源不加任何标签的资源是各种分辨率情况下共用的布局时尽量使用单位dip,少使用pxdp与px换算公式:pixs
9、 =dips * (densityDpi/160). dips=(pixs*160)/densityDpidp与px转换的方法:public static intdip2px(Context context, float dipValue)final float scale =context.getResources().getDisplayMetrics().density;return (int)(dipValue * scale +0.5f);public static intpx2dip(Context context, float pxValue)final float scale
10、=context.getResource().getDisplayMetrics().density;return (int)(pxValue / scale +0.5f);VGA : 640*480QVGA : 320*240HVGA : 320*480WVGA : 800*480WQVGA : 480X272或400X240 View一、 View的定义及作用View是Android下的一个超类,在Android中,这个类几乎包含了所有的屏幕类型。但它们之间有一些不同。每一个view都有一个用于绘画的画布。这个画布可以用来进行任意扩展。Android应用就是:UI+事件 开发Android
11、应用就是布局UI,给UI中的各种各样的控件根据需求添加事件.View是UI最基本的组成部分,负责绘制UI元素和界面动作的监听。.整个手机屏幕,也是一个View,就像一块大画布,上面可以放各种各样的界面元素,如Button,EditText(文本域)或其它view.也就是说,View可以认为是其他View,或Button,文本域等界面元素的容器。所属包:java.lang.Object |-android.view.View继承结构:View extends Object implements Drawable.Callback KeyEvent.Callback AccessibilityEv
12、entSource 二、 View怎么用?ViewGroup类是View类的子类,但是它可以充当其他控件的容器。ViewGroup的子控件既可以是普通的View,也可以是ViewGroup。一些高级控件如Gallery、GridView等都是继承自ViewGroup。Android中为每种不同的布局提供一个ViewGroup的子类,如LinearLayout、TableLayout、RelativeLayout、FrameLayout、AbsoluteLayout等。(一) View类在布局中常用的属性及对应的方法属性名称对应方法描述android:backgroundsetBackgroun
13、dResource(int)设置背景android:clickablesetClickable(boolean)设置View是否响应单击事件android:visibilitysetVisibility(int)控制View的可见性android:focusablesetFocusable(boolean)控制View是否可以获取焦点android:idsetId(int)为View设置标识符,可通过findViewById方法获取android:longClickablesetLongClickable(boolean)设置View是否响应长单击事件android:soundEffectsE
14、nabledsetSoundEffectsEnabled(boolean)设置当View触发单击等事件时是否播放音效android:saveEnabledsetSaveEnabled(boolean)如果未作设置,当View被冻结时将不会保存其状态android:nextFocusDownsetNextFocusDownId(int)定义当向下搜索时应该获取焦点的View,如果该View不存在或不可见,则会抛出RuntimeException异常android:nextFocusLeftsetNextFocusLeftId(int)定义当向左搜索时应该获取焦点的Viewandroid:next
15、FocusRightsetNextFocusRightId(int)定义当向右搜索时应该获取焦点的Viewandroid:nextFocusUpsetNextFocusUpId(int)定义当向上搜索时应该获取焦点的View1. 通用属性:基本元素都有的 id: 元素的唯一标志android:id=+id/label id属性 text:文本内容android:text=string/call_num /-内容 ems = 10 设置TextView或者Edittext的宽度为10个字符的宽度 background:指定该控件所使用的背景色,RGB命名法 layout_width:指定Cont
16、ainer组件的宽度有三个可以用:android:layout_width=match_parent 参照父View,也就是屏幕android:layout_width=fill_parent 填充父view,也就是与屏幕一样上面两个功能一样android:layout_width=wrap_content包围里面的内容. layout_height:指定Container组件的高度2. gravity:对控件内容操作方向的位置-3. layout_gravity:对控件本身相对于parentView位置二者共同参数:可取的属性及说明属性值说明top不改变控件大小,对齐到容器顶部bottom不
17、改变控件大小,对齐到容器底部left不改变控件大小,对齐到容器左侧right不改变控件大小,对齐到容器右侧center_vertical不改变控件大小,对齐到容器纵向中央位置center_horizontal不改变控件大小,对齐到容器横向中央位置center不改变控件大小,对齐到容器中央位置fill_vertical若有可能,纵向拉伸以填满容器fill_horizontal若有可能,横向拉伸以填满容器fill若有可能,纵向横向同时拉伸填满容器4. 权重属性:layout_weight 注意:用这个的时候,把对应的控件的layout_width或height设成0dp.当前view占屏幕空间的权
18、重.意思是需要显示多大的视图就占据多大的屏幕空间表示每个view在一行或一列中占有的权重,默认是0,也就是有多大就占多少空间如果两个文本编辑元素每一个的layout_weight值都设置为1,则两者平分在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。如果两个文本编辑元素其中第一个的layout_weight值设置为1,而第二个的设置为2,则二者按1:2获得空间. 5. 属性值为true或false 的属性 layout_centerHrizontal 水平居中 ayout_centerVertical 垂直居中 layout_centerInparent 相对于父元素完全居中 lay
19、out_alignParentBottom 贴紧父元素的下边缘 layout_alignParentLeft 贴紧父元素的左边缘 layout_alignParentRight 贴紧父元素的右边缘 layout_alignParentTop 贴紧父元素的上边缘 layout_alignWithParentIfMissing 如果对应的兄弟元素找不到就以父元素做参照物 sigleLine:如果设置为真的话,则控件的内容在同一行中进行显示6. 属性值必须为id的引用名“id/id-name” layout_below 在某元素的下方 layout_above 在某元素的的上方 layout_toL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 开发 学习 笔记
链接地址:https://www.31ppt.com/p-2393586.html