AndroidStudio新建项目

2024-08-21 22:58
文章标签 项目 新建 androidstudio

本文主要是介绍AndroidStudio新建项目,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

使用Android Studio新建Project并建立多个module

分类:  Android 2014-03-29 23:25  187人阅读  评论(0)  收藏  举报

说明:本篇内容涉及如何在AS中新建一个Project(应用工作区)并在Project里创建多个Module(项目),记录了在创建Module时遇到的问题,比如新建一个Module后选择要运行的项目时,项目标有红色的叉叉导致无法运行。


Getting Start

在使用Android Studio(以下简称AS)新建项目时都会有这样一个概念:

Eclipse中的WorkSpace相当于AS中的Project;

Eclipse中的Project相当于AS中的Module(只就新建而言)。

所以Eclipse中在一个WorkSpace中建立多个Project 等同于 在AS的Project中建立多个Module。


1. New Project

"File-> New Project"


弹出以下新建项目向导窗口:


Module Name是Project中的第一个Module的名字。

Minimum required SDK用来选择应用支持的最低的Android版本,底部的Support Mode会随着所能够支持的最小SDK的选择而变化,如下图所示,选择Android 3.0,底部的Fragment等选项自动消失:


因为在Android3.0及之后,其SDK已经开始支持Fragment。如果是Android 3.0之前的版本需要使用到Fragment的话,勾选了底部Support Mode的Fragment就会为低版本的sdk提供相应的支持Fragment的库文件。

一路“Next”之后,设置默认的Activity及其生成的布局文件:


点击“Finish”完成项目的创建,项目新建完成后,项目结构如下图所示:



2. New Module

“HelloWorld”是Project中的第一个创建的Module,再创建一个新的Module选择“File -> New Module”后弹出:


在弹出的New Module向导对话框选择“Android Application”,点击“Next”


新建的Module命名为“HelloChina”,一路“Next”,在以下窗口中选择“Blank Activity”空白的Activity


上述操作完后进入Module的启动Activity的设置:


可以看到Layout Name中默认显示activity_main2,因为第一个Module中已经生成了activity_main.xml(觉得这里不是很方便,每个Module新建时默认的Activity可以同名但是其对应的布局文件命名不能同名,对于不同的项目而言这种限制不是很爽)。Navigation Type可以选择导航类型,右边的视图会相应显示布局效果。

点击“Finish”完成Module的创建,创建后的工程结构如下图:


3. Run Module

接下来我们来运行新建的项目(这里所说的项目指的是Module),在AS顶部的工具栏里选择要运行的项目,从下图可以看到项目"HelloChina"上标了红叉:


点击“Edit Configurations”去看看哪里出问题


错误指出是找不到默认的Activity(我们在Activity模块里看到勾选的是启动默认Activity)

但是在项目中已经生成了默认的Activity了即MainActivity,为什么还会找不到呢?

起初遇到该问题时以为是除了第一次随新建Project时创建的Module之外,之后再创建的Module都要手动在配置里设置默认启动的Activity,于是乎我就手动设置了默认Activity,如下图所示,指定了“HelloChina”项目的默认启动Activity——MainActivity:


设置之后原先在“HelloChina”的红叉不见了,也可以点击运行按钮了,但是运行之后项目并没有启动成功,在logcat里打印出如下内容:

----------------------------------------Log------------------------------------------

Waiting for device.
Target device: htc-htc_t329d-HC2CBMM04272
Uploading file
    local path: G:\five\ProjectCabin\MyWorkSpace\HelloChina\build\apk\HelloChina-defaultFlavor-debug-unaligned.apk
    remote path: /data/local/tmp/com.aliao.hellochina
Installing com.aliao.hellochina
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.aliao.hellochina"
pkg: /data/local/tmp/com.aliao.hellochina
Success


Launching application: com.aliao.hellochina/com.aliao.hellochina.MainActivity.
DEVICE SHELL COMMAND: am start -n "com.aliao.hellochina/com.aliao.hellochina.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.aliao.hellochina/.MainActivity }
java.lang.SecurityException: Permission Denial: starting Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.aliao.hellochina/.MainActivity } from null (pid=27937, uid=2000) not exported from uid 10046
at android.os.Parcel.readException(Parcel.java:1430)
at android.os.Parcel.readException(Parcel.java:1384)
at android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:1921)
at com.android.commands.am.Am.runStart(Am.java:463)
at com.android.commands.am.Am.run(Am.java:108)
at com.android.commands.am.Am.main(Am.java:81)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:257)
at dalvik.system.NativeStart.main(Native Method)

----------------------------------------Log------------------------------------------

百度知道后,打开了HelloChina项目的AndroidManifest.xml文件,发现:


MainActivity即默认启动的Activity竟然没有生成IntentFilter,含有如下设置的IntentFilter的Activity会被应用程序指定为程序的入口,即最先启动的Activity。

[java]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. <intent-filter>  
  2.                <action android:name="android.intent.action.MAIN" />  
  3.   
  4.                <category android:name="android.intent.category.LAUNCHER" />  
  5. </intent-filter>  

在<activity></activity>里加上这段代码后,项目的红叉消失了,原先在"Run/Debug Configuration"配置窗口里的Activity配置部分,仍然勾选 “Launch default activity”选项。

注:之后新建的Module生成的Manifest文件里默认的Activity标签里都没有<intent-filter>...</intent-filter>,只能手动添加,不知道AS这么做的目的是什么。由于我用的AS版本是0.3.7,最新的AS已经到0.4.x了,不晓得这个东东在最新版的AS里会不会有,有待验证。

运行项目成功:


自动生成的Navigation Drawer用起来很舒服!

这篇关于AndroidStudio新建项目的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1094527

相关文章

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

Springboot项目构建时各种依赖详细介绍与依赖关系说明详解

《Springboot项目构建时各种依赖详细介绍与依赖关系说明详解》SpringBoot通过spring-boot-dependencies统一依赖版本管理,spring-boot-starter-w... 目录一、spring-boot-dependencies1.简介2. 内容概览3.核心内容结构4.

在ASP.NET项目中如何使用C#生成二维码

《在ASP.NET项目中如何使用C#生成二维码》二维码(QRCode)已广泛应用于网址分享,支付链接等场景,本文将以ASP.NET为示例,演示如何实现输入文本/URL,生成二维码,在线显示与下载的完整... 目录创建前端页面(Index.cshtml)后端二维码生成逻辑(Index.cshtml.cs)总结

Spring Boot项目如何使用外部application.yml配置文件启动JAR包

《SpringBoot项目如何使用外部application.yml配置文件启动JAR包》文章介绍了SpringBoot项目通过指定外部application.yml配置文件启动JAR包的方法,包括... 目录Spring Boot项目中使用外部application.yml配置文件启动JAR包一、基本原理

Springboot项目登录校验功能实现

《Springboot项目登录校验功能实现》本文介绍了Web登录校验的重要性,对比了Cookie、Session和JWT三种会话技术,分析其优缺点,并讲解了过滤器与拦截器的统一拦截方案,推荐使用JWT... 目录引言一、登录校验的基本概念二、HTTP协议的无状态性三、会话跟android踪技术1. Cook

springboot项目中集成shiro+jwt完整实例代码

《springboot项目中集成shiro+jwt完整实例代码》本文详细介绍如何在项目中集成Shiro和JWT,实现用户登录校验、token携带及接口权限管理,涉及自定义Realm、ModularRe... 目录简介目的需要的jar集成过程1.配置shiro2.创建自定义Realm2.1 LoginReal

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav