Android第三讲笔记(Activity简单操作)

hushuo
发布于 2021-3-31 11:20
浏览
0收藏

Activity的概念
Activity是Android四大组件之一,为用户提供与系统交互的界面,对页面进行逻辑的操作
例如:QQ的界面每个人信息不一样,点击登陆按钮后的操作等等

Activity的操作
获得控件的方法
首先,在对控件进行交互时,要获得控件。通过**findViewById(R.id.控件id)**获得控件。然后可以对控件进行操作,下面是简单的演示。(关于R,创建的每一个工程出来src文件夹之外还有一个gen文件夹,gen里面有一个R.java,你在res目录下使用的图片,布局等资源都会在gen目录里的R。java自动生成对应的id。方便你调用)

Android第三讲笔记(Activity简单操作)-鸿蒙开发者社区
按钮点击事件
点击事件
1.实现类继承View.OnClickListener并且重写onClick方法
2.匿名类实现
3.拉姆达表达式实现。用此方法接口名字可以省略,方法名字也可以省略,但接口中只能有一个方法。
详细见代码

Android第三讲笔记(Activity简单操作)-鸿蒙开发者社区
示例一:点击按钮打印日志
Log.i(“标签名字”,“打印内容”);

Android第三讲笔记(Activity简单操作)-鸿蒙开发者社区

Activity代码:

package com.hnucm.android_03;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//        通过代码修改文本的值
//        第一步 拿到文本的引用   根据文本的内存地址找到这个控件
        TextView textView= findViewById(R.id.textView5);
        textView.setText("湖南中医药大学");
        //给浮点类型的数据,浮点类型可以转成sp
        textView.setTextSize(50);

        //拿到按钮的引用
        Button button = findViewById(R.id.button);

        //创建了一个类,实现了接口,匿名内部类
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Log.i("MainActivity","MyOnClick");
            }
        });

        //接口的名字也可以省略,方法的名字也可以省略,参数名字也可以省略
        //拉姆达表达式  接口只能有一个方法
        button.setOnClickListener(
                (v) -> {
                    Log.i("MainActivity","MyOnClick");
                }
        );


    }
}


示例二:获取文本值并判断正误
这里用到了在app中打印的方法。
核心代码:Toast.makeText(MainActivity.this,"登陆成功",Toast.LENGTH_LONG).show();
这个方法需要传递三个参数,第一个是Context,是Toast的上下文,由于活动本身继承了Context对象,使用当前Activity即可。第二个参数是Toast显示的内容。第三个参数是Toast显示的时长。

Android第三讲笔记(Activity简单操作)-鸿蒙开发者社区
Activity代码

package com.hnucm.android_03;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        EditText usernameText = findViewById(R.id.editTextTextPersonName);
        EditText passwordText = findViewById(R.id.editTextTextPersonName2);


//        MainActivity的父类的父类的父类的......是Context
        Button button=findViewById(R.id.button2);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String username = usernameText.getText().toString();
                String password = passwordText.getText().toString();

                if(username.equals("hnucm")&&password.equals("123456")){
                    Toast.makeText(MainActivity.this,"登陆成功",Toast.LENGTH_LONG).show();
                }
                else{
                    Toast.makeText(MainActivity.this,"登陆失败",Toast.LENGTH_LONG).show();
                }
            }
        });

    }
}

 

Android第三讲笔记(Activity简单操作)-鸿蒙开发者社区
示例三:简单加法计算器
在获得文本控件的数值之后,经过计算返回结果给另一个文本控件

Android第三讲笔记(Activity简单操作)-鸿蒙开发者社区

Activity代码

package com.hnucm.android_03;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        EditText num1 = findViewById(R.id.textView2);
        EditText num2 = findViewById(R.id.textView3);
        EditText result=findViewById(R.id.textView4);
//        MainActivity的父类的父类的父类的......是Context
        Button button=findViewById(R.id.button3);

        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                int i = Integer.parseInt(num1.getText().toString());
                int j = Integer.parseInt(num2.getText().toString());
                result.setText((i+j)+"");
            }
        });

    }
}


示例四:实现了加减乘除的计算器
预告:过几天会将实现的多个数字加减乘除的计算器代码放出来(虽然已经完成了,因为这个是作业,很多同学还未完成,作业截止后发出)先放几张图。

Android第三讲笔记(Activity简单操作)-鸿蒙开发者社区Android第三讲笔记(Activity简单操作)-鸿蒙开发者社区补充
出现错误解决方法(在模拟器中出现错误)
报错了,没有这个id

Android第三讲笔记(Activity简单操作)-鸿蒙开发者社区

1.查看日志

Android第三讲笔记(Activity简单操作)-鸿蒙开发者社区
2.分析错误的位置

Android第三讲笔记(Activity简单操作)-鸿蒙开发者社区

欢迎批评指正,未完待续…
————————————————
版权声明:本文为博主「a碟」的原创文章

分类
收藏
回复
举报
回复
    相关推荐