android登錄后將用戶名顯示到主頁面(開發日志20)


例如我這里是手機號作為賬號,所以顯示的就是手機號

效果:

 

首先是xml布局頁面 activity_personal__page.xml

(我只放了部分的代碼,用於實現該功能,其中TextView是用來顯示用戶名的)

<?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"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/person">

    <LinearLayout
        android:id="@+id/ziliao"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:orientation="vertical"
        android:background="#f5efd9"
        android:gravity="center">

        <ImageView
            android:id="@+id/img_tx"
            android:layout_width="70dp"
            android:layout_height="70dp"
            android:src="@drawable/touxiang"
            android:layout_gravity="center_horizontal"
            />

        <TextView
            android:id="@+id/edit_user"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="騎手001"
            android:layout_marginTop="15dp"
            android:textSize="20sp"
            android:textStyle="bold"
            />
    </LinearLayout>


</RelativeLayout>

 對應的activity,java文件

package com.example.express_delivery;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;import android.widget.ImageView;
import android.widget.TextView;

import com.example.express_delivery.activity.SettingActivity;
import com.example.express_delivery.login_register.PrefercesService;
import com.example.express_delivery.order.Person_OrderActivity;import java.util.Map;

public class Personal_PageActivity extends AppCompatActivity {

    private TextView edit_user;
    private PrefercesService prefercesService;

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

        if (getSupportActionBar() != null){
            getSupportActionBar().hide();
        }

        prefercesService = new PrefercesService(this);

        initView();

    }


    private void initView() {
        edit_user = findViewById(R.id.edit_user);
        Map<String,String> params = prefercesService.getPreferences();
        edit_user.setText(params.get("name"));

    }

}

PrefercesService.java

package com.example.express_delivery.login_register;

import android.content.Context;
import android.content.SharedPreferences;

import java.util.HashMap;
import java.util.Map;

public class PrefercesService {

    private Context context;
    public PrefercesService(Context context) {
        super();
        this.context = context;
    }
    /**
     * 保存參數
     * @param name 姓名
     */
    public void save(String name) {
        //第一個參數 指定名稱 不需要寫后綴名 第二個參數文件的操作模式
        SharedPreferences preferences=context.getSharedPreferences("itcast", Context.MODE_PRIVATE);
        //取到編輯器
        SharedPreferences.Editor editor=preferences.edit();
        editor.putString("name", name);
        //把數據提交給文件中
        editor.commit();
    }
    /**
     * 獲取各項配置參數
     * @return
     */
    public Map<String,String> getPreferences(){
        SharedPreferences pre=context.getSharedPreferences("itcast", Context.MODE_PRIVATE);
        //如果得到的name沒有值則設置為空 pre.getString("name", "");
        Map<String,String> params=new HashMap<String,String>();
        params.put("name", pre.getString("name", ""));

        return params;


    }

}

在登錄頁面LoginActivity.java

private PrefercesService prefercesService;

在onCreate函數中:prefercesService = new PrefercesService(this);

當用戶點擊登錄按鈕時,調用函數:

String name = et_login_phone.getText().toString().trim(); (這里的et_login_phone就是用戶輸入手機號的控件EditText)

prefercesService.save(name);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM