【Android】入门案例(一)——简单登录

前言

实习期间,闲来无事,和师傅学学Android入门一下

Android的环境搭建和配置就不多说了,直接上干货

一、效果

先看下本案例想要实现的效果,由于是第一个小案例,所以并没有连接数据库,后面的博客应会有涉及

【Android】入门案例(一)——简单登录_第1张图片【Android】入门案例(一)——简单登录_第2张图片

 二、步骤

1.新建工程

2.User.java

public class User implements Serializable {
    private String username;
    private String password;
    private String sex;

    public User() {
    }

    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public User(String username, String password, String sex) {
        this.username = username;
        this.password = password;
        this.sex = sex;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }
}

3.activity_main.xml




    

        
        
        
        

        
            
            
        

        

            

            

            

            

            
        

        

        

        

4.MainActivity.java

public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    Button login,cancle;
    EditText user,pwd;
    RadioButton man,woman;
    String username,password,sex;
    User u;

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

        login=(Button)findViewById(R.id.btn_login);
        cancle=(Button)findViewById(R.id.btn_cancel);

        user=(EditText)findViewById(R.id.et_username);
        pwd=(EditText)findViewById(R.id.et_password);

        man=(RadioButton)findViewById(R.id.rb_man);
        woman=(RadioButton)findViewById(R.id.rb_woman);

        login.setOnClickListener(this);
        cancle.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_login:
                username = user.getText().toString().trim();
                password = pwd.getText().toString().trim();
                if(man.isClickable()) {
                    sex = "男";
                } else if(woman.isClickable()) {
                    sex = "女";
                    u = new User(username,password,sex);
                }
                u = new User(username,password,sex);
                checkLogin(u);
                break;
            case R.id.btn_cancel:
                break;
        }
    }

    private void checkLogin(User u) {

        if(u.getUsername().equals("WZJ") && u.getPassword().equals("wzj") && u.getSex().equals("男")) {
            Intent intent=new Intent(this,infoActivity.class);
            intent.putExtra("user",u);
            startActivity(intent);
        }

    }
}

5.activity_info.xml




    

    

    


6.infoActivity.java

public class infoActivity extends AppCompatActivity {
    Button button;
    TextView tv1,tv2,tv3;
    String sex,username,password;

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

        tv1=(TextView)findViewById(R.id.info_username);
        tv2=(TextView)findViewById(R.id.info_password);
        tv3=(TextView)findViewById(R.id.info_sex);

        Intent getData=getIntent();
        User user = (User)getData.getSerializableExtra("user");
        tv1.setText("Your username is " +user.getUsername());
        tv2.setText("Your sex is "+user.getSex());
        tv3.setText("Your password is "+user.getPassword());
    }
}

三、注解

1、Intent的概念:

  • Android中提供了Intent机制来协助应用间的交互与通讯,或者采用更准确的说法是,Intent不仅可用于应用程序之间,也可用于应用程序内部的activity, service和broadcast receiver之间的交互。Intent这个英语单词的本意是“目的、意向、意图”。
  • Intent是一种运行时绑定(runtime binding)机制,它能在程序运行的过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来响应。

2.TextView就是文本视图,只是用来显示文字的。 

标签代表着我们要在Activity中添加一个个TextView, 标签中可以设置一些属性。

(1).android:id属性代表着TextView的Id,也就是TextView的唯一标示,在java代码中我们可以通过findViewById()方法来通过Id获取控件。上述控件的唯一id为name_text_view。

(2).android:layout_width属性代表着控件的宽度,该属性的值是match_parent, 表示该控件的宽度与父视图的宽度相同。

(3).android:layout_height属性代表着控件的高度,该属性的值是wrap_content,表示控件的高度根据内容的高度进行改变。

(4).android:gravity属性代表着TextView中文字对齐方式,有多种方式,我们在此选的是center,居中显示。

(5).android:textSize属性代表着TextView中文字的型号,也就是文字的大小。

(6).android:textColor属性设置的是TextView中文字的颜色,属性值是16进制的色值。

(7).android:text属性就是用来设置TextView显示的值的。

3.EditText 接收用户输入的数据

(1).android:hint属性后边是一个字符串,其实就是用来占位用的字符串,功能是提示用户该输入框是干嘛的,在iOS开发中叫做Placeholder。

(2).android:macLines 用来设置输入框的最大行数。

在Activity中获取EditText对象,也是通过Id方式,通过id实例化EditText对象,并获取其中的文

4.Button  在Activity的类中也是使用findViewById来通过Id获取该按钮,获取按钮后我们需要给按钮绑定点击事件。也就是点击按钮要做的事情,下方给出了两中方式,一种是块的形式,一种是委托代理的形式。 

(1).接口回调的形式绑定点击事件
Button button = (Button) findViewById(R.id.click_button);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //点击按钮要做的事情
            }
        });
(2)委托代理
button.setOnClickListener(this);

//重写委托回调的方法
    /**
     * Called when a view has been clicked.
     *
     * @param v The view that was clicked.
     */
    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.click_button:
                //点击按钮后要做的事情
                break;
            default:
                break;
        }
    }

 一个简单的小案例就完成喽,愿各位也能顺利成功!

后续的学习将不断跟进博文!

你可能感兴趣的:(Android案例,Android入门,★★Android入门★)