Android-공유 환경 설정

Android는 애플리케이션의 데이터를 저장하는 다양한 방법을 제공합니다. 이 방법 중 하나를 공유 기본 설정이라고합니다. 공유 기본 설정을 사용하면 키, 값 쌍의 형태로 데이터를 저장하고 검색 할 수 있습니다.

공유 환경 설정을 사용하려면 환경 설정 값이 포함 된 파일을 가리키는 SharedPreference 인스턴스를 반환하는 getSharedPreferences () 메서드를 호출해야합니다.

SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

첫 번째 매개 변수는 키이고 두 번째 매개 변수는 MODE입니다. 비공개 외에도 아래에 나열된 다른 모드가 있습니다.

Sr. 아니요 모드 및 설명
1

MODE_APPEND

이것은 이미 존재하는 환경 설정과 함께 새로운 환경 설정을 추가합니다

2

MODE_ENABLE_WRITE_AHEAD_LOGGING

데이터베이스 열기 플래그. 설정되면 기본적으로 미리 쓰기 로깅을 활성화합니다.

MODE_MULTI_PROCESS

이 메소드는 sharedpreference 인스턴스가 이미로드 된 경우에도 환경 설정 수정을 확인합니다.

4

MODE_PRIVATE

이 모드를 설정하면 호출 응용 프로그램을 통해서만 파일에 액세스 할 수 있습니다.

5

MODE_WORLD_READABLE

이 모드를 사용하면 다른 응용 프로그램이 기본 설정을 읽을 수 있습니다.

6

MODE_WORLD_WRITEABLE

이 모드를 사용하면 다른 응용 프로그램이 기본 설정을 작성할 수 있습니다.

SharedPreferences.Editor 클래스를 사용하여 sharedpreferences에 무언가를 저장할 수 있습니다. SharedPreference 인스턴스의 edit 메서드를 호출하고 편집기 개체에서 수신합니다. 구문은-

Editor editor = sharedpreferences.edit();
editor.putString("key", "value");
editor.commit();

putString 메서드 외에도 편집기 클래스에서 공유 환경 설정 내에서 데이터를 조작 할 수있는 메서드가 있습니다. 그들은 다음과 같이 나열됩니다-

Sr. NO 모드 및 설명
1

apply()

추상적 인 방법입니다. 편집기에서 호출중인 sharedPreference 객체로 변경 사항을 다시 커밋합니다.

2

clear()

편집기에서 모든 값을 제거합니다.

remove(String key)

키가 매개 변수로 전달 된 값을 제거합니다.

4

putLong(String key, long value)

기본 설정 편집기에 긴 값을 저장합니다.

5

putInt(String key, int value)

기본 설정 편집기에 정수 값을 저장합니다.

6

putFloat(String key, float value)

기본 설정 편집기에 부동 값을 저장합니다.

이 예제는 공유 기본 설정의 사용을 보여줍니다. 응용 프로그램을 닫을 때 값이 저장되고 다시 열 때 다시 가져 오는 일부 텍스트 필드가있는 화면을 표시합니다.

이 예제를 실험하려면 아래 단계에 따라 응용 프로그램을 개발 한 후 실제 장치에서 실행해야합니다.

단계 기술
1 Android 스튜디오를 사용하여 com.example.sairamkrishna.myapplication 패키지 아래에 Android 애플리케이션을 만듭니다.
2 src / MainActivity.java 파일을 수정하여 회전 진행률 대화 상자를 표시하는 진행 코드를 추가하십시오.
res / layout / activity_main.xml 파일을 수정하여 각 XML 코드를 추가하십시오.
4 애플리케이션을 실행하고 실행중인 Android 기기를 선택하고 여기에 애플리케이션을 설치하고 결과를 확인합니다.

다음은 수정 된 내용입니다. MainActivity.java.

package com.example.sairamkrishna.myapplication;

import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
   EditText ed1,ed2,ed3;
   Button b1;
	
   public static final String MyPREFERENCES = "MyPrefs" ;
   public static final String Name = "nameKey";
   public static final String Phone = "phoneKey";
   public static final String Email = "emailKey";
	
   SharedPreferences sharedpreferences;

   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      ed1=(EditText)findViewById(R.id.editText);
      ed2=(EditText)findViewById(R.id.editText2);
      ed3=(EditText)findViewById(R.id.editText3);

      b1=(Button)findViewById(R.id.button);
      sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            String n  = ed1.getText().toString();
            String ph  = ed2.getText().toString();
            String e  = ed3.getText().toString();

            SharedPreferences.Editor editor = sharedpreferences.edit();

            editor.putString(Name, n);
            editor.putString(Phone, ph);
            editor.putString(Email, e);
            editor.commit();
            Toast.makeText(MainActivity.this,"Thanks",Toast.LENGTH_LONG).show();
         }
      });
   }

}

다음은 수정 된 주요 활동 파일의 내용입니다.res/layout/activiy_main.xml.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
   android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Shared Preference "
      android:id="@+id/textView"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="35dp" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials Point"
      android:id="@+id/textView2"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true"
      android:textSize="35dp"
      android:textColor="#ff16ff01" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText"
      android:layout_below="@+id/textView2"
      android:layout_marginTop="67dp"
      android:hint="Name"
      android:layout_alignParentRight="true"
      android:layout_alignParentEnd="true"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText2"
      android:layout_below="@+id/editText"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true"
      android:layout_alignParentRight="true"
      android:layout_alignParentEnd="true"
      android:hint="Pass" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText3"
      android:layout_below="@+id/editText2"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true"
      android:layout_alignParentRight="true"
      android:layout_alignParentEnd="true"
      android:hint="Email" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Save"
      android:id="@+id/button"
      android:layout_below="@+id/editText3"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="50dp" />
      
</RelativeLayout>

다음은 파일 수정 내용입니다. res/values/strings.xml.

<resources>
   <string name="app_name">My Application</string>
</resources>

다음은 컨텐츠 기본 파일입니다. AndroidManifest.xml.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>

애플리케이션을 실행 해 보겠습니다. 실제 Android 모바일 장치를 컴퓨터에 연결했다고 가정합니다. Android 스튜디오에서 앱을 실행하려면 프로젝트의 활동 파일 중 하나를 열고

도구 모음에서 실행 아이콘을 클릭하십시오 . 애플리케이션을 시작하기 전에 Android 스튜디오는 Android 애플리케이션을 실행할 옵션을 선택하는 다음 창을 표시합니다.

옵션으로 모바일 장치를 선택하고 다음 화면이 표시되는 모바일 장치를 확인하십시오-

이제 필드에 텍스트를 입력하십시오. 내가 임의의 이름과 기타 정보를 입력하고 저장 버튼을 클릭하는 것처럼.

이제 저장 버튼을 누르면 텍스트가 공유 기본 설정에 저장됩니다. 이제 뒤로 버튼을 누르고 응용 프로그램을 종료하십시오. 이제 다시 열면 응용 프로그램에서 작성한 모든 텍스트가 표시됩니다.