架构简单理解
**Application(应用程序层):**一般应用层的开发就是在这个层次中进行;包括了系统内置的一组应用程序,使用Java语言
**Application Framework(应用程序框架层)😗*系统内置或自己编辑APP均需使用这一层,不需要关心底层的实现
**Libraries(库)+Android Runtime(Android运行时):**Android提供了一组C/C++库,为平台的不同组件所使用,比如媒体框架;而Android Runtime则由Android核心库集 + Dalvik虚拟机构成,Dalvik虚拟机是针对移动设备的虚拟机,它的特点:不需要很快的CPU计算速度和大量的内存空间;而每个App都单独地运行在单独的Dalvik虚拟机内每个app对于一条Dalvik进程)
开发环境搭建
Eclipse+ADT+SDK:
1.src目录:包含App所需的全部程序代码文件,我们大多数时候都是在这里编写我们的Java代码的
2. gen目录:只关注R.java文件,它是由ADT自动产生的,里面定义了一个R类,可以看作一个id(资源编号)的字典,包含了用户界面,图形,字符串等资源的id,而我们平时使用资源也是通过R文件来调用的,同时编译器也会看这个资源列表,没有用到的资源不会被编译进去,可以为App节省空间
3. libs目录:存放一些jar包,比如v4,v7的兼容包,又或者是第三方的一些包
4.** res资源目录**:存放资源的,drawable:存放图片资源;layout:存放界面的布局文件,都是XML文件; values:包含使用XML格式的参数的描述文件,如string.xml字符串,color.xml颜色,style.xml风格样式等;另外还有提下这个assets目录,虽然这里没有,但是我们可以自己创建,两者的区别在于是否前者下所有的资源文件都会在R.java文件下生成对应的资源id,而后者并不会;前者我们可以直接通过资源id访问到对应的资源;而后者则需要我们通过AssetManager以二进制流的形式来读取!对了,这个R文件可以理解为字典,res下每个资源都都会在这里生成一个唯一的id!
图片资源
**drawable ** 存放各种位图文件,(.png,.jpg,.9png,.gif等)除此之外可能是一些其他的drawable类型的XML文件;9-patch图片和shape资源文件只能放在drawable目录中
drawable-ldpi里面主要放低分辨率的图片,如QVGA(240×320)
drawable-mdpi里面主要放中等分辨率的图片,如HVGA(320×480)
drawable-hdpi里面主要放高分辨率的图片,如WVGA(480×800),FWVGA(480×854)
drawable-xhdpi里面主要放加高分辨率的图片,如Nexus(720×1280)以上分辨率
drawable-xxhdpi里面主要放超高分辨率的图片,如Nexus(1080×1920)以上分辨率
具体查看:https://blog.csdn.net/oschina_41673164/article/details/127135103
shape 意即形状,是Android中描述规则几何图形的定义,ShapeDrawable其实就是Drawable的一个子类具体请求查看
https://blog.csdn.net/oschina_41673164/article/details/127132589
mipmap 一般用于启动图
mipmap-mdpi:中等分辨率,很少,除非兼容的的手机很旧 4848
mipmap-hdpi:高分辨率,一般我们把图片丢这里 7272
mipmap-xhdpi:超高分辨率,手机屏幕材质越来越好,以后估计会慢慢往这里过渡 9696
mipmap-xxhdpi:超超高分辨率,这个在高端机上有所体现 144144
mipmap-xxxhdpi:超超超高分辨率,这个在高端机上有所体现 192*192
- AndroidManifest.xml配置文件:系统的控制文件,用于告诉Android系统App所包含的一些基本信息,比如组件,资源,以及需要的权限,以及兼容的最低版本的SDK等
- .gradle和.idea 这两个目录下放置的是Android Studio自动生成的文件,无须关心,也不要手动去编辑
- bin:这个文件夹包含Android由APT构建的.apk包文件,以及运行Android应用程序所需要的其他所有东西。
图片制作
①Android SDK自带:draw9patch.bat,
②NinePatchEditor
③NinePng九图神器
④PhotoShop
界面原型设计
工具大部分使用的都是Axure Rp 、Pencil、Framer、Shireframe、UIDesigner、Balsamiq Mockups、Mockup Builder、Mockup、FrameBox、iPhone Mockup、Mockplus(摩客)、墨刀等…