Computer >> Máy Tính >  >> Lập trình >> Android

Làm thế nào để giải thích các tùy chọn Chia sẻ của Android với ví dụ?

Sử dụng sở thích chia sẻ, chúng tôi có thể lưu trữ hoặc truy xuất các giá trị dưới dạng cặp khóa và giá trị. Có năm phương pháp khác nhau có sẵn trong sở thích cổ phần như được hiển thị bên dưới -

  • Chỉnh sửa () - Nó sẽ chỉnh sửa các giá trị tùy chọn được chia sẻ

  • cam kết () - nó sẽ cam kết các giá trị ưu tiên được chia sẻ trong tệp xml

  • áp dụng () - Nó sẽ cam kết trở lại các thay đổi từ trình chỉnh sửa thành tùy chọn được chia sẻ.

  • xóa (Khóa chuỗi) - Nó sẽ xóa khóa và giá trị khỏi khóa sử dụng tùy chọn được chia sẻ.

  • Đặt () - Nó sẽ đặt khóa và giá trị cho xml tùy chọn chia sẻ.

Cú pháp mẫu ví dụ về sở thích được chia sẻ như được hiển thị bên dưới -

final SharedPreferences sharedPreferences = getSharedPreferences("USER",MODE_PRIVATE);

Trong cú pháp trên, chúng tôi đã tạo tệp tùy chọn chia sẻ dưới dạng USER.xml và nó ở chế độ riêng tư có nghĩa là không ứng dụng nào khác có thể truy cập tùy chọn được chia sẻ này.

Ví dụ dưới đây minh họa về cách sử dụng tùy chọn chia sẻ trong android.

Bước 1 - Tạo một dự án mới trong Android Studio, đi tới Tệp ⇒ Dự án Mới và điền tất cả các chi tiết cần thiết để tạo một dự án mới.

Bước 2 - Thêm mã sau vào res / layout / activity_main.xml .

<?xml version = "1.0" encoding = "utf-8"?>
<android.support.constraint.ConstraintLayout
   xmlns:android = "https://schemas.android.com/apk/res/android"
   xmlns:app = "https://schemas.android.com/apk/res-auto"
   xmlns:tools = "https://schemas.android.com/tools"
   android:layout_width = "match_parent"
   android:layout_height = "match_parent"
   android:orientation = "vertical"
   tools:context = ".MainActivity"
   tools:layout_editor_absoluteY = "81dp">
   <EditText android:id = "@+id/name"
      android:layout_width = "match_parent"
      android:layout_height = "60dp"
      android:layout_marginTop = "8dp"
      android:autofillHints = ""
      android:hint = "NAME" app:layout_constraintTop_toTopOf = "parent"
      tools:layout_editor_absoluteX = "0dp" />
   <EditText android:id = "@+id/address" android:layout_width = "match_parent"
      android:layout_height = "wrap_content"
      android:layout_marginTop = "84dp"
      android:hint = "Phone Number"
      android:importantForAutofill = "no"
      android:inputType = ""
      app:layout_constraintTop_toTopOf = "@+id/name"
      tools:layout_editor_absoluteX = "16dp"
      tools:targetApi = "o" />
   <Button
      android:id = "@+id/button"
      android:layout_width = "108dp"
      android:layout_height = "wrap_content"
      android:layout_marginStart = "8dp"
      android:layout_marginLeft = "8dp"
      android:layout_marginTop = "120dp"
      android:layout_marginEnd = "8dp"
      android:layout_marginRight = "8dp"
      android:gravity = "center_horizontal"
      android:text = "Save"
      app:layout_constraintEnd_toEndOf = "parent"
      app:layout_constraintHorizontal_bias = "0.503"
      app:layout_constraintStart_toStartOf = "parent"
      app:layout_constraintTop_toTopOf = "@+id/address" />
   <Button
      android:id = "@+id/read"
      android:layout_width = "wrap_content"
      android:layout_height = "wrap_content"
      android:layout_marginStart = "8dp"
      android:layout_marginLeft = "8dp"
      android:layout_marginTop = "88dp"
      android:layout_marginEnd = "8dp"
      android:layout_marginRight = "8dp"
      android:gravity = "center_horizontal"
      android:text = "read"
      app:layout_constraintEnd_toEndOf = "parent"
      app:layout_constraintStart_toStartOf = "parent"
      app:layout_constraintTop_toBottomOf = "@+id/button" />
   <TextView
      android:id = "@+id/result"
      android:layout_width = "wrap_content"
      android:layout_height = "0dp"
      android:layout_marginStart = "8dp"
      android:layout_marginLeft = "8dp"
      android:layout_marginTop = "184dp"
      android:layout_marginEnd = "8dp"
      android:layout_marginRight = "8dp"
      android:text = "result"
      app:layout_constraintEnd_toEndOf = "parent"
      app:layout_constraintStart_toStartOf = "parent"
      app:layout_constraintTop_toBottomOf = "@+id/button" />
</android.support.constraint.ConstraintLayout>

Trong xml ở trên, nó chứa hai văn bản chỉnh sửa cho tên và địa chỉ, khi người dùng nhấp vào nút lưu, nó sẽ lưu trữ các giá trị trong các tùy chọn được chia sẻ và khi người dùng nhấp vào nút đọc, nó sẽ đọc các giá trị từ các tùy chọn được chia sẻ.

Bước 3 - Thêm mã sau vào src / MainActivity.java

package com.example.andy.myapplication;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      final SharedPreferences sharedPreferences = getSharedPreferences("USER",MODE_PRIVATE);
      final EditText name = findViewById(R.id.name);
      final EditText address = findViewById(R.id.address);
      final TextView result = findViewById(R.id.result);
      Button save = findViewById(R.id.button);
      Button read = findViewById(R.id.read);
      read.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            result.setText("Name is "+sharedPreferences.getString("Name","No name")+" Address "+ sharedPreferences.getString("Address","No Address"));
        }
      });
      save.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            if(name.getText().toString().isEmpty() && address.getText().toString().isEmpty()) {
               Toast.makeText(MainActivity.this,"Plz Enter all the data",Toast.LENGTH_LONG).show();
            } else {
               String nameData = name.getText().toString().trim();
               String addressData = address.getText().toString().trim();
               SharedPreferences.Editor editor = sharedPreferences.edit();
               editor.putString("Name",nameData);
               editor.putString("Address",addressData);
               editor.commit();
            }
         }
      });
   }
}

Bước 4 - Không cần thay đổi tệp kê khai.xml Hãy thử chạy ứng dụng của bạn. Tôi giả sử bạn đã kết nối thiết bị Di động Android thực tế với máy tính của mình. Để chạy ứng dụng từ android studio, hãy mở một trong các tệp hoạt động của dự án của bạn và nhấp vào biểu tượng Run Làm thế nào để giải thích các tùy chọn Chia sẻ của Android với ví dụ? từ thanh công cụ. Chọn thiết bị di động của bạn làm tùy chọn, sau đó kiểm tra thiết bị di động sẽ hiển thị màn hình mặc định của bạn -

Làm thế nào để giải thích các tùy chọn Chia sẻ của Android với ví dụ?

Trong ví dụ trên, chúng tôi đã thêm tên và địa chỉ và nhấp vào nút lưu.

Làm thế nào để giải thích các tùy chọn Chia sẻ của Android với ví dụ?

Trong ví dụ trên, chúng tôi đã nhấp vào nút đọc. nó sẽ nối văn bản vào chế độ xem văn bản