2.08Android2

一、今日学习内容

   

一、Android项目结构

常用的两种项目结构:Android模式和Project模式

1.Android模式

 

(1)manifests:显示Android全局描述文件

AndroidManifest.xml文件:

复制代码
复制代码
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.example.a86147.helloworld">
 4 
 5     <application
 6         android:allowBackup="true"
 7         android:icon="@mipmap/ic_launcher"
 8         android:label="@string/app_name"
 9         android:supportsRtl="true"
10         android:theme="@style/AppTheme">
11         <activity android:name=".HelloWorldActivity">
12             <intent-filter>
13                 <action android:name="android.intent.action.MAIN" />
14 
15                 <category android:name="android.intent.category.LAUNCHER" />
16             </intent-filter>
17         </activity>
18     </application>
19 
20 </manifest>
复制代码
复制代码

<application </application>——配置整个应用的属性

<activity></activity>——配置应用中的activity

<intent-filter>

       <action android:name="android.intent.action.MAIN" />

       <category android:name="android.intent.category.LAUNCHER" />

</intent-filter> ——将当前activity设为应用入口

(2)java:显示Android应用中的包以及java源文件

应用的包

复制代码
复制代码
 1 package com.example.a86147.helloworld;
 2 
 3 import android.support.v7.app.AppCompatActivity;
 4 import android.os.Bundle;
 5 
 6 public class HelloWorldActivity extends AppCompatActivity {
 7 
 8     @Override
 9     protected void onCreate(Bundle savedInstanceState) {
10         super.onCreate(savedInstanceState);
11         setContentView(R.layout.hello_world_layout);
12     }
13 }
复制代码
复制代码

注意:

  • Android中一个activity就是一个java类

  • R文件是自动生成的,并且不能修改

  • R文件生成失败会报错

      解决方法:Android Studio菜单项中点击Build—Clean Project即可解决

 进行单元测试

(3)res:显示资源文件,例如布局文件、图片资源文件

 drawable目录:存放位图文件(PNG、JPEG或者GIF)、9Patch图片、Shape Drawable对象等XML资源文件

 layout目录:存储布局文件

 mipmap目录:存放应用的启动图标,例如:mipmap-mdpi、mipmap-hdpi、mipmap-xhdpi、mipmap-xxhdpi、mipmap-xxxhdpi

 values目录:保存字符串、样式、尺寸等资源

 Gradle Scripts:与源码无关

 注意:

  • 布局文件——控制窗口显示哪些内容

  • 9-Patch图片和Shape资源文件只能放在drawable目录中

  • 需要适应屏幕分辨率的图片一般放在mipmap目录中,可以提高显示性能,占用内存更少


2.Project模式

除了app目录之外,大多数文件和目录都是自动生成的,并不需要修改。

app目录:

(1)build:包含一些编译时自动生成的文件。

(2)libs:需要将第三方jar包放在此目录下。这些jar包会自动添加到构建路径里。

(3)androidTest:编写Android Test测试用例。

(4)java:放置java代码

(5)res:此目录存放使用到的所有图片、布局、字符串等资源。其中图片放在drawable目录下,布局放在layout目录下,字符串放在values目录下。

(6)AndroidManifest.xml:是整个Android项目的配置文件,在程序中定义的所以四大组件都需要在这个文件里注册,另外还可以在这个文件中给应用程序添加权限声明。

(7)test:编写Unit Test测试用例的,是对项目进行自动化测试的另一种方式。

(8).gitignore:这个文件用于将app模块内的指定的目录或文件排除在版本控制之外,作用和外层的.gitignore文件类似。

(9)app.iml:IntelliJ IDEA项目自动生成的文件。

(10)build.gradle:是app模块的gradle构建脚本,这个文件中会指定很多项目构建相关的配

(11)proguard-rules.pro:这个文件用于指定项目代码的混淆规则,当代码开发完成后打成安装包文件,如果不希望代码被别人破解,通常会将代码混淆,从而让破解者难以阅读。


二、项目分析

1.在AndroidManifest.xml文件中的代码对HelloWorldActivity这个活动进行注册。

复制代码
复制代码
1 <activity android:name=".HelloWorldActivity">
2     <intent-filter>
3         <action android:name="android.intent.action.MAIN" />
4         <category android:name="android.intent.category.LAUNCHER" />
5     </intent-filter>
6 </activity>
复制代码
复制代码

表示HelloWorldActivity是这个项目的主活动。也就是说,手机上点击应用图标,首先启动这个活动。

2.HelloWorldActivity:

复制代码
复制代码
1 public class HelloWorldActivity extends AppCompatActivity {
2 
3     @Override
4     protected void onCreate(Bundle savedInstanceState) {
5         super.onCreate(savedInstanceState);
6         setContentView(R.layout.hello_world_layout);
7     }
8 }
复制代码
复制代码
  • 项目中的所有活动必须继承Activity或者它的子类才能拥有活动的特性(AppCompatActivity是Activity的子类)。

  • onCreate()方法:一个活动被创建时必定要执行的方法。

  • Android程序设计提倡逻辑与视图分离,一般在布局文件中编写界面,然后在活动中引入进来。例如调用setContentView()方法,给当前的活动引入了一个hello_world_layout布局。

3.res/layout下的布局文件:

复制代码
复制代码
 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:id="@+id/hello_world_layout"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.example.a86147.helloworld.HelloWorldActivity">
11 
12     <TextView
13         android:layout_width="wrap_content"
14         android:layout_height="wrap_content"
15         android:text="Hello World!" />
16 </RelativeLayout>
复制代码
复制代码

TextView是系统提供的一个控件,用于在布局中显示文字。可以看到Hello World!字样。

二、遇到的问题

   对于Android studio的使用不熟练

三、明日计划

   明天继续学习Android的相关内容

原文地址:https://www.cnblogs.com/zyljal/p/14902778.html