编写一个简单的andriod注册页面,并跳转后显示注册信息

功能要求

1.注册页面
   (1)用户名
   (2)密码,确认密码
   (3)性别(单选)
   (4)学历 spinner
   (5)注册按钮

具体实现

在完成要求的过程中需要涉及五个文件的操作:
         Indexactivity:一开始的注册页面的activity。

         activity_index.xml:index的xml文件,控制注册页面的布局。

         ShowInfoactivity:显示注册信息的activity。

         activity_show_info.xml:显示注册信息页面的布局文件。

         strings.xml:字符串文件

string.xml文件

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="app_name">Adwork</string>
    <string name="action_settings">Settings</string>
    <string name="hello_world">Hello world!</string>
    <string name="name">用户名:</string>
    <string name="password">密 码:</string>
    <string name="password02">确认密码:</string>
    <string name="sex">性 别:</string>
    <string name="education">学 历:</string>
    <string name="submit">注册</string>
    <string name="boy"></string>
    <string name="girl"></string>

    <string-array name="choices">
        <item>小学</item>
        <item>初中 </item>
        <item>高中</item>
        <item>大学</item>
        <item>大学以上</item>
    </string-array>

    <string name="title_activity_show_info">ShowInfoActivity</string>

</resources>

注册页面

   首先将xml布局文件写出一个大致的布局,再在activity中进行其他需要的操作。

               Indexactivity.java代码。使用SharedPreferences存储数据,注册页面控件都比较简单,主要是单选按钮和spinner下拉列表的操作。spinner下拉列表有两种方式,一种是直接在xml中定义,一种是利用适配器对下拉列表进行操作。下面是使用适配器的方式

package com.example.adwork;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.Toast;

public class IndexActivity extends Activity {
	EditText usename,usepwd,usepwd2;
	Button submit;
	RadioButton r1,r2;
	SharedPreferences sp;
	Spinner spn; 
	String[] Item;
    String edu;
	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_index);
		usename = (EditText) this.findViewById(R.id.usename);			//用户名编辑框
		usepwd = (EditText) this.findViewById(R.id.usepwd);				//设置初始密码编辑框
		usepwd2 = (EditText) this.findViewById(R.id.usepwd2);			//二次输入密码编辑框
		submit =  (Button) this.findViewById(R.id.submit);				//注册按钮
		sp = this.getSharedPreferences("userinfo", this.MODE_PRIVATE);	//将用户注册的信息录入到SharedPreferences中进行存储
		r1 = (RadioButton) this.findViewById(R.id.boy);					//单选按钮男孩选项
		r2 = (RadioButton) this.findViewById(R.id.girl);				//单选按钮女孩选项
		spn = (Spinner) findViewById(R.id.spinner1);					//学历下拉列表
				
		Item = getResources().getStringArray(R.array.choices);         //获取提前在string.xml文件中定义好的学历下拉列表选项

		ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, Item);
			
		spn.setAdapter(adapter);
		
		spn.setOnItemSelectedListener(new OnItemSelectedListener() {

			@Override
			public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
				edu = Item[position];   //将选中的学历赋给edu
				//下面是我检验选择是否起作用的验证
//				Toast.makeText(IndexActivity.this, "你点击的是:"+edu, 2000).show();
			}

			@Override
			public void onNothingSelected(AdapterView<?> parent) {
				// TODO Auto-generated method stub
				
			}
		});

        // 下面的代码是xml方式
/*		spn.setOnItemSelectedListener(new OnItemSelectedListener() {	//监听用户选择的是哪一学历

			@Override
			public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
				// TODO Auto-generated method stub
				
				Item = getResources().getStringArray(R.array.choices);	//将选中的学历赋给edu
				edu = Item[position];
//				Toast.makeText(IndexActivity.this, "你点击的是:"+edu, 2000).show();
			}

			@Override
			public void onNothingSelected(AdapterView<?> parent) {
				// TODO Auto-generated method stub
				
			}
			
		});*/

		
		submit.setOnClickListener(new View.OnClickListener() {			//按键响应
			
			@Override
			public void onClick(View v) {
				String name = usename.getText().toString();				//用户名
				String pwd01 = usepwd.getText().toString();				//密码
				String pwd02 = usepwd2.getText().toString();			//二次输入的密码
				String sex = "";										//性别
				SharedPreferences.Editor editor = sp.edit();			//sp的编辑对象editor,通过它进行数据的存取
				if (pwd01.equals(pwd02)) {								//判断两次输入的密码是否一致,若一致则继续,不一致则提醒密码不一致
					
					if (r1.isChecked()) {								//判断选中的性别,并赋给sex
						sex =  "男";
					}
					if (r2.isChecked()) {
						sex =  "女";
					}
					editor.putString("username", name);				
					editor.putString("password", pwd01);
					editor.putString("sex", sex);
					editor.putString("education", edu);					//将用户的注册信息存储进SharedPreferences对象
					editor.commit(); 									//提交
//					Toast.makeText(IndexActivity.this, "用户名"+name+"密码"+pwd01+"性别"+sex+"学历"+edu, Toast.LENGTH_LONG).show();
					Toast.makeText(IndexActivity.this, "注册成功!", Toast.LENGTH_LONG).show();		//提示注册成功的信息
					Intent intent = new Intent(	IndexActivity.this,ShowInfoActivity.class);			//跳转到ShowInfoactivity
					startActivity(intent);
				}
				else {
					Toast.makeText(IndexActivity.this, "密码不一致!", Toast.LENGTH_LONG).show();			//提示密码不一致
				}
			}
		});
	}


}

     activity_index.xml代码。

<LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" 
    android:orientation="vertical">
       <!-- 用户名部分 -->
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/name" />
    
     <EditText
        android:id="@+id/usename"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text=""
        />
        <!-- 密码部分 -->
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/password"
        />
    
    <EditText
        android:id="@+id/usepwd"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:password="true" 
         
        />
     	<!-- 确认密码部分 -->
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/password02"
         />
    
      <EditText
        android:id="@+id/usepwd2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:password="true" 
         
        /> 
         <!-- 性别部分 -->
      <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/sex"
       />
      <RadioGroup 
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        >
        <RadioButton 
            android:id="@+id/boy"
            android:text="@string/boy"
            />
         <RadioButton 
            android:id="@+id/girl"
            android:text="@string/girl"
            />
      </RadioGroup>
            <!-- 学历部分 -->
      <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/education"
       />
      <!--   android:entries="@array/choices" 使用xml方式的话需要将这句代码放入spinner空间中-->
       <Spinner
            android:id="@+id/spinner1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
          />
            <!-- 注册按钮部分 -->
        <Button 
        android:id="@+id/submit"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/submit" />
         

</LinearLayout>

信息显示页面

     信息显示页面相对简单了许多,只需要将存储在SharedPreferences中的数据取出并显示出来即可。
ShowInfoactivity代码:

package com.example.adwork;

import android.os.Bundle;



import android.app.Activity;
import android.content.SharedPreferences;
import android.view.Menu;
import android.widget.EditText;
import android.widget.TextView;

public class ShowInfoActivity extends Activity {
	TextView showname,showpwd,showsex,showedu;
	SharedPreferences sp;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_show_info);
		showname = (TextView) this.findViewById(R.id.showname);		//用户名显示文本框
		showpwd = (TextView) this.findViewById(R.id.showpwd);		//密码显示文本框
		showsex = (TextView) this.findViewById(R.id.showsex);		//性别显示文本框
		showedu = (TextView) this.findViewById(R.id.showedu);		//学历显示文本框
		sp = this.getSharedPreferences("userinfo", this.MODE_PRIVATE);	//接收用户信息
		
		String name = sp.getString("username", "");
		String pwd = sp.getString("password", "");
		String sex = sp.getString("sex", "");
		String edu = sp.getString("education", "");					//将用户的注册信息取出并赋值给对应的变量
		
		showname.setText("用户名:\t\t"+name);
		showpwd.setText("密码:\t\t"+pwd);
		showsex.setText("性别:\t\t"+sex);
		showedu.setText("学历:\t\t"+edu);								//设置显示文本框的内容和格式
	}


}

activity_show_info.xml代码:

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    
    <TextView
        android:id="@+id/showname"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
       />
    
     <TextView
        android:id="@+id/showpwd"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />
        
     <TextView
        android:id="@+id/showsex"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
      />
     
     <TextView
        android:id="@+id/showedu"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
      />
    
</LinearLayout>

程序运行结果

注册页面
信息显示页面
注:头一回写文章,可能不全面。我本身也是大学生,正在学习这门课程,可能理解并不到位,记录一下自己写的东西。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值