InitUserDataUtil.java 4.7 KB
Newer Older
S
suhy 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
package com.example.myhomework.Util;


import android.app.Activity;
import android.content.Context;
import android.view.View;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

import org.w3c.dom.*;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.Stack;


public class InitUserDataUtil {
S
suhy 已提交
29
    public static InitUserDataUtil initUserDataUtil=new InitUserDataUtil();
S
suhy 已提交
30 31 32
    private static String uid;
    private static String userNickName;
    private static UserType userType;
S
suhy 已提交
33
    private InitUserDataUtil() {
S
suhy 已提交
34
    }
S
suhy 已提交
35
    private static InitUserDataUtil GetInitUserDataUtil(){
S
suhy 已提交
36 37 38
        return initUserDataUtil;
    }
    public static void ResetUserData(View view,Activity activity){
S
suhy 已提交
39
        /*
S
suhy 已提交
40 41
        NodeList list=null;
        FileInputStream fileInputStream=null;
S
suhy 已提交
42 43 44
        //
        //test to save userdata
        //
S
suhy 已提交
45 46 47 48 49 50 51 52 53
        String str="<?xml version=\"1.0\" encoding=\"utf-8\" ?>\n" +
                "<userlist>\n" +
                "    <user>\n" +
                "        <uid>221900122</uid>\n" +
                "        <NicknName>测试用户</NicknName>\n" +
                "        <Type>普通用户</Type>\n" +
                "    </user>\n" +
                "</userlist>";
        temp_save(str,activity);
S
suhy 已提交
54 55 56
        //
        //test to save userdata
        //
S
suhy 已提交
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
        try {
            fileInputStream=activity.openFileInput("data.xml");
            list=ReadXmlUtil.GetdNodeLise(fileInputStream,"user" );
        }catch (IOException e){
            e.printStackTrace();
        }finally {
            if(fileInputStream!=null)
                try {
                    fileInputStream.close();
                }catch (IOException e){
                    e.printStackTrace();
                }
        }
        if(list!=null) {
            for (int i = 0; i < list.getLength(); i++) {
                Element element = (Element) list.item(i);
                NodeList childNodes = element.getChildNodes();
                for (int j = 0; j < childNodes.getLength(); j++) {
                    if (childNodes.item(j).getNodeType() == Node.ELEMENT_NODE) {
                        //TODO 设置uid检测
                        //获取节点
                        switch (childNodes.item(j).getNodeName()) {
                            case "uid":
                                uid = childNodes.item(j).getFirstChild().getNodeValue();
                                break;
                            case "NicknName":
                                userNickName = childNodes.item(j).getFirstChild().getNodeValue();
                                break;
                            case "Type":
                                userType=UserType.InitFromStr(childNodes.item(j).getFirstChild().getNodeValue());
                                break;
                        }
                    }
                }
            }
S
suhy 已提交
92 93
        }*/

S
suhy 已提交
94 95 96 97 98 99 100 101 102 103 104 105 106 107
        Toast.makeText(view.getContext(),"uid:"+uid,Toast.LENGTH_LONG).show();
        Toast.makeText(view.getContext(),"userNickName:"+userNickName,Toast.LENGTH_LONG).show();
        Toast.makeText(view.getContext(),"userType:"+userType,Toast.LENGTH_LONG).show();
    }
    public static String GetUid(){
        return uid;
    }
    public static String GetUserNickName(){
        return userNickName;
    }
    public static String GetUserType(){
        return userType.typeStr;
    }
    private void SetHead(){ }
S
suhy 已提交
108

S
suhy 已提交
109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
    private static void temp_save(String str,Activity activity){
        FileOutputStream out=null;
        BufferedWriter writer=null;
        try{
            out=activity.openFileOutput("data.xml", Context.MODE_PRIVATE);
            writer=new BufferedWriter(new OutputStreamWriter(out));
            writer.write(str);
        }catch (IOException e){
            e.printStackTrace();
        }finally {
            try{
                if(writer!=null){
                    writer.close();
                }
            }catch (IOException e){
                e.printStackTrace();
            }
        }
    }
    protected enum UserType{
        Normal("普通用户",1),Admin("管理员",2);
        private String typeStr;
        private int index;
        private UserType(String typeStr,int index){
            this.typeStr=typeStr;this.index=index;}
        public static UserType InitFromStr(String str){
            switch (str){
                case "普通用户":return Normal;
                case "管理员":return Admin;
            }
            return null;
        }
    }
}