0

私は、ユーザーがアプリを初めて起動したときにユーザーに名前の入力を求める必要があるAndroidアプリを作成しています。2回目以降、アプリケーションはユーザーに名前の入力を求めず、代わりにユーザーに挨拶します(すぐにメインメニューページに移動します。これを行う方法を知っている人はいますか?

4

2 に答える 2

3

ユーザーの名前を設定フィールドに保存します。アプリが起動したら、この設定フィールドが設定されているかどうかを確認します。設定されていない場合は、ユーザーにユーザー名の入力を求めて保存します。設定されている場合は、そのユーザー名を取得して、次のアクティビティで使用します。

@Override
protected void onCreate(Bundle savedInstance) {
    super.onCreate(savedInstance);
    final SharedPreferences prefs = PreferenceManager
            .getDefaultSharedPreferences(this);
    String userName = prefs.getString("user_name", null);
    if (userName == null) {
        EditText input = new EditText(this);
        input.setId(1000);          
        AlertDialog dialog = new AlertDialog.Builder(this)
                .setView(input).setTitle("Enter your username!")
                .setPositiveButton("Ok",
                        new DialogInterface.OnClickListener() {

                            @Override
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                EditText theInput = (EditText) ((AlertDialog) dialog)
                                        .findViewById(1000);
                                String enteredText = theInput.getText()
                                        .toString();
                                if (!enteredText.equals("")) {
                                    SharedPreferences.Editor editor = prefs
                                            .edit();
                                    editor.putString("user_name",
                                            enteredText);
                                    editor.commit();
                                }
                            }
                        }).create();
        dialog.show();
    } 
    // you are ready to use the user's username
于 2012-07-21T08:00:00.470 に答える
1

このコードを使用します:

        File file = new File("username.txt");

        // if file doesnt exists, then prompt username alert dialog
        if (!file.exists()) {
          //prompt for username
          file.createNewFile();
        }

        FileWriter fw = new FileWriter(file.getAbsoluteFile());
        BufferedWriter bw = new BufferedWriter(fw);
        //suppose  EditText_UserName is your edittext where he can enter his name
        bw.write(EditText_UserName.getText().toString());
        bw.close();

アプリケーションを起動するたびに、file.existsを使用してこのファイルを確認し、続行してください。

于 2012-07-21T07:52:23.340 に答える