《你的第一行Android代码》菜鸡的自学日记-第二天(欢迎大佬指点!)

一.新的Activity(活动)

1.Android Studio一个工作区间只能打开一个项目,因此又要重新创建一个Android项目,与HelloWorld的区别在于,这次选择Add No Activity,因为这次要熟悉手动创建活动。

#不要忘记将项目结构模式切换成Project

2.找到app/src/main/java/com.example.activitytest,右键点击创建一个Empty Activity(new/Activity/Empty Activity),将新建的Empty Activity命名为FisrtActivity。

#郭神的书上说不勾选Generate Layout File(自动为FisrtActivity创建一个对应的布局文件)和Launcher Activity(自动将FisrtActivity设置为当前项目的主活动),因为是菜鸟手动创建活动,这些自动生成的东西都不要勾选。(菜鸡本鸡勾选了一下,发现也就那样。。。)

如下图所示:
《你的第一行Android代码》菜鸡的自学日记-第二天(欢迎大佬指点!)
然后,因为没有勾选Generate Layout File这个能自动创建布局的选项,所有要找到app/src/main/res,右键点击Directory新建一个名为layout的目录,然后右键点击layout/new/Layout resource file,在弹出的窗口中,给布局文件命名为first_layout,根元素默认为LinearLayout。

弹出的新建资源布局文件窗口如图:
《你的第一行Android代码》菜鸡的自学日记-第二天(欢迎大佬指点!)
完成后,就能看见布局编辑器了(打字好慢,实际操作起来就几分钟的事。。。)

如图:
《你的第一行Android代码》菜鸡的自学日记-第二天(欢迎大佬指点!)
第一步手动创建基础布局就OK了。

二.添加一个小控件Button看一看

在编辑器下面可以看见Design和Text两个切换卡。

Design:可视化编辑,可以直接拖拽控件编辑布局,还能够预览布局(有点像JDBC)
Text:通过XML编辑布局

打开Text,可以看见如下代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    
 </LinearLayout>

然后在其中添加Button的相关代码,一个“<”,编辑器就会自动弹出许多控件选项,第一个就是我们需要的Button控件,点击后增加控件Button的id和text文本显示内容

 <Button
        android:id="@+id/button_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button 1"
        />

#match_parent表示让当前元素和父元素一样宽
#wrap_content表示当前元素的高度只要刚好包含里面的内容就行

效果预览
《你的第一行Android代码》菜鸡的自学日记-第二天(欢迎大佬指点!)
按钮显示出来后,一个简单的布局就完成了,接下来需要在活动中加载布局。回到FirstActivity,在onCreate()方法中加入如下代码:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.first_layout);
    }

#setContentView()方法中传入布局文件的ID
#项目中添加的所有资源会在R文件中生成一个相应的资源ID

三.将我们的FirstActivity设置为我们的主活动

主活动:打开程序时首先运行的活动

找到app/src/main/AndroidMainfest.xml,将代码修改为:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.a28222.activitytest">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".FirstActivity"
        
            android:label="This is FirstActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <action android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
            
        </activity>
    </application>

</manifest>

#空行间隔出来的代码就是我们加入的代码

#给主活动指定的label不仅会成为标题栏中的内容,还会成为启动器(Launcher)中应用程序显示的名称。

#无主活动程序依旧可以安装,但此类程序一般作为第三方服务供其他应用使用,比如某宝快捷支付。

小结:学会了手动创建基础布局,添加了一个小控件button,主活动的设置,事实上学的东西很少,但是日记写了半天。。。