본문 바로가기

ANDROID의 속삭임

[android][기초][예제]사용자 로그인 사용자 이름 저장.

* MainActivity.java

package com.example.ex3;


import android.app.Activity;

import android.content.Context;

import android.content.SharedPreferences;

import android.content.SharedPreferences.Editor;

import android.os.Bundle;

import android.telephony.TelephonyManager;

import android.util.Log;

import android.view.Menu;

import android.widget.EditText;


public class MainActivity extends Activity {


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);


SharedPreferences sp = getSharedPreferences("mydb",

Context.MODE_PRIVATE);


/**

* 사용자 이름을 문자열로 캐시한다.

*/

// 일반적으로 사용자가 자신의 이름을 입력할 수 있는 EDIT TEXT VIEW를 가진다.

EditText userNameLoginText = (EditText) findViewById(R.id.login_editText);

String userName = userNameLoginText.getText().toString();

Editor e1 = sp.edit();

e1.putString("userNameCache", userName);

e1.putString("phoneNumber", getPhoneNumber());

e1.putString("deviceId", getDeviceId());

e1.commit();

Log.d(this.getClass().getName(), "userName : " + sp.getString("userNameCache", "저장안됨."));

Log.d(this.getClass().getName(), "phone Number : " + sp.getString("phoneNumber", "저장안됨."));

Log.d(this.getClass().getName(), "deviceId : " + sp.getString("deviceId", "저장안됨."));


}


@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}


/**

* 번호 얻기

* @return

*/

public String getPhoneNumber() {

TelephonyManager mgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

return mgr.getLine1Number();

}


/**

* 기기 고유 번호 얻기

* @return

*/

public String getDeviceId() {

TelephonyManager mgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);

return mgr.getDeviceId();

}


}


* AndroidManifest.xml 에 권한 추가.

    <uses-permission android:name="android.permission.READ_PHONE_STATE" />