【Android】入门案例(一)——简单登录
前言
实习期间,闲来无事,和师傅学学Android入门一下
Android的环境搭建和配置就不多说了,直接上干货
一、效果
先看下本案例想要实现的效果,由于是第一个小案例,所以并没有连接数据库,后面的博客应会有涉及
二、步骤
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
<?xml version="1.0" encoding="utf-8"?>
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
<?xml version="1.0" encoding="utf-8"?>
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——
- 使用AlertDialog实现使用在android中弹出对话框,询问用户是否继续
- 【Android】安卓布局文件中xmlns属性
- Animation用法_animation动画效果
- [Accessibility] Missing contentDescription attribute on imag
- Android开发--Intent-filter属性详解 (转载)
- [Android记录]android中的shape
- 非常好看的android音量旋钮