Android个人信息页面

一、案例演示

整体线形垂直布局,局部相对布局,名称、学号、电话使用自定义对话框,性别、爱好分别用单选、多选对话框学院,学习状态用下拉框。

请添加图片描述

在这里插入图片描述
在这里插入图片描述

二、项目构成

在这里插入图片描述

三、实现代码

1、activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/hui"
    android:orientation="vertical"
    tools:context=".MainActivity">
<!--    线性布局1-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#ffffff">

        <ImageView
            android:layout_width="60dp"
            android:layout_height="60dp"
            android:background="@drawable/left"></ImageView>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="60dp"
            android:text="我的信息"
            android:textSize="40dp" />

    </LinearLayout>
<!--线性布局2-->
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:background="#ffffff"
        android:orientation="vertical">

        <RelativeLayout
            android:id="@+id/picture"
            style="@style/relativelayout"
            android:layout_marginTop="20dp">

            <TextView
                android:id="@+id/text1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:text="头像"
                android:textSize="30dp"></TextView>

            <TextView
                android:id="@+id/view1"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:layout_centerVertical="true"
                android:layout_marginRight="10dp"
                android:layout_toLeftOf="@id/imageView1"
                android:background="@drawable/lufei"></TextView>

            <ImageView
                android:id="@+id/imageView1"
                android:layout_width="40dp"
                android:layout_height="50dp"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                app:srcCompat="@drawable/right" />

        </RelativeLayout>

        <TextView style="@style/line"></TextView>

        <RelativeLayout
            android:id="@+id/username"
            style="@style/relativelayout">

            <TextView
                android:id="@+id/text2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:text="呢称"
                android:textSize="30dp"></TextView>

            <TextView
                android:id="@+id/view2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_toLeftOf="@id/imageView2"
                android:text="坤坤"
                android:textSize="25dp"></TextView>


            <ImageView
                android:id="@+id/imageView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                app:srcCompat="@drawable/love" />

        </RelativeLayout>

        <TextView style="@style/line"></TextView>

        <RelativeLayout
            android:id="@+id/student_id"
            style="@style/relativelayout">

            <TextView
                android:id="@+id/text3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:text="学号"
                android:textSize="30dp"></TextView>

            <TextView
                android:id="@+id/view3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_toLeftOf="@id/imageView3"
                android:text="202030120099"
                android:textSize="25dp"></TextView>

            <ImageView
                android:id="@+id/imageView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                app:srcCompat="@drawable/tree" />

        </RelativeLayout>

        <TextView style="@style/line"></TextView>

        <RelativeLayout
            android:id="@+id/phone"
            style="@style/relativelayout">

            <TextView
                android:id="@+id/text4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:text="电话"
                android:textSize="30dp"></TextView>

            <TextView
                android:id="@+id/view4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_toLeftOf="@id/imageView4"
                android:text="15953613166"
                android:textSize="25dp"></TextView>

            <ImageView
                android:id="@+id/imageView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                app:srcCompat="@drawable/yao" />

        </RelativeLayout>

        <TextView style="@style/line"></TextView>


        <RelativeLayout
            android:id="@+id/sex"
            style="@style/relativelayout">

            <TextView
                android:id="@+id/text5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:text="性别"
                android:textSize="30dp"></TextView>

            <TextView
                android:id="@+id/view5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_toLeftOf="@id/imageView5"
                android:text=""
                android:textSize="25dp"></TextView>

            <ImageView
                android:id="@+id/imageView5"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                app:srcCompat="@drawable/love" />

        </RelativeLayout>

        <TextView style="@style/line"></TextView>

        <RelativeLayout
            android:id="@+id/birthday"
            style="@style/relativelayout">

            <TextView
                android:id="@+id/text6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:text="生日"
                android:textSize="30dp"></TextView>

            <TextView
                android:id="@+id/view6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_toLeftOf="@id/imageView6"
                android:text="2001.9.9"
                android:textSize="25dp"></TextView>

            <ImageView
                android:id="@+id/imageView6"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                app:srcCompat="@drawable/kiss" />

        </RelativeLayout>

        <TextView style="@style/line"></TextView>

        <RelativeLayout
            android:id="@+id/college"
            style="@style/relativelayout">

            <TextView
                android:id="@+id/text7"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:text="学院"
                android:textSize="30dp"></TextView>

            <Spinner
                android:id="@+id/spinner_college"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                android:spinnerMode="dropdown"></Spinner>


        </RelativeLayout>
    </LinearLayout>
<!--    线性布局3-->
    <LinearLayout
        android:layout_marginTop="20dp"
        android:background="#ffffff"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <RelativeLayout
            android:id="@+id/holiday"
            style="@style/relativelayout">

            <TextView
                android:id="@+id/text8"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:text="学习状态"
                android:textSize="30dp"></TextView>

            <Spinner
                android:id="@+id/spinner_holiday"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerInParent="true"
                android:spinnerMode="dialog"></Spinner>
        </RelativeLayout>

        <TextView style="@style/line"></TextView>

        <RelativeLayout
            android:id="@+id/hobby"
            style="@style/relativelayout">

            <TextView
                android:id="@+id/text9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerVertical="true"
                android:text="爱好"
                android:textSize="30dp"></TextView>

            <TextView
                android:id="@+id/view9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:layout_toLeftOf="@id/imageView9"
                android:text=""
                android:textSize="25dp"></TextView>

            <ImageView
                android:id="@+id/imageView9"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignParentRight="true"
                android:layout_centerVertical="true"
                app:srcCompat="@drawable/love" />

        </RelativeLayout>


    </LinearLayout>

</LinearLayout>

2、MainActivity.java

package com.example.information;

import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;

import android.app.DatePickerDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Adapter;
import android.widget.ArrayAdapter;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.TextView;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private List<Map<String,Object>> data;//一个集合

    //查看头像
    private RelativeLayout picture;
    //名称
    private RelativeLayout username;
    private TextView view2;
    //学号
    private RelativeLayout student_id;
    private TextView view3;
    //修改手机号
    private RelativeLayout phone;
    private TextView view4;
    //选择性别
    private RelativeLayout sex;
    private TextView view5;
    //生日
    private RelativeLayout birthday;
    private TextView view6;
    //学院
    private RelativeLayout college;
    private Spinner spinner;
    //状态
    private RelativeLayout holiday;
    private Spinner spinner2;
    //爱好
    private RelativeLayout hobby;
    private TextView view9;

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

        initView();
    }
    public void initView(){
        //找到对应控件
        picture=findViewById(R.id.picture);

        username=findViewById(R.id.username);
        view2=findViewById(R.id.view2);

        student_id=findViewById(R.id.student_id);
        view3=findViewById(R.id.view3);

        phone=findViewById(R.id.phone);
        view4=findViewById(R.id.view4);

        sex=findViewById(R.id.sex);
        view5=findViewById(R.id.view5);

        birthday=findViewById(R.id.birthday);
        view6=findViewById(R.id.view6);

        college=findViewById(R.id.college);
        spinner=findViewById(R.id.spinner_college);

        holiday=findViewById(R.id.holiday);
        spinner2=findViewById(R.id.spinner_holiday);

        hobby=findViewById(R.id.hobby);
        view9=findViewById(R.id.view9);
        //设置事件监听
        picture.setOnClickListener(this);
        username.setOnClickListener(this);
        student_id.setOnClickListener(this);
        phone.setOnClickListener(this);
        sex.setOnClickListener(this);
        birthday.setOnClickListener(this);
        college.setOnClickListener(this);
        holiday.setOnClickListener(this);
        hobby.setOnClickListener(this);
        //学院选择
        String arr[]=new String[]{"智慧学院","教育学院","艺术学院"};

        ArrayAdapter a=new ArrayAdapter(this,R.layout.textsize,arr);

        spinner.setAdapter(a);
        //状态选择
        data = new ArrayList<>();

        SimpleAdapter adapter = new SimpleAdapter(this, getDat(), R.layout.item_spinner,
                new String[]{"image", "text"}, new int[]{R.id.img, R.id.tvv});

        spinner2.setAdapter(adapter);

    }

    private List<Map<String,Object>> getDat() {
        Map<String, Object> map = new HashMap<>();
        map.put("image", R.drawable.dujia);
        map.put("text", "度假中");
        data.add(map);
        Map<String, Object> map1 = new HashMap<>();
        map1.put("image", R.drawable.kiss);
        map1.put("text", "工作中");
        data.add(map1);
        Map<String, Object> map2 = new HashMap<>();
        map2.put("image", R.drawable.yao);
        map2.put("text", "会议中");
        data.add(map2);
        Map<String, Object> map3 = new HashMap<>();
        map3.put("image", R.drawable.tree);
        map3.put("text", "出差中");
        data.add(map3);
        return data;
    }


    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.picture:
                text1();break;
            case R.id.username:
                text2();break;
            case R.id.student_id:
                text3();break;
            case R.id.phone:
                text4();break;
            case R.id.sex:
                text5();break;
            case R.id.birthday:
                text6();break;
            case R.id.hobby:
                text9();break;
        }
    }
}
item_spinner.xml

设置图片布局,修改状态时用到

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_margin="5dp"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <ImageView
        android:background="@mipmap/ic_launcher"
        android:id="@+id/img"
        android:layout_width="40dp"
        android:layout_height="40dp"
        />
    <TextView
        android:layout_marginLeft="10dp"
        android:layout_gravity="center_vertical"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="度假中"
        android:textSize="23sp"
        android:id="@+id/tvv"
        />
</LinearLayout>
textSize.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textSize="25dp"
    android:textAppearance="?android:attr/textAppearanceListItemSmall"
    android:gravity="center_vertical"
    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
    android:minHeight="?android:attr/listPreferredItemHeightSmall" />
2.1、text1() 查看头像

在这里插入图片描述

//查看头像
    public void text1(){
        //获取内容
        View layout =View.inflate(this,R.layout.dialog_picture,null);
        //创建对象
        AlertDialog.Builder b=new AlertDialog.Builder(this);
        //修改标题
        b.setTitle("查看头像");
        //赋值内容设置窗口
        b.setView(layout);
        //修改
        b.setPositiveButton("确定",null);
        b.setNegativeButton("取消",null);
        b.show();
    }
2.1.1、dialog_picture.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <TextView
        android:id="@+id/view1"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_centerInParent="true"
        android:background="@drawable/lufei"></TextView>
</RelativeLayout>
2.2、text2() 修改名称

在这里插入图片描述

 //修改名称
    public void text2(){
        //获取内容
        View layout =View.inflate(this,R.layout.dialog_username,null);
        //创建对象
        AlertDialog.Builder b=new AlertDialog.Builder(this);
        //修改标题
        b.setTitle("修改名称");
        //赋值内容设置窗口
        b.setView(layout);
        //修改
        b.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                EditText update=layout.findViewById(R.id.view2);

                String newName=update.getText().toString().trim();
                //设置数据
                view2.setText(newName);
            }
        });
        b.setNegativeButton("取消",null);

        b.show();
    }
2.2.1、dialog_username.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <EditText
        android:id="@+id/view2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerInParent="true"
        android:text="坤坤"
        android:textSize="25dp"></EditText>
</RelativeLayout>
2.3、text3() 修改学号
 //修改学号
    public void text3(){
        //获取内容
        View layout =View.inflate(this,R.layout.dialog_student_id,null);
        //创建对象
        AlertDialog.Builder b=new AlertDialog.Builder(this);
        //修改标题
        b.setTitle("修改学号");
        //赋值内容设置窗口
        b.setView(layout);
        //修改
        b.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                EditText update=layout.findViewById(R.id.view3);

                String newId=update.getText().toString().trim();
                //设置数据
                view3.setText(newId);
            }
        });
        b.setNegativeButton("取消",null);

        b.show();
    }
2.3.1、dialog_student_id.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <EditText
        android:id="@+id/view3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerInParent="true"
        android:text="202030120099"
        android:textSize="25dp"></EditText>
</RelativeLayout>
2.4、text4() 修改手机号
 //修改手机号
    public void text4(){
        //获取内容
        View layout =View.inflate(this,R.layout.dialog_phone,null);
        //创建对象
        AlertDialog.Builder b=new AlertDialog.Builder(this);
        //修改标题
        b.setTitle("修改手机号");
        //赋值内容设置窗口
        b.setView(layout);
        //修改
        b.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                EditText update=layout.findViewById(R.id.view4);

                String newPhone=update.getText().toString().trim();
                //设置数据
                view4.setText(newPhone);
            }
        });
        b.setNegativeButton("取消",null);
        b.show();
    }
2.4.1、dialog_phone.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <EditText
        android:id="@+id/view4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerInParent="true"
        android:text="15953613166"
        android:textSize="25dp"></EditText>
</RelativeLayout>
2.5、text5() 性别选择

在这里插入图片描述

 //性别选择
    public void text5(){
        String arr[] ={"男","女"};
        AlertDialog.Builder b=new AlertDialog.Builder(this);
        b.setTitle("选择性别");
        b.setSingleChoiceItems(arr, 0, new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                view5.setText(arr[which]);
                dialog.dismiss();
            }
        });
        b.show();
    }
2.6、text6() 生日选择

在这里插入图片描述

//生日选择
    public void text6(){
        //获取日期
        Calendar c= Calendar.getInstance();

        int year=c.get(Calendar.YEAR);
        int month=c.get(Calendar.MONTH);
        int day=c.get(Calendar.DAY_OF_MONTH);

        DatePickerDialog d=new DatePickerDialog(this,new DatePickerDialog.OnDateSetListener(){

            @Override
            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                view6.setText(year+"."+month+"."+dayOfMonth);
            }
        },year,month,day);
        d.show();
    }
2.7、text9() 爱好选择

在这里插入图片描述

//爱好
    public void text9(){
        ArrayList<Integer> list=new ArrayList();
        String arr[]={"唱","跳","rap","篮球"};
        boolean fff[]={false,false,false,false};
        AlertDialog.Builder b=new AlertDialog.Builder(this);
        b.setTitle("爱好选择");
        b.setMultiChoiceItems(arr, fff, new DialogInterface.OnMultiChoiceClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                if(isChecked){
                    list.add(which);
                }else {
                    list.remove(which);
                }
            }
        });
        b.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                String str="";
                for(int i=0;i<list.size();i++){
                    str += arr[list.get(i)]+"";
                }
                view9.setText(str);
            }
        });
        b.setNegativeButton("取消",null);
        b.show();
    }

3、styles.xml

共用的资源

<resources>

<!--相对布局格式-->
    <style name="relativelayout">
        <item name="android:layout_height">0dp</item>
        <item name="android:layout_weight">1</item>
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_marginLeft">20dp</item>
        <item name="android:layout_marginRight">20dp</item>
    </style>
<!--下划线-->
    <style name="line">
        <item name="android:layout_width">match_parent</item>
        <item name="android:layout_height">1dp</item>
        <item name="android:layout_marginRight">20dp</item>
        <item name="android:layout_marginLeft">20dp</item>
        <item name="android:background">@color/black</item>
    </style>

</resources>
  • 26
    点赞
  • 226
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 26
    评论
android个人信息页面连接数据库进行修改个人信息是一个比较常见的功能。首先,用户需要在个人信息页面输入新的个人信息,比如姓名、性别、生日等。然后,这些信息会通过Android应用程序和后台数据库建立连接,将用户输入的信息发送给数据库。数据库会根据用户提供的信息,查找对应的记录,并进行相应的修改操作,比如更新姓名、性别、生日等字段的数值。 在Android应用程序中,通常会使用数据库操作的API来连接数据库并执行相应的SQL语句,比如UPDATE语句来修改记录的信息。在连接数据库的过程中,需要确保用户输入的信息经过有效的验证和过滤,避免因为恶意输入或者错误输入导致数据库信息被破坏或者篡改。 当数据库成功修改了用户的个人信息之后,Android应用程序会接收到相应的反馈,然后及时更新个人信息页面上的显示内容,确保用户能够看到最新的个人信息。通过连接数据库修改个人信息,用户可以方便地更新自己的个人资料,保持信息的及时和准确。 总的来说,android个人信息页面连接数据库进行修改个人信息是一个比较简单但又重要的功能,它涉及到前后台数据交互、数据验证、以及用户界面的及时更新等方面,都需要开发者细心设计和实现。同时,在实现过程中也需要注意保护用户的隐私和数据安全。
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑伴你而行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值