Android开发学习总结(三)——appcompat_v7项目说明
一、appcompat_v7项目说明
今天来说一下appcompat_v7项目的问题,使用eclipse创建Android项目时,发现project列表中会多创建出一个appcompat_v7项目,这是我搭建最新的Android开发环境创建第一个Android测试项目后发现的,我在创建Android时选择的Minimum Required SDK是API:8 Android 2.2(Froyo),如下图所示:
在这里解释一下这些名词:
- SDK 是 Software Development Kit (软件开发工具包)的缩写。
- Minimum Required SDK:最低支持SDK,一般默认的是8,即使应用根本不会在那么低的Android版本上运行;
- Target SDK:目标SDK,即最高支持SDK,应用最佳运行的Android版本,不能低于Minimum Required SDK;
- Compile With:编译的API(应用程序编译接口),即当前编译应用所用的API版本(也可以理解为SDK版本),一般默认与Target SDK相同,也可以高于Target SDK。
结果创建完项目之后就多创建出一个appcompat_v7项目,如下图所示:

appcompat_v7是作为一个类库项目存在的,本身不能单独运行,而HelloAndroid项目则引用了appcompat_v7项目,继而可以使用appcompat_v7编写好的类库,如下图所示:
上网查了一下为什么会出现appcompat_v7这个项目,原来是:appcompat_v7是Google自己的一个兼容包,就是一个支持库,能让Android2.1以上全使用上4.0版本的界面。而刚才我们创建项目时,选择的能够运行HelloAndroid这个Android项目的最低Android版本(Minimum Required SDK)是API:8 Android 2.2(Froyo),所以Eclipse认为我们开发的应用要能够在Android2.2版本的系统上面运行,因此自动帮我们创建了appcompat_v7这个项目。appcompat_v7这个项目我们在开发中基本上不用理会的,专心在我们自己的项目上面做开发就好了。
二、创建项目避免创建appcompat_v7项目的办法
在上面,我们已经知道了appcompat_v7这个项目为什么会被创建出来的原因,appcompat_v7是一个支持库,能让Android2.1以上全使用上4.0版本的界面。如果我们开发的应用不需要在Android4.0以下的平台运行,那么我们建项目时直接把最小SDK选在Android4.0以上,这样创建项目就可以避免多创建appcompat_v7这个项目,如下图所示:
创建项目时选择Minimum Required SDK是API:15 Android 4.0.3,如下图所示:
这就表示我们的HelloAndroid应用最低只能在Android4.0.3的系统上运行,低于Android4.0.3的Android系统就无法运行我们这个应用了。
这回创建出来的就只有HelloAndroid一个项目了,如下图所示:
也就是说:使用Eclipse创建Android项目时,如果选择的Minimum Required SDK是低于Android4.0以下的,那么Eclipse就会自动创建多一个appcompat_v7项目,如果选择的Minimum Required SDK是Android4.0以上的,那么Eclipse就不会创建appcompat_v7项目。
Android开发学习总结(三)——appcompat_v7项目说明的更多相关文章
- Android开发学习之路-RecyclerView滑动删除和拖动排序
Android开发学习之路-RecyclerView使用初探 Android开发学习之路-RecyclerView的Item自定义动画及DefaultItemAnimator源码分析 Android开 ...
- Android开发学习总结(一)——搭建最新版本的Android开发环境
Android开发学习总结(一)——搭建最新版本的Android开发环境(转) 最近由于工作中要负责开发一款Android的App,之前都是做JavaWeb的开发,Android开发虽然有所了解,但是 ...
- Android Sip学习(三)Android Voip实现
Android Sip学习(三)Android Voip实现 Android Sip学习(准备知识)SIP 协议完整的呼叫流程 Android Sip学习(一)Android 2.3 APIs S ...
- Android开发学习必备的java知识
Android开发学习必备的java知识本讲内容:对象.标识符.关键字.变量.常量.字面值.基本数据类型.整数.浮点数.布尔型.字符型.赋值.注释 Java作为一门语言,必然有他的语法规则.学习编程语 ...
- Android开发学习之路--网络编程之xml、json
一般网络数据通过http来get,post,那么其中的数据不可能杂乱无章,比如我要post一段数据,肯定是要有一定的格式,协议的.常用的就是xml和json了.在此先要搭建个简单的服务器吧,首先呢下载 ...
- Android开发学习之路--Android系统架构初探
环境搭建好了,最简单的app也运行过了,那么app到底是怎么运行在手机上的,手机又到底怎么能运行这些应用,一堆的电子元器件最后可以运行这么美妙的界面,在此还是需要好好研究研究.这里从芯片及硬件模块-& ...
- Android开发学习路线的七个阶段和步骤
Android开发学习路线的七个阶段和步骤 Android学习参考路线 第一阶段:Java面向对象编程 1.Java基本数据类型与表达式,分支循环. 2.String和St ...
- Android开发学习路线图
Android开发学习方法: Android是一个比较庞大的体系,从底层的Linux内核到上层的应用层,各部分的内容跨度也比较大.因此,一个好的学习方法对我们学习Android开发很重要. 在此建议, ...
- android开发学习笔记000
使用书籍:<疯狂android讲义>——李刚著,2011年7月出版 虽然现在已2014,可我挑来跳去,还是以这本书开始我的android之旅吧. “疯狂源自梦想,技术成就辉煌.” 让我这个 ...
随机推荐
- webService详解(一)
[sql] 什么是webService WebService,顾名思义就是基于Web的服务.它使用Web(HTTP)方式,接收和响应外部系统的某种请求.从而实现远程调用. 1:从WebServi ...
- 【一天一道LeetCode】#26. Remove Duplicates from Sorted Array
一天一道LeetCode系列 (一)题目 Given a sorted array, remove the duplicates in place such that each element app ...
- 基于ARM_contexA9 led驱动编程
关于友善之臂出的这款contexA9开发板,目前在网络上的资源较少,特别是内核的,非常之少,鉴于这种情况,我将会写一个系列的驱动来做关于tiny4412这款板子开发的总结. 简单介绍一下: Tiny4 ...
- 将html5项目部署到tomcat上,并实现安卓手机访问
最近在使用Webstorm开发项目中前端相关的内容,但是涉及到使用ajax技术,不能够跨域访问相关json文件和服务,需要将前端代码部署到tomcat服务器上.但是,如果通过手动拷贝的方式,太过于复杂 ...
- Android Data Binding代码实践(告别findViewById)(四)
Data Binding实战(一) Data Binding语法解析(二) Data Binding高级用法(三) 好了,继前三篇学习了Data Binding之后,我们可以发现它的强大之处有这么几点 ...
- CentOS 6.5安装MongoDB 2.6(多yum数据源)
下面我们在CentOS 6.5 x64系统上安装最新的MongoDB 2.6.5版. 在MongoDB v2.6.5版的软件仓库一共有五个包: 1)mongodb-org此包是元数据包,它可以实现自动 ...
- 学习Qt,Getting started
在界面的设计中,现在用的比较多的是Qt和WPF(C#),以前的MFC已出现衰老趋势.本人最近在学习Qt,觉得很有用,遂决定将学习历程记录下来,或许有感于后之来者,不亦乐哉. 一.Hello Qt #i ...
- ruby通过telnet读取互联网时间
在前面的博文ntp服务器也谈逆向工程中,本猫曾经武断的认为telnet是无法连接到ntp服务器的.因为当时是这样连接的: telnet time.nist.gov 123,端口号123是在/etc/s ...
- 关于jasperreport对应java打印机的解决方案
对于jasperreport打印这个功能,遇到了一大堆问题,也只能一点一点解决我: 1.现在我用的是jasperreport.jar是4.6版本. (1).因为网上查到:6.0以上版本已经不再支持ja ...
- R实战 第七篇:绘图文本表
文本表是显示数据的重要图形,一个文本表按照区域划分为:列标题,行标题,数据区,美学特征有:前景样式.背景央视.字体.网格线等. 一,使用ggtexttable绘图文本表 载入ggpubr包,可以使用g ...