2016-12-12 6 views
-2

私はサーバー上のSQLデータベースからデータを取得するログインフォームを持つアプリケーションを作成しました。私はユーザーが自動的にログインできるように覚えておきたいチェックボックスを追加したいのですが、どうすればいいですか?データをテキストファイルに変換して戻しますか? ありがとう私はどのようにして1つのチェックボックスを覚えておくことができますか?

+0

ログインフォームは機能しますか? – Programmer

答えて

0

このスクリプトは、あなたのプロジェクトフォルダにtxtファイルを作成し、それにログイン文字列を使って単一の行を書き込みます。これを使用するには、このスクリプトを好きな場所に置いて、エディタのINPUT FIELDをドラッグしてトグルする必要があります。 LoginClick()メソッドを実行するには、ログインボタンのOnClickイベントを割り当てます。

using UnityEngine; 
using UnityEngine.UI; 
using System.IO; 

public class InputFieldTest : MonoBehaviour { 

//reference for InputField, needs to be assigned in editor 
public InputField login; 
string loginText; 
//reference for Toggle, needs to be assigned in editor 
public Toggle rememberToggle; 
bool remeberIsOn; 

// Use this for initialization 
void Start() 
{ 
    loginText = ""; 
    FindLogin(); 
} 
public void FindLogin() 
{ 
    if (File.Exists("userSetting.txt")) 
    { 
     using (TextReader reader = File.OpenText("userSetting.txt")) 
     { 
      string str; 
      if ((str = reader.ReadLine()) != null) login.text = str; 
     } 
     //Debug.Log(loginText); 
    } 
} 
public void remember() 
{ 
    using (TextWriter writer = File.CreateText("userSetting.txt")) 
    { 
     writer.WriteLine(login.text); 
    } 
} 
public void loginClick() 
{ 
    remeberIsOn = rememberToggle.isOn; 
    loginText = login.text; 
    if (remeberIsOn) 
    { 
     remember(); 
    } 
    else 
    { 
     using (TextWriter writer = File.CreateText("userSetting.txt")) 
     { 
      writer.WriteLine(""); 
     } 
    } 
} 

}

+0

コードはうまくいきますが、アンドロイドで働くことができるように、ファイルパスにapplication.persistentdatapathを追加する必要があります。 –

1

団結は、ファイルへの書き込みのほかに、また、すべてのプラットフォームのために働くPlayerPrefs、中にローカル保存を提供します。 あなたはそこにログイン情報を保存し、プレイヤーがログイン資格情報を持っているかどうかを確認するために、後でそれを確認することができます

https://docs.unity3d.com/ScriptReference/PlayerPrefs.html

ここでそれについての詳細をお読みください。

関連する問題