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

相关文章

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

springboot项目如何开启https服务

《springboot项目如何开启https服务》:本文主要介绍springboot项目如何开启https服务方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录springboot项目开启https服务1. 生成SSL证书密钥库使用keytool生成自签名证书将

将Java项目提交到云服务器的流程步骤

《将Java项目提交到云服务器的流程步骤》所谓将项目提交到云服务器即将你的项目打成一个jar包然后提交到云服务器即可,因此我们需要准备服务器环境为:Linux+JDK+MariDB(MySQL)+Gi... 目录1. 安装 jdk1.1 查看 jdk 版本1.2 下载 jdk2. 安装 mariadb(my

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加