android studio 5.0 MD 开发实践,初识
2015-11-16 17:18
507 查看
前面
本博,将着重于,Android studio下5.0开发Android studio目前在Android开发领域有多么火热,其实大家都感觉到了。无论是github上大神的demos,还是现如今,google官方给出的android 5.0 material design sample, 以及goole play,豌豆荚一栏,最新版的设计效果,可以预见:以Android studio 为开发平台,展开5.0以后开发,将是android 开发,Android应用的一个惊天巨响,业界也暗流涌动,一股android studio的5.0浪潮时刻会横空出世。
开始
1.安装Android studioa. as version:1.4.1,
下载地址:https://dl.google.com/dl/android/studio/install/1.4.0.10/android-studio-bundle-141.2288178-windows.exe
此地址是一个代理过的地址,所以不用翻墙,一路很顺利的下载sdk,安装gradle
b.gradle version:2.3.1 此as自带
2.开始hello!
a.点击上图的
b.可以看到这里的项目是这样一个结构的as项目:
c.跑起来看看效果:
d.注意
在界面上,我们看到了5.0的一些新特性:
1.ToolBar,作为一种控件,取代了,5.0以前Actionbar作为导航
2.界面上出现了一个浮动FloatingActionButton,点击在浮动按钮下方会有一个,上浮的提示条:
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show();
代码中:
在5.0以前,如果我们使用了v7的theme,MainAcivity继承自:
5.0以后,使用Material Design的Theme,MainAcivity继承自:
重点来了
**a.as 项目结构**
我们看到根目录下,有四个子目录:
1.manifest
还是Eclipse中的请单位件
2.java
这里面有两个子目录,上面的是我们的项目代码,下面的是测试类。打开测试类,看到项目中其实是自带了,junit测试框架的;
3.res
我们看到这里基本上和eclips项目下没有什么区别,就是多出来一个mipmap,这个是什么东西?
官方给的说法是这样的:他们和drawable使用相同,只是在某些机型和分辨率下,会对图片的缩放有些优化
res/ mipmap-mdpi/ ic_launcher.png mipmap-hdpi/ ic_launcher.png mipmap-xhdpi/ ic_launcher.png mipmap-xxhdpi/ ic_launcher.png mipmap-xxxhdpi/ ic_launcher.png # App icon used on
4.Gradle Scripts
文件如下
相关文档:http://www.open-open.com/lib/view/open1415793464648.html
相关文档(需要翻墙,so,把原文的一些类容粘了一下在下面):http://ask.android-studio.org/?/article/23
一堆资料说的很多名词,理解上还是云山雾罩的,做Android开发都能说上两句,“这几文件不就是完成项目构建的嘛,处理依赖jar包”
点开上面三个文件,我们来看看:
默认build.gradle脚本里面是空白(Project helloword)、但是如果项目中有依赖远程项目的,其脚本如下:
buildscript { repositories { //jcenter():声明使用 maven 仓库。在老版本中,此处为 mavenCentral()。 mavenCentral() } dependencies { // 项目id classpath 'com.android.tools.build:gradle:1.2.3' } }
build.gradle(Modle app),里groovy脚本如下:
apply plugin: 'com.android.application'//声明,这是一个Android程序,也可以是java,其他等 android {//整个项目的编译,运行环境 compileSdkVersion 23 6.0下编译 buildToolsVersion "23.0.2"//sdk tool level defaultConfig {//和manifest中某些类似 applicationId "com.example.administrator.myapplication" minSdkVersion 21 targetSdkVersion 23 versionCode 1 versionName "1.0" } /** * 混淆设置 */ buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { //某个文件夹下面全部依赖 compile fileTree(dir: 'libs', include: '*.jar') compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' //v7,design依赖 compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:design:23.1.1' }
资料:
- 默认的 module 目录下的 build.gradle 文件内容如上。 apply plugin:
‘com.android.application’: 表示使用 com.android.application 插件。也就是表示,这是一个
android application module 。 com.android.library 表示,这是一个 android
library module 。 android: 配置所有android构建过程需要的参数。 compileSdkVersion:
用于编译的 SDK 版本。 buildToolsVersion: 用于 Gradle 编译项目的工具版本。 defaultConfig:
Android 项目默认设置。 applicationId:应用程序包名。 minSdkVersion:最低支持 Android 版本。
targetSdkVersion:目标版本。实际上应为测试环境下测试机的 Android 版本。 versionCode:版本号。
5. versionName:版本名称。 buildTypes: 编译类型。默认有两个: release 和 debug 。我们可以在此处添加自己的 buildTypes ,可在 Build Variants 面板看到。 minifyEnabled:
是否使用混淆。在老版本中为 runProguard ,新版本之所换名称,是因为新版本支持去掉没使用到的资源文件,而 runProguard
这个名称已不合适了。
2. proguardFiles: 使用的混淆文件,可以使用多个混淆文件。此例中,使用了 SDK 中的 proguard-android.txt 文件以及当前 module 目录下的 proguard-rules.pro 文件。 dependencies: 用于配制引用的依赖。 compile fileTree(dir: ‘libs’, include: [‘*.jar’]): 引用当前 module 目录下的 libs
文件夹中的所有 .jar 文件。
- compile ‘com.android.support:appcompat-v7:21.0.3’:
引用 21.0.3版本的 appcompat-v7 (也就是常用的 v7 library 项目)。
setting.gradle,里脚本如下:
。
如果你的一个 module 并不是 project 根目录下,你可以这么设置。
include ':app',只包含,app项目,没有作为libary的项目依赖
资料:
- 默认的 project 目录下的 settings.gradle 文件内容如上。可有可能默认情况下, project 目录下的
settings.gradle 文件不存在,你可以自己创建。 include ‘:app’:表示当前 project 下有一个名称为
app 的 module
更多关于gradle
gradle,groovy,点击下面网址:.https://testerhome.com/topics/1867
真的应该认真学学下,对于gradle,下面的博主是这样说的:
相关文章推荐
- Android 5.1 Gallery2编译报错make: *** No rule to make target `out/target/product/techain6572_wet_l/obj/S
- Scrollview 嵌套 RecyclerView 及在Android 5.1版本滑动时 惯性消失问题
- Android中的Touch事件处理
- Android使用单元测试
- Android动画(Android开发艺术探索笔记)
- android 滑动菜单之SlidingMenu
- Android 时间优化和内存优化
- Android中的自定义界面的Dialog
- Android开发工具常用快捷键大全
- Android(13)——获取Android屏幕尺寸、控件尺寸、状态栏/通知栏高度、导航栏高度 .
- Android中dp和px的关系
- android5.0 Adapter weight的问提
- android进程优先级
- Android软件加安全码
- 安卓输入法布局修改
- Android 自定义控件,继承控件,组合控件
- Android消息推送叨逼叨
- android 加载大图长图失真或者不显示。
- Android屏幕截图实现方式 & 系统截屏源码分析和三指截屏
- Android 开发实用控件大全