Android手动创建一个活动
手动创建一个活动
1. 先点击 Start a new Android Studio project,会打开一个创建新项目的界面
2. Application name 表示应用名称,此应用安装到手机后会在手机上显示该名称。Company Domain 表示公司域名,Package name 表示项目的包名,Android 系统就是通过包名来区别不同应用程序的,因此包名具有唯一性。
接下Next可以对项目的最低兼容版本进行设置。如下,选择好后继续-Next
3. 这里我们选择 Add No Activity 然后 Finish(因为我们选择的是 Add No Activity 所以直接 Finish )此时项目便创建成功了。
- 完成后进入项目找到 app/src/main/java/com.example.test 目录此时是空的。现在右击 com.example.test 包 -> New -> java Class ,给类取名 Main1 并让其继承 Activity ,完成之后重写onCreate()方法。
创建布局和加载布局
- Android程序的设计讲究逻辑和视图的分离 ,最好每一个活动都能对应一个布局,布局就是用来显示的内容的,因此我们先来创建一个布局文件。
- app/src/main/res依次进入,在res目录上右击 ->New -> Directory,会弹出一个新建目录的窗口,这里先创建一个名为 layout(必须这样命名) 的目录。
- 创建完成后,对着 layout 目录右键 -> New -> Layout resource file,又会弹出一个新建布局资源文件的窗口,我们将这个布局文件命名为 main_layout,根元素就默认选择 LinearLayout(线性布局).
- 点击 OK 完成布局创建 ,之后点击 main_layout.xml 文件,添加如下代码创建一个按钮。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="按钮"/
</LinearLayout>
- 接下来我们在活动中加载这个布局。代码如下
public class Main1 extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
/*
此方法给当前活动加载一个布局
参数传入布局资源 id 就可以了。
*/
setContentView(R.layout.main_layout);
}
}
- 项目中添加的任何资源都会在 R 文件中生成一个相应的资源 id
在 AndroidManifest 文件中注册
- 所有的活动都要在 AndroidManifest.xml 中进行注册才能有效
- 打开 app/src/main/Android-Manifest.xml 文件,添加如下代码。
- 活动的声明要放在
<application>
标签内,这里通过<activity>
标签来对活动进行注册的。
-android:name
来指定具体注册哪一个活动
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.test">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".Main1"></activity>
</application>
</manifest>
- 仅仅是这样注册了活动,我们的程序仍是不能运行的,因为还没有为程序配置主活动,也就是说,当程序运行起来的时候,不知道首先启动哪个活动。
-
配置主活动的方法就是在
<activity>
标签的内部加入<intent-filter>标签
并在这个标签里添加: <activitandroid:name="android.intent.action.MAIN"/>
-
<categoryandroid:name="android.intent.category.LAUNCHER">
这两句声明
<activity android:name=".Main1">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
- 这时 Main1 就成为我们这个程序的主活动了,即点击桌面应用程序图标时首先打开的就是这个活动。下面是程序运行结果:
如有不正确地方,或者需要补充请留言。笔者也是个初学者,也是为了给自己做个笔记☺