移动软件开发
实验一:第一个android项目
一、实验目的
- 掌握搭建android开发环境的搭建;
- 掌握android studio下项目(Project)创建,了解Project和Module的区别。
- 了解android studio各文件夹的作用,掌握资源和资源ID的概念和应用。
二、实验内容
- 根据PPT或课本中的提示,下载相关的软件,搭建Android开发环境。
- 创建自己的第一个android项目,并编译运行该程序。
- 在第一个项目基础上,执行 File->New->New Module创建一个新module,在项目文件区通过Project模式看一下新建的module与之前建的项目有什么关系?
- 在第一个新建项目基础上,找到AndroidManifest.xml文件,如下图所示,其中icon表示应用安装时的图标,label为应用的名字,根据其对应的资源ID在res文件夹中找到对应的资源,运行程序,看模拟器中的图标和应用名字是否与资源相同。
- 尝试在string.xml文件中新建一个名字为app_name2的string资源,将label的值改为app_name2对应的资源ID,运行程序观察一下发生了什么变化?
三、实验过程
- 根据PPT或课本中的提示,下载相关的软件,搭建Android开发环境。
- 创建自己的第一个android项目,并编译运行该程序。
创建HelloWorld项目:
在Android Studio的界面点击Start a new Android Studio project,创建一个新的界面,Application name为Hello World,选择项目代码存放的位置,点击Next。选择Empty Activity创建一个空的活动,点击Next。
活动命名为HelloWorldActivity,布局命名为hello_world_layout,点击Finish。
项目创建成功。
配置并启动好模拟器。
点击run ‘app’按钮,
选择模拟器,点击OK。
HelloWorld项目运行成功。 - 在第一个项目基础上,执行 File->New->New Module创建一个新module,在项目文件区通过Project模式看一下新建的module与之前建的项目有什么关系?
在第一个项目基础上,执行 File->New->New Module创建一个新module,选择Phone & Table Module,点击Next。应用名称为My Application,Module名称为myapplication,点击Next。
创建一个空的活动,点击Next。
活动命名为MainActivity,布局命名为activity_main,点击Finish。
创建成功后,可以看到目录结构如下。
两个Module可以分开编译运行:
Android studio中,一个Project代表一个完整的APP,Module表示APP中的一些依赖库或独立开发的模块。比如可以新建一个library做为module,然后在主APP上点右键 open module setting的Dependencies中添加一个模块依赖。然后主APP中就可以使用module中的类了。
因此得知,新建的module与之前建的项目同属一个Project工作区间,Module是一个具体项目,可以分开编译运行,一个Project代表一个完整的app,Module表示APP中的一些依赖库或独立开发的模块。
- 在第一个新建项目基础上,找到AndroidManifest.xml文件,如下图所示,其中icon表示应用安装时的图标,label为应用的名字,根据其对应的资源ID在res文件夹中找到对应的资源,运行程序,看模拟器中的图标和应用名字是否与资源相同。
第一个新建项目的AndroidManifest.xml文件如下。
根据其对应的资源ID在res文件夹中找到对应的资源。
icon:label为HelloWorld:
roundIcon:运行程序,发现模拟器中的图标和应用名字与资源相同。
- 尝试在string.xml文件中新建一个名字为app_name2的string资源,将label的值改为app_name2对应的资源ID,运行程序观察一下发生了什么变化?
在string.xml文件中新建一个名字为app_name2的string资源,值为HelloWorld2。将label的值改为app_name2对应的资源ID。
运行程序,程序名称改为HelloWorld2。
附:获取string.xml文件里面的方法
1.在AndroidManifest.xml与layout等xml文件里:
android:text="@string/resource_name"
2.在activity里:
方法一:this.getString(R.string.resource_name);
方法二:getResources().getString(R.string.resource_name);
方法三:
View view = getView();
final Context context = getView().getContext();
context.getResources().getString(R.string.resource_name);
或者getString(int id,Object …obj);
R.string.resource_name 是int类型的
3.在其他java文件(必须有Context或pplication)
方法一: context.getString(R.string.resource_name);
方法二: application.getString(R.string.resource_name);