android程序一个注册,然后到设置兴趣爱好,出生日期,然后把所有信息显示在另一个页面的程序

本文主要是介绍android程序一个注册,然后到设置兴趣爱好,出生日期,然后把所有信息显示在另一个页面的程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这个程序要达到的效果简图如下图

这里写图片描述

第一个页面


public class MainActivity extends Activity implements OnClickListener,OnCheckedChangeListener {EditText username, password;RadioGroup sex;Button btn_register, btn_cancel;UserBean user;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);user = new UserBean();initView();}private void initView() {username = (EditText) findViewById(R.id.username);password = (EditText) findViewById(R.id.password);sex = (RadioGroup) findViewById(R.id.sex);btn_register = (Button) findViewById(R.id.btn_register);btn_cancel = (Button) findViewById(R.id.btn_cancel);btn_register.setOnClickListener(this);btn_cancel.setOnClickListener(this);sex.setOnCheckedChangeListener(this);// 给定一个初始状态sex.check(R.id.boy);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.btn_cancel:// 关闭finish();break;case R.id.btn_register:String uname = username.getText().toString();String pwd = password.getText().toString();// 非空if (TextUtils.isEmpty(uname) || TextUtils.isEmpty(pwd)) {Toast.makeText(this, "用户名或密码不能为空", Toast.LENGTH_SHORT).show();return;} else {user.setUsername(uname);user.setPassword(pwd);// 跳转并且携带数据Intent intent = new Intent(this, SetActivity.class);intent.putExtra("user", user);startActivity(intent);}break;default:break;}}@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {// 状态改变时switch (checkedId) {case R.id.boy:user.setSex('男');break;case R.id.gril:user.setSex('女');break;}}
}

第一个页面的xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"android:padding="20dp"tools:context="com.example.lesson4_demo.MainActivity" ><EditText
        android:id="@+id/username"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入用户名" /><EditText
        android:id="@+id/password"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入密码" /><RadioGroup
        android:id="@+id/sex"android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:orientation="horizontal" ><RadioButton
            android:id="@+id/boy"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center"android:padding="10dp"android:text="男" /><RadioButton
            android:id="@+id/gril"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_weight="1"android:gravity="center"android:padding="10dp"android:text="女" /></RadioGroup><LinearLayout
        android:layout_width="match_parent"android:layout_height="wrap_content"android:gravity="center"android:orientation="horizontal" ><Button
            android:id="@+id/btn_register"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="注册" /><Button
            android:id="@+id/btn_cancel"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="取消" /></LinearLayout></LinearLayout>

新建user类拿来装信息

public class UserBean implements Serializable {/*** */private static final long serialVersionUID = 1123123123L;@Overridepublic String toString() {return "UserBean [username=" + username + ", password=" + password+ ", sex=" + sex + ", hobbit=" + hobbit + ", birthday="+ birthday + "]";}String username;String password;char sex;String hobbit;String birthday;public UserBean() {super();}public UserBean(String username, String password, char sex, String hobbit,String birthday) {super();this.username = username;this.password = password;this.sex = sex;this.hobbit = hobbit;this.birthday = birthday;}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 char getSex() {return sex;}public void setSex(char sex) {this.sex = sex;}public String getHobbit() {return hobbit;}public void setHobbit(String hobbit) {this.hobbit = hobbit;}public String getBirthday() {return birthday;}public void setBirthday(String birthday) {this.birthday = birthday;}}

第二个页面 选择爱好和出生日期

public class SetActivity extends Activity implements OnCheckedChangeListener,OnClickListener {CheckBox cb_music, cb_lol, cb_swing;DatePicker datePicker;Button btn_finish;List<String> list = new ArrayList<String>();UserBean user;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_set);initView();user = (UserBean) getIntent().getSerializableExtra("user");}private void initView() {cb_music = (CheckBox) findViewById(R.id.cb_music);cb_lol = (CheckBox) findViewById(R.id.cb_lol);cb_swing = (CheckBox) findViewById(R.id.cb_swing);cb_music.setOnCheckedChangeListener(this);cb_lol.setOnCheckedChangeListener(this);cb_swing.setOnCheckedChangeListener(this);datePicker = (DatePicker) findViewById(R.id.datepicker);btn_finish = (Button) findViewById(R.id.btn_finish);// 初始化时间Calendar calendar = Calendar.getInstance();datePicker.init(calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH),new OnDateChangedListener() {@Overridepublic void onDateChanged(DatePicker view, int year,int monthOfYear, int dayOfMonth) {user.setBirthday(year + "-" + (monthOfYear + 1) + "-"+ dayOfMonth);}});btn_finish.setOnClickListener(this);}@Overridepublic void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {switch (buttonView.getId()) {case R.id.cb_music:if (isChecked)list.add("音乐");elselist.remove("音乐");break;case R.id.cb_lol:if (isChecked)list.add("英雄联盟");elselist.remove("英雄联盟");break;case R.id.cb_swing:if (isChecked)list.add("游泳");elselist.remove("游泳");break;}}@Overridepublic void onClick(View v) {// 将爱好设置进去if (list.size() > 0) {StringBuffer sb = new StringBuffer();for (String str : list) {sb.append(str + " ");}user.setHobbit(sb.toString());}// 跳转Intent intent = new Intent(this, ResultActivity.class);intent.putExtra("user", user);startActivity(intent);}}

第二个页面的xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical" ><Button
        android:id="@+id/btn_finish"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="完成" /><TextView
        android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#80cccccc"android:padding="5dp"android:text="兴趣爱好" /><CheckBox
        android:id="@+id/cb_music"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="音乐" /><CheckBox
        android:id="@+id/cb_lol"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="LOL" /><CheckBox
        android:id="@+id/cb_swing"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="游泳" /><TextView
        android:layout_width="match_parent"android:layout_height="wrap_content"android:background="#80cccccc"android:padding="5dp"android:text="生日" /><DatePicker
        android:id="@+id/datepicker"android:layout_width="match_parent"android:layout_height="match_parent" /></LinearLayout>

最后一个显示的页面

public class ResultActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);TextView tv = new TextView(this);setContentView(tv);UserBean user = (UserBean) getIntent().getSerializableExtra("user");tv.setText(user.toString());}
}

这篇关于android程序一个注册,然后到设置兴趣爱好,出生日期,然后把所有信息显示在另一个页面的程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/334414

相关文章

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

CSS弹性布局常用设置方式

《CSS弹性布局常用设置方式》文章总结了CSS布局与样式的常用属性和技巧,包括视口单位、弹性盒子布局、浮动元素、背景和边框样式、文本和阴影效果、溢出隐藏、定位以及背景渐变等,通过这些技巧,可以实现复杂... 一、单位元素vm 1vm 为视口的1%vh 视口高的1%vmin 参照长边vmax 参照长边re

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx