逻辑和视图分离
创建Activity
创建一个空的页面
Launcher Activity ☑️ 表示打开即这个页面
Generate a Layout File ☑️ 表示创建布局文件 。 如果不勾选那么手动创建


任何Activity都要对应一个onCreate()方法。
一个空页面
注册
<applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.HelloWorld"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application>
- 活动的注册要放在 内。通过来注册。
android:name 表示具体注册哪一个活动。.MainActivity 表示com.example.helloworld.MainActivity。
Toast
package com.example.helloworld;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.Toast;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.taoyaapp);Button btn1 = (Button) findViewById(R.id.button);btn1.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) {Toast.makeText(MainActivity.this, "You Click", Toast.LENGTH_LONG).show();}});}}
- 通过 findViewById()方法找到布局文件中的元素。返回一个View对象,向下转型Button对象
- 通过setOnClickListener 注册监听器。
- Toast三个参数
第一个Context
第二个显示的文本内容
第三个显示的时长
寻找控件
给控件一个id
比如
android:id="@+id/one"
那么我们就可以寻找到这个控件了
TextView one = findViewById(R.id.one);one.setText("Hello");
引用String
我们不直接将字符串写入到布局文件中,而是。
定义 res/values/strings.xml
<resources><string name='one'> One </string></resources>
引用
<TextViewandroid:text='@string/one'>...</TextView>
基本控件
TextView

