登陆界面详细代码

登陆界面详细代码

1)创建“登录页面”程序
创建一个名为“登录页面”的布局文件login.xml,该文件用于展示登录信息。程序界面如下图所示:

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

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:layout_centerVertical="true"
                android:background="@drawable/login">

    <TextView
            android:id="@+id/jiemian"
            android:layout_width="match_parent"
            android:layout_height="60dp"
            android:text= "登陆界面"
            android:textSize="40sp"
            android:textColor="#FFFFFF"
            android:background="#FF8F03"
            />
    <TextView
            android:id="@+id/name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="用户名:"
            android:layout_marginTop="20dp"
            android:layout_below="@id/jiemian"
            android:textSize="30sp"
            android:textStyle="bold"
            android:textColor="#FF8000"/>
    <EditText
            android:id="@+id/username"
            android:layout_width="300dp"
            android:layout_height="40dp"
            android:layout_toRightOf="@id/name"
            android:layout_below="@id/jiemian"
            android:layout_marginTop="20dp"
            android:hint="请输入昵称"
            android:minLines="1"
            android:textSize="15sp"
            />
    <TextView
            android:id="@+id/edit_password"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:layout_below="@id/name"
            android:text="密    码:"
            android:textSize="30sp"
            android:textStyle="bold"
            android:textColor="#FF8000"/>
    <EditText
            android:id="@+id/password"
            android:layout_width="300dp"
            android:layout_height="40dp"
            android:layout_below="@id/name"
            android:layout_marginTop="20dp"
            android:hint="请输入密码"
            android:inputType="textPassword"
            android:minLines="1"
            android:textSize="15sp"
            android:layout_toRightOf="@id/edit_password"/>

    <Button
            android:id="@+id/submit"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_marginTop="40dp"
android:layout_centerHorizontal="true"
            android:layout_below="@id/password"

            android:text="提交"
            android:textSize="30sp"
            android:textStyle="bold"/>
    <Button
            android:id="@+id/reg"
            android:layout_width="100dp"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@id/submit"
            android:layout_marginTop="40dp"
            android:text="注册"
            android:layout_below="@id/password"
            android:textSize="30sp"
            android:textStyle="bold"
    android:onClick="Click"/>



</RelativeLayout>

创建“登录页面”的界面交互代码Login.java,该程序实现用户信息的输入与显示,并通过点击按钮实现界面的切换。关键代码如下:

package com.itheima.mylogin;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;

public class Login extends AppCompatActivity {
private EditText unameEt, upassEt;
private Button submit,register;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.login);
    unameEt = (EditText) findViewById(R.id.username);
    upassEt = (EditText) findViewById(R.id.password);//register-findViewByld(R.id.register);
    submit = (Button) findViewById(R.id.submit);
    submit.setOnClickListener(
            new View.OnClickListener() {
                public void onClick(View v) {
                    //TODO Auto-generated method stub
                    String username = unameEt.getText().toString();
                    String password = upassEt.getText().toString();
                    SharedPreferences references = getSharedPreferences("account", Context.MODE_PRIVATE);
                    String name = references.getString("username", "");
                    String psw = references.getString("password", "");
                    Log.i("name", name );
                    if (username.isEmpty() | password.isEmpty()) {
                        String sb = "用户名和密码不能为空";
                        Toast.makeText(Login.this, sb.toString(), Toast.LENGTH_LONG).show();
                    } else if (name.equals(username) && psw.equals(password)) {
                        Intent intent1 = new Intent(Login.this, LoginOk.class);
                        startActivity(intent1);
                    } else {
                        String sb = "请输入正确的用户名和密码";
                        Toast.makeText(Login.this, sb.toString(), Toast.LENGTH_LONG).show();
                    }
                }
            });
}
            public void Click(View v) {
                Intent intent= new Intent(Login.this, Register.class);
                startActivityForResult(intent, 1);
//Toast.make Text(this," ilbXIJ",Toast.LENGTH. _LONG).login. _ok();
            }
            @Override
            protected void onActivityResult(int requestCode,int resultCode, Intent data) {
                super.onActivityResult(requestCode, resultCode, data);
                if (requestCode == 1) {
                    if (resultCode == 1) {
                        String name = data.getStringExtra("uname");
                        String pass = data.getStringExtra("upassword");
                        unameEt.setText(name);
                        upassEt.setText(pass);
                    }
                }
            }}

`(2)创建“注册页面”程序
创建一个名为“注册页面”的布局文件,该文件用于展示登录信息。程序界面如下图所示:

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

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:background="@drawable/login5"
                android:layout_height="match_parent">


<LinearLayout
        android:id="@+id/register_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:layout_marginTop="22dp"
        android:orientation="horizontal">

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="5dp"
            android:text="用户注册"
            android:textSize="35sp"
            android:textStyle="bold"
            android:textColor="#FF8000"/>

</LinearLayout>


<LinearLayout

        android:id="@+id/etuser"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginRight="10dp"
        android:layout_below="@id/register_name"
        android:orientation="horizontal">

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:padding="5dp"
            android:text="用户名:"/>

    <EditText
            android:id="@+id/et_user"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="请输入您的用户名"
            android:textSize="14sp"/>

</LinearLayout>




<LinearLayout
        android:id="@+id/regpassword"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:layout_marginTop="5dp"
        android:orientation="horizontal"
        android:layout_below="@id/etuser">

    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:padding="5dp"
            android:text="密    码:"/>

    <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="请输入密码"
            android:id="@+id/password"
            android:textSize="14sp"/>

</LinearLayout>




<TextView
        android:id="@+id/sex"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:layout_below="@id/regpassword"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:padding="5dp"
        android:text="性    别:"
/>

<RadioGroup
        android:id="@+id/Sex_RadioGroup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_below="@id/regpassword"
        android:layout_toRightOf="@id/sex"
        android:contentDescription="性别"
        android:layout_marginTop="8dp"
        android:layout_marginLeft="10dp"
>

    <RadioButton
            android:id="@+id/Sex_Man"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:checked="true"
            android:text="男"/>

    <RadioButton
            android:id="@+id/Sex_Woman"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="30dp"
            android:text="女"/>

</RadioGroup>



<LinearLayout
        android:id="@+id/register_like"
        android:layout_width="wrap_content"
        android:layout_height="30dp"
        android:layout_below="@id/Sex_RadioGroup"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="30dp"
>
    <TextView
            android:id="@+id/love"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:layout_below="@id/sex"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="1dp"
            android:padding="5dp"
            android:text="请选择兴趣爱好:"
    />
    <CheckBox
            android:id="@+id/love_sport"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:text= "体育"
            android:textSize="18sp"/>
    <CheckBox
            android:id="@+id/love_music"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 音乐"
            android:textSize="18sp"/>
    <CheckBox
            android:id="@+id/love_readbook"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 读书"
            android:textSize="18sp"/>
    <CheckBox
            android:id="@+id/love_Internet"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=" 上网 "
            android:textSize="18sp"/>

    <TextView
            android:id="@+id/hobby"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp"
    />
</LinearLayout>


<RelativeLayout
        android:id="@+id/reg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_below="@+id/register_like"
>
    <TextView
            android:id="@+id/Result"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="1dp"
            android:padding="5dp"
            android:text="请选择身份:"

    />


    <TextView
            android:id="@+id/stua"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="18sp"
            android:layout_marginTop="10dp"

    />
    <Spinner
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/Result"
            android:layout_marginLeft="10dp"
            android:id="@+id/zhiwu"
    />
</RelativeLayout>




<Button

        android:id="@+id/ok"
        android:layout_below="@+id/reg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/cancel"
        android:layout_marginTop="20dp"
        android:text="确定"/>

<Button

        android:id="@+id/cancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/reg"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:text="取消"/>



<Button

        android:id="@+id/register"
        android:layout_below="@+id/reg"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/cancel"
        android:layout_marginTop="20dp"
        android:text="注册"/>

</RelativeLayout >

创建“注册页面”的界面交互代码Register.java,该程序实现用户信息的注册与数据传递,并通过点击按钮实现界面的切换。关键代码如下:

package com.itheima.mylogin;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.*;

public class Register extends Activity {
    private Spinner mySpinner;
    private static final String[] provStr={"学生","老师","管理员","行政员"};
    private ArrayAdapter<String> adapter1;
    private CheckBox Sport_CheckBox, Music_CheckBox, ReadBook_CheckBox,Internet_CheckBox;
    private RadioGroup radioGroup;
    private RadioButton radiobutton1,radiobutton2;
    private EditText et_user,et_passwd;
    private Button bt_register,bt_cancel,bt_ok;
    private TextView tv;
    private String sex;
    @ Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.register);
        mySpinner=(Spinner) findViewById(R.id.zhiwu);
        adapter1=new ArrayAdapter<String> (this,android.R.layout.simple_spinner_item,provStr);
        adapter1.setDropDownViewResource(android.R.layout.simple_spinner_item);
        //将 ArrayAdapter添加Spinner对象中
        mySpinner.setAdapter(adapter1);
        Sport_CheckBox=(CheckBox) findViewById(R.id.love_sport);
        Music_CheckBox=(CheckBox) findViewById(R.id.love_music);
        ReadBook_CheckBox=(CheckBox) findViewById(R.id.love_readbook);
        Internet_CheckBox=(CheckBox) findViewById(R.id.love_Internet);
        final EditText et_user=(EditText) findViewById(R.id.et_user);
        final EditText et_passwd=(EditText) findViewById(R.id.password);
        bt_register=(Button)findViewById(R.id.register);
        bt_cancel=(Button)findViewById(R.id.cancel);
        bt_ok=(Button)findViewById(R.id.ok);
        tv=(TextView)findViewById(R.id.Result);
        radioGroup=(RadioGroup)findViewById(R.id.Sex_RadioGroup);
        radiobutton1=(RadioButton)findViewById(R.id.Sex_Man);
        radiobutton2=(RadioButton)findViewById(R.id.Sex_Woman);
        final Intent intent=new Intent(Register.this,RegisterOk.class);

        bt_register.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                String username=et_user.getText().toString().trim();
                //获得密码:调用EditText的getText()方法
                String userpassword=et_passwd.getText().toString().trim();
                //String result="";
                if(username.isEmpty()|| userpassword.isEmpty()) {
                    String sb = "请输入用户名和密码";
                    Toast.makeText(Register.this, sb.toString(), Toast.LENGTH_LONG).show();
                }else{
                    intent.putExtra("name",username);
                    intent.putExtra("password",userpassword);

                    //获得性别
                    String sex="";
                    if (radiobutton1.isChecked()){sex="男";}
                    if(radiobutton2.isChecked()){sex="女";}
                    intent.putExtra("s",sex);

                    //获得身份
                    String st=mySpinner.getSelectedItem().toString().trim();
                    if(st!=""){
                        intent.putExtra("stuta",st);
                    }else{
                        Toast.makeText(Register.this, "请选择身份", Toast.LENGTH_LONG).show();
                    }
                    //获得爱好
                    String  hobby="";
                    if (Sport_CheckBox.isChecked()){hobby+=" 运动";}
                    if (Music_CheckBox.isChecked()){hobby+=" 音乐";}
                    if (ReadBook_CheckBox.isChecked()){hobby+=" 读书";}
                    if (Internet_CheckBox.isChecked()){hobby+=" 上网";}
                    intent.putExtra("hobby", hobby);
                    startActivity(intent);
                }
//       数据存储
                SharedPreferences references
                        =Register.this.getSharedPreferences("account", Context.MODE_PRIVATE);
                SharedPreferences.Editor editor=references.edit();
                editor.putString("username", username);
                editor.putString("password", userpassword);
                editor.commit();

            }

        });
        bt_ok.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                String username=et_user.getText().toString();
                //获得密码:调用EditText的getText()方法
                String userpassword=et_passwd.getText().toString();
                Intent intentok=new Intent();
                intentok.putExtra("uname",username);
                intentok.putExtra("upassword",userpassword);
                setResult(1,intentok);
                finish();
            }

        });
        bt_cancel.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                et_user.setText("");
                et_passwd.setText("");
            }
        });

    }

}

(3)创建“用户信息显示界面”
创建一个名为“用户信息显示界面”的布局文件registerok.xml,该文件用于展示用户注册信息。程序界面如下图所示

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:background="@drawable/login3">
    <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="5dp"
            android:text="注册成功界面"
            android:textSize="35sp"
            android:textStyle="bold"
            android:textColor="#FF8000"/>
    <TextView
            android:textSize="35sp"
            android:text="用户名:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" android:id="@+id/tV1"/>
    <TextView
            android:textSize="35sp"
            android:text="密码:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" android:id="@+id/tV2"/>
    <TextView
            android:textSize="35sp"
            android:text="性别:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" android:id="@+id/tV3"/>
    <TextView
            android:textSize="35sp"
            android:text="爱好:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" android:id="@+id/tV4"/>
    <TextView
            android:textSize="35sp"
            android:text="身份:"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" android:id="@+id/tV5"/>
    <Button
            android:textSize="35sp"
            android:text="返回"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" android:id="@+id/but"
    android:onClick="click"/>
</LinearLayout>

创建“用户信息显示界面”的界面交互代码RegisterokActivity.java,该程序实现用户信息显示。关键代码如下:

package com.itheima.mylogin;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class RegisterOk extends AppCompatActivity {
    private TextView tv_name, tv_password,tv_sex,tv_st,tv_hobby;
    private Button return_but;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.register1_ok);
        tv_name = (TextView) findViewById(R.id.tV1);
        tv_password = (TextView) findViewById(R.id.tV2);
        tv_sex = (TextView) findViewById(R.id.tV3);
        tv_st = (TextView) findViewById(R.id.tV5);
        tv_hobby = (TextView) findViewById(R.id.tV4);
        return_but = (Button) findViewById(R.id.but);
        Intent intent = getIntent();
        String name = intent.getStringExtra("name");
        String password = intent.getStringExtra("password");
        String s = intent.getStringExtra("s");
        String id = intent.getStringExtra("stuta");
        String hobby = intent.getStringExtra("hobby");
        tv_name.setText("用户名:" + name);
        tv_password.setText("密   码:" + password);
        tv_sex.setText("性   别:" + s);
        tv_st.setText("身   份:" + id);
        tv_hobby.setText("爱好:" + hobby);


    }
    public void click(View view){
        finish();
    /*Intent intent1=new Intent(this,Register.class);
    startActivity(intent1);*/
    }
}

4)创建“登录成功”程序
创建一个名为“登陆成功”的布局文件,该文件用于展示登录信息。程序界面如下图所示:

<?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:background="@drawable/login3"
              android:orientation="vertical">

    <TextView
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:text= "登陆成功界面"
            android:textSize="40sp"
            android:textColor="#FFFFFF"
            android:background=" #FF8F03"
            android:gravity="left"/>

    <TextView
            android:id="@+id/gx"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="恭喜您,登陆成功!"
            android:textSize="35sp"
            android:textStyle="bold"
            android:textColor="#FF8000"/>
    <Button
            android:id="@+id/textView1"
            android:layout_width="150dp"
            android:layout_height="wrap_content"
            android:layout_below="@id/gx"
            android:layout_alignParentLeft="true"
            android:text="返回"
            android:textSize="30sp"
            android:textStyle="bold"
    android:onClick="click1"/>




</LinearLayout>

创建“登录成功页面”的界面交互代码Activity1.java,该程序实现用户信息显示。关键代码如下:

package com.itheima.mylogin;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;

public class LoginOk extends AppCompatActivity {
    /** Called when the activity is first created. */
    private TextView result1;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login_ok);
        result1=(TextView)this.findViewById(R.id.textView1);
    }
    public void click1(View v){
        Intent intent=new Intent();
        intent.setAction("android.intent.action.VIEW");
        intent.setData(Uri.parse("http://www.baidu.com"));
        startActivity(intent);
    }
}

你可能感兴趣的:(实验指导,安卓,移动开发)