使用Android Studio管理项目_netfreeperson的博客-程序员宅基地

技术标签: project  Android Studio  Android  

使用Android Studio管理项目

Android Studio为创建和管理Android项目提供了一个图形化的工具,它包含了定义你的Android应用的每一样东西,从app的源码到构建配置和测试代码。每个项目包含一个或多个不同类型的modules,比如应用模块,库模块和测试模块。

 

这里指导你如何使用android Studio来创建Android 项目和不同的模块。关于更多的Android项目结构和模块类型,查看”Managing Projects Overview”.

 

创建一个Android项目

Android Studio使得创建多个类型的APP变成简单,如手机,平板,电视机,可穿戴。创建新项目的引导让你选择app的类型。

 

跟着下面的步骤创建Android Studio项目。

 

步骤1:创建一个新项目

如果你没有一个打开的项目,Android Studio将会显示一个欢迎界面。点击“New Project”创建新项目。

 

如果你有打开的项目,Android Studio将显示开发环境。点击 File>New Project来创建新项目。

 

接下来的窗口让你填写应用的名字,包名,和你项目的位置。

<!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="[email protected]@[email protected]@[email protected]@[email protected]@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="图片_x0020_1" o:spid="_x0000_i1031" type="#_x0000_t75" alt="http://developer.android.com/images/tools/wizard2.png" style='width:415.8pt; height:316.2pt;visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\SUNNYA~1\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png" o:title="wizard2"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

1:为你的项目选择名字。

填写好值,点击Next.

 

步骤2:选择类型和API的等级

接下来的界面让你选择你app支持的类型,比如手机,平板,TV,可穿戴。被选址的类型将成为应用模块。对于每种类型,你可以为你的app选择API的等级。可以点击”Help me choose”获得更多信息。

<!--[if gte vml 1]><v:shape id="图片_x0020_2" o:spid="_x0000_i1030" type="#_x0000_t75" alt="http://developer.android.com/images/tools/wizard4.png" style='width:415.2pt;height:282.6pt;visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\SUNNYA~1\AppData\Local\Temp\msohtmlclip1\01\clip_image003.png" o:title="wizard4"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

2:选择API等级

 

API等级的窗口移动设备android版本的分布情况,像图3中的现实。点击一个API等级,将会看到对应版本的一系列特性。这样可以版主你选择最小的API等级,它包含了你app需要的所有特性,因此你可以在尽可能多的设备上使用。然后点击OK.

<!--[if gte vml 1]><v:shape id="图片_x0020_3" o:spid="_x0000_i1029" type="#_x0000_t75" alt="http://developer.android.com/images/tools/wizard3.png" style='width:415.2pt;height:399pt;visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\SUNNYA~1\AppData\Local\Temp\msohtmlclip1\01\clip_image005.png" o:title="wizard3"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

3:选择类型

 

3步:添加一个Activity

接下来的界面让你选择一个activity类型,添加到你的app中,就像图4显示的。这个界面显示了一系列的activites

<!--[if gte vml 1]><v:shape id="图片_x0020_4" o:spid="_x0000_i1028" type="#_x0000_t75" alt="http://developer.android.com/images/tools/wizard5.png" style='width:415.2pt;height:290.4pt;visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\SUNNYA~1\AppData\Local\Temp\msohtmlclip1\01\clip_image007.png" o:title="wizard5"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

4: 添加一个activity到你的应用

选择一个activity点击Next

 

4步:配置你的Activity

下一个界面让你配置activity.如图5

<!--[if gte vml 1]><v:shape id="图片_x0020_5" o:spid="_x0000_i1027" type="#_x0000_t75" alt="http://developer.android.com/images/tools/wizard6.png" style='width:415.2pt;height:355.2pt;visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\SUNNYA~1\AppData\Local\Temp\msohtmlclip1\01\clip_image009.png" o:title="wizard6"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

5:选择名字

 

步骤5:开发APP

Android Studio为你的项目创建了默认的结构,并且打开了开发环境。如果你的应用支持多种类型,Android Studio 为每种类型创建了一个模块目录,如图6

<!--[if gte vml 1]><v:shape id="图片_x0020_6" o:spid="_x0000_i1026" type="#_x0000_t75" alt="http://developer.android.com/images/tools/wizard7.png" style='width:415.2pt;height:282pt;visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\SUNNYA~1\AppData\Local\Temp\msohtmlclip1\01\clip_image011.png" o:title="wizard7"/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

6 一个手机应用的默认项目结构

 

现在你可以开始开发你的应用了,关于更多的信息,你可以参考一下链接:

<!--[if !supportLists]-->·        <!--[endif]-->Training Lessons

<!--[if !supportLists]-->·        <!--[endif]-->Building Apps for Wearables

<!--[if !supportLists]-->·        <!--[endif]-->Android TV

<!--[if !supportLists]-->·        <!--[endif]-->Google Glass

 

创建一个Android 模块

Android的应用模块包含了 src/main,Androidmanifest.xml,build.gradle,构建输出和另外的文件,都是你生成APK需要的文件。Android Studio提供了一个创建模块的想到,它可以让你使用快捷的方法创建一个新的Android模块(或者是用一个已经存在的代码中的模块)基于选择的应用设置,比如最小的SDK等级和activity模板。

 

选择File>New >Module创建一个模块,选择期望的模块类型,点击下一步填写模块基本的设置:

<!--[if !supportLists]-->l  <!--[endif]-->输入应用名字。这个名字是用来作为你登入图标的标题的。

<!--[if !supportLists]-->l  <!--[endif]-->输入模块名字。这个名字是用来作为你基于javaactivity文件的目录名

<!--[if !supportLists]-->l  <!--[endif]-->输入包名和包的路径。这个类的命名工具为你的应用创建了初始的包结构,斌企鹅作为package属性被添加打Android manifest文件中。这个manifest的值作为你发布应用到客户时的唯一标识。

<!--[if !supportLists]-->l  <!--[endif]-->选择最小小球的SDK。这个设置表明了你应用支持的最低Android平台的版本。这个值被设置在build.gradle文件的minSdkVersion属性中。

 

注:你可以随时手工的修改最小和目标SDK:双击build.gradle文件,在defaultconfig节点中设置targetSdkVersiontargetSdkVersion

 

<!--[if !supportLists]-->l  <!--[endif]-->选择目标SDK,这个设置意味着你的应用支持的最高Android版本,可以在你的build.gradle文件中设置targetSdkVersion

 

<!--[if !supportLists]-->l  <!--[endif]-->选择编译的API版本,这个配置指明了使用什么的SDK版本来编译你的项目。我们强烈建议使用最近的API版本。

 

<!--[if !supportLists]-->l  <!--[endif]-->选择语言级别的API版本。这个配置指明了使用什么的SDK版本来编译你的项目。我们强烈建议使用最近的API版本。

 

<!--[if !supportLists]-->l  <!--[endif]-->选择主题。这个设置指定了Android的哪个可见样式被应用到你的应用中。选择activity的模板。关于更多Android代码模板,查看”Using Code Templates”.

选择”Create activity”选项,可以为你的应用创建一些必要的组件。

<!--[if !supportLists]-->l  <!--[endif]-->选择需要的支持库

<!--[if !supportLists]-->l  <!--[endif]-->配置登录图标

<!--[if !supportLists]-->l  <!--[endif]-->在创建Activity的页面,选择activity的样板。关于更多的Android模板信息,查看”Using Code Templates”.

<!--[if !supportLists]-->l  <!--[endif]-->重新查看模块的设置,点击Finish

<!--[if !supportLists]-->l  <!--[endif]-->这个向导根据你已经选择的项创建了一个Android 应用模块。

 

设置一个库模块

一个库模块是一个标准的Android模块,因此你可以想创建一个应用模块一样创建一个库模块,使用创建模块向导,并且选择Android库模块类型。这将在你的项目视图中创建一个库模块。

 

build.gradle文件中,通过修改”com.android.library”你可以轻松的将一个应用模块变为一个库模块。

apply plugin:'com.android.application'

android
{...}

 

apply plugin:'com.android.library'
  
  android {...}

 

基于库模块添加一个依赖

 

库依赖的内容可以定义在模块的manifest文件中。

 

库模块的manifest文件必须声明它要共享的组件,就像Android应用模块一样。关于更多的信息,查看”AndroidManifest.xml”文件。

 

例如,TicTacToeLib例子库项目声明的GameActivity:

<manifest>
    ...
    <application>
      ...
      <activityandroid:name="GameActivity"/>
      ...
    </application>
  </manifest>

 

在构建文件中定义依赖,编辑app模块的构建文件(app/build.gradle),并且添加一个lib模块的依赖

...
  dependencies {
          
      ...
      compile project(":lib")
  }

在这个离职中,lib模块任然可以单独的构建和测试,并且可以构建为一个AAR包供其他项目使用。

 

注: 定义在库 app/build.gradle文件的设置将会覆盖所有共享库定义在manifest文件的资源。

 

应用一个库模块

如果你正在开发一个应用,并且想包含一个库模块的代码和资源,你也可以在模块引用页轻松的添加一个库模块的应用。

 

添加一个库模块的应用,安装如下步骤:

<!--[if !supportLists]-->1、<!--[endif]-->确保库模块和应用模块都在你的项目中。如果有一个不在,将它导入到项目中。

<!--[if !supportLists]-->2、<!--[endif]-->在项目视图中,右键依赖的项目,选择Open>Module Settings

<!--[if !supportLists]-->3、<!--[endif]-->右键添加图标,添加一个新的依赖。

如果你需要添加多个库的依赖,你可以通过上下选择一个库来指定他们的优先级。这个工具将从低优先级到高优先级的合并你的库。如果多个库都定义了一个相同的资源ID,工具将选择最高优先级的资源。应用它自己有最高的优先级,它的资源永远优先使用。

<!--[if !supportLists]-->4、<!--[endif]-->选择”Scope”的下拉选择框来选择如何使用这个依赖。

<!--[if !supportLists]-->5、<!--[endif]-->点击 Apply“来创建依赖。

Android Studio将重新构建模块,将会包含库模块的资源。

 

manifest文件中声明库组件

在应用模块的manifest文件中,你必须声明所用应用模块需要使用的组件(来自库模块的组件).例如,你必须声明任何的<activity>,<service>,<receiver>,<provider>,等等,同样的还有<permissiong><uses-library>,还有相似的元素。

 

声明这些库依赖组件,必须包含包的全名。

 

例如,TicTacToeMain 例子,应用声明了库的activity:GameActivity:

<manifest>
    ...
    <application>
      ...
      <activityandroid:name="com.example.android.tictactoe.library.GameActivity"/>
      ...
    </application>
  </manifest>

关于更多的manifest文件的信息,查看”AndroidManifest.xml”文件。

 

使用Android项目视图

Android的项目视图平级的展示了项目的结构,提供了会计地定位到Android项目的源文件,并且帮助你使用基于Gradle的构建系统。Android项目的视图:

<!--[if !supportLists]-->l  <!--[endif]-->在项目的顶层结构中,组织了所有模块的构建文件

<!--[if !supportLists]-->l  <!--[endif]-->在模块结构的顶层展示了最重要的源码目录

<!--[if !supportLists]-->l  <!--[endif]-->组织了所有模块的manifest文件

<!--[if !supportLists]-->l  <!--[endif]-->组织了所有模块的manifest文件

<!--[if !supportLists]-->l  <!--[endif]-->显示了来至Gradle的资源文件

<!--[if !supportLists]-->l  <!--[endif]-->为不同位置,方向和屏幕类型组织了资源文件

 

默认情况向Android的项目视图是可用的,并且在顶层的Gradle Scripts中显示了所有的构建文件。项目不快显示在项目顶层结构下,并且包含了这样三个目录:

<!--[if !supportLists]-->l  <!--[endif]-->manifests/ -模块的Manifest文件

<!--[if !supportLists]-->l  <!--[endif]-->java/ -模块的源码文件

<!--[if !supportLists]-->l  <!--[endif]-->res/ -模块的资源文件

通知android项目视图如何组织不同分辨率的ic_launcher.pn资源文件。

 

注: Android项目视图展示了一个层级结构,为了帮组你使用常用的文件。然而,和在磁盘中的项目文件是有区别的:

<!--[if gte vml 1]><v:shape id="图片_x0020_9" o:spid="_x0000_i1025" type="#_x0000_t75" style='width:415.2pt; height:379.8pt;visibility:visible;mso-wrap-style:square'> <v:imagedata src="file:///C:\Users\SUNNYA~1\AppData\Local\Temp\msohtmlclip1\01\clip_image013.png" o:title=""/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011350831/article/details/84774451

智能推荐

[Alsa]2, Arm Linux音频子系统环境搭建__山猫的博客-程序员宅基地

最近接到任务,要接手一些音频的一些东西,搞过的都知道这玩意在裸机环境下搞起来极其难受,毕竟有写有读,不上操作系统估计用中断来搞最后累死人。于是开始接触Alsa的一些东西,包括基本知识,Linux内核Alsa子系统部分,最后我们的目标当然是把开发环境打好,把Alsa用起来,下面开搞。1.基础知识基础知识可以在另一个大神的博客里了解一下,讲的很透彻,虽然是基于2.6.x版本来串联的,但是我看了一...

hdu4008 DFS_ls_0222的博客-程序员宅基地

题意:给你一棵无根树,求以x为根节点时, y的最小儿子和最小子孙,无儿子,输出no answer 思路:以1为跟DFS整棵树,记录以每个节点为跟的子树的最小儿子和次小儿子min_son[2],最小子孙min_down[N]          然后分情况讨论即可感谢

VUE页面中加载外部HTML_weixin_34306593的博客-程序员宅基地

前后端分离,后端提供了接口。但有一部分数据,比较产品说明文件,是存在其他的服务器上的。所以,在页面显示的时候,如果以页面内嵌的形式显示这个说明文件。需要搞点事情以达到想要的效果。不同以往的IFRAME标签,那种方式比较Low,另外有其他的一些BUG。本文思路是把HTML请求以来,以v-html的形式加载到页面内部。注册全局组件【v-ht...

关于imbalanced-learn的安装_Wizard Wangjiang的博客-程序员宅基地

imbalanced-learn安装过程。conda install -c glemaitre imbalanced-learn实在是一堆conflict,无法解决,网上看到大佬的帖子,链接如下。https://blog.csdn.net/weixin_41013322/article/details/102963352然后,就去imbalanced-learn readm...

23种设计模式之工厂方法模式_weixin_34218579的博客-程序员宅基地

为什么80%的码农都做不了架构师?&gt;&gt;&gt; ...

js ejs for语句的第二种遍历用法_weixin_30408309的博客-程序员宅基地

var A = {a:1,b:2,c:3,d:"hello world"}; for(var k in A) { console.log(k,A[k]); var h = new EJS({element:'ejs_render_id'}).render(render); } return;  转载于:https://www.cnblog...

随便推点

与同事协作一起维护发布同一个npm包,报错You do not have permission to publish_心刻的博客-程序员宅基地_npm库允许其他人pubish

问题在公司中与同事一起共同维护发布一个npm包(不同的npm账号共同维护同一个npm包),当我npm publish下一个版本的时候,出现报错,内容如下npm ERR! code E403npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/npm包名 - You do not have permission to publish "npm包名". Are you logged in as the correct user? npm

Visual Studio 2017中使用正则修改部分内容 如何使用ILAsm与ILDasm修改.Net exe(dll)文件 C#学习-图解教程(1):格式化数字字符串 小程序开发之图片转..._weixin_33877885的博客-程序员宅基地

Visual Studio 2017中使用正则修改部分内容 最近在项目中想实现一个小工具,需要根据类的属性&amp;lt;summary&amp;gt;的内容加上相应的[Description]特性,需要实现的效果如下修改前:/// &amp;lt;summary&amp;gt;/// 条形码/// &amp;lt;/summary&amp;gt; public List&amp;lt;GoodsBarcodeEditModel&amp;g...

最简明扼要的 Systemd 教程,只需十分钟_weixin_34015336的博客-程序员宅基地

转载自:https://linux.cn/article-6888-1.html Linux 101:最有效地使用 Systemd干嘛要这么做?理解现代 Linux 发行版中的显著变化;看看 Systemd 是如何取代 SysVinit 的;搞定单元(unit)和新的 journal 日志。吐槽邮件、人身***、死亡威胁——Lennart Poettering,Syste...

.net 批量打印可实现方案_weixin_30549175的博客-程序员宅基地

最近几年一直在教育行业工作,主要负责竞赛类系统的开发工作,包括网上报名,安排考场,在线考试,学业报告书等。 打印功能在这个信息化时代非常普遍,浏览器都自带打印功能,通常的做法是调用window.print() 完成。于是教学部对我们互联网信息部提出了一个更高级别的需求:批量打印!对于所有参加考试的学生,需要打印每个学生的学业报告书,一共4份,考试总体概况1个页面,单...

day03python爬虫_weixin_30249203的博客-程序员宅基地

2019/6/26一.爬虫原理二.Requests请求库一.爬虫原理什么是互联网?互联网其实是由一堆网络设备(比如:网线、路由器、交换机、防火墙等等...),把一台台的计算机互联网到一起称之为互联网。互联网建立的目的?互联网建立的目的是为了数据的传递以及数据的共享。什么是数据?例如淘宝、京东商品信息等......

Oracle 11g: The difference between WHERE and HAVING_weixin_30265103的博客-程序员宅基地

SQL&gt; select * from sys.SHIP_CABINS ;SHIP_CABIN_ID SHIP_ID ROOM_ ROOM_STYLE ROOM_TYPE WINDOW GUESTS SQ_FT BALCONY_SQ_FT------------- ---------- ----- ---------- ...

推荐文章

热门文章

相关标签