Как записать имя пользователя в локальный текстовый файл при успешном входе в систему и проверить файл для следующего входа? - PullRequest
0 голосов
/ 10 июля 2019

Я хочу создать локальный текстовый файл и сохранить имя пользователя после успешного входа в систему, и для следующего входа приложение проверит этот файл, существует ли имя пользователя для обходного входа.Но похоже, что при тестировании не было создано ни одного файла

 bool bRet = ws.RequestMemberLogin(1, userName.Text, pass.Text, "", "");

 string path = System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal);

 string filename = System.IO.Path.Combine(path, "user.txt");

            FileInfo fi = new FileInfo(filename);

            bool exist = fi.Exists;
            if (bRet)
            {
                if (exist)
                {
                    // Read
                    using (StreamReader streamReader = new StreamReader(filename))
                    {
                        string content = streamReader.ReadToEnd();
                        System.Diagnostics.Debug.WriteLine(content);
                    }

                }
                else
                {
                    // Write
                    using (StreamWriter streamWriter = new StreamWriter(filename, true))
                    {
                        streamWriter.WriteLine(userName.Text);
                    }

                }

             Intent intent = new Intent(this, typeof(datalist));
             StartActivity(intent);

            }
            else
            {
                error.Text = "Invalid username or password!";

            }

1 Ответ

0 голосов
/ 11 июля 2019

string path = System.Environment.GetFolderPath (System.Environment.SpecialFolder.Personal);

путь будет как

"/data/user/0/packagename/files/user.txt"

Когда вы сохраняете его в Внутреннее хранилище , вы не можете видеть файлы без разрешения root, если вы хотите просмотреть его, вы можете использовать инструмент adb (приложение, подписанное отладкой Android)

adb shell
run-as packagename
cd /data/data/packagename
cd files
ls

тогда вы можете увидеть user.txt

или вы можете сохранить его в Внешнее хранилище , затем вы можете найти его в диспетчере файлов вашего устройства:

//"/storage/emulated/0/Android/data/packagename/files/user.txt"
string path = Android.App.Application.Context.GetExternalFilesDir(null).ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...