Flutter 실전 - 장치 정보 얻기

12803 단어 flutter 실전

Flutter 실전 - 장치 정보 얻기

  • 1.선언
  • 2.구성
  • 1.종속 추가
  • 2.IOS 구성
  • 3.코드 단계
  • 1.플랫폼 정보 얻기
  • 2.장치 정보 얻기
  • 4.요약
  • 하나.전언


    Flutter 실전 - 장치 정보를 얻습니다.

    둘.프로비저닝


    1. 의존 추가


    device_info:Get current device information from within the Flutter application. 버전 질의:https://pub.dev/packages/device_info
    1.1 프로젝트의 pubspec.yaml 파일에 종속 추가: deviceinfo
    environment:
     	sdk: ">=2.1.0 <3.0.0"
      
    dependencies:
    	flutter:
    	    sdk: flutter
    	//    
      	device_info: 0.4.0+2
    

    1.2 다운로드 종속 패키지 설치
    flutter packages get
    

    2. IOS 구성


    IOS를 실행하려면 cocoapods와 brew를 설치해야 합니다.
    brew install cocoapods
    pod setup
    

    셋.코드 단계


    1. 플랫폼 정보 얻기


    Flutter는 전체 플랫폼 프레임워크로 다양한 플랫폼에서 실행할 수 있으며 장치 정보를 얻기 전에 프로그램이 어떤 플랫폼에서 실행되는지 판단해야 한다.판단 플랫폼: dart.io 패키지의 PlatformPlatform 클래스를 통해 획득할 수 있습니다.1.1 Platform 클래스
    class Platform {
    ...
      static final bool isLinux = (_operatingSystem == "linux");
      static final bool isMacOS = (_operatingSystem == "macos");
      static final bool isWindows = (_operatingSystem == "windows");
      static final bool isAndroid = (_operatingSystem == "android");
      static final bool isIOS = (_operatingSystem == "ios");
      static final bool isFuchsia = (_operatingSystem == "fuchsia");
    ...
    }
    

    1.2 예(1) 가져오기dart.io 패키지
    import 'dart:io';
    

    (2) 예제 - 판단 플랫폼(IOS/Android)
    if(Platform.isIOS){
      print('This is IOS.');
    }else if(Platform.isAndroid)
      print('This is Android.');
    }
    

    2. 장치 정보 얻기


    2.1 가져오기device_info 패키지
    import 'package:device_info/device_info.dart';
    

    2.2 장치 정보 가져오기(IOS/Android)
    void getDeviceInfo() async{
        DeviceInfoPlugin deviceInfo = new DeviceInfoPlugin();
        if(Platform.isIOS){
          IosDeviceInfo iosDeviceInfo = await deviceInfo.iosInfo;
        }else if(Platform.isAndroid){
          AndroidDeviceInfo androidDeviceInfo = await deviceInfo.androidInfo;
        }
      }
    

    2.3 IosDeviceInfo 클래스(1) 특정 속성 값 획득: iosDeviceInfo.속성 이름(String name = iosDeviceInfo.name)
    class IosDeviceInfo {
    ...
      final String name;
      final String systemName;
      final String systemVersion;
      final String model;
      final String localizedModel;
      final String identifierForVendor;
      final bool isPhysicalDevice;
      final IosUtsname utsname;
    ...
    }
    

    2.4 AndroidDeviceInfo 클래스(1) 특정 속성 값 가져오기:androidDeviceInfo.속성 이름(String brand = androidDeviceInfo.brand)
    class AndroidDeviceInfo {
    ...
      final AndroidBuildVersion version;
      final String board;
      final String bootloader;
      final String brand;
      final String device;
      final String display;
      final String fingerprint;
      final String hardware;
      final String host;
      final String id;
      final String manufacturer;
      final String model;
      final String product;
      final List<String> supported32BitAbis;
      final List<String> supported64BitAbis;
      final List<String> supportedAbis;
      final String tags;
      final String type;
      final bool isPhysicalDevice;
      final String androidId;
    ...
    }
    

    (2) AndroidBuildVersion 클래스: androidDeviceInfo.version
    class AndroidBuildVersion {
    ...
      final String baseOS;
      final String codename;
      final String incremental;
      final int previewSdkInt;
      final String release;
      final int sdkInt;
      final String securityPatch;
    ...
    }
    

    넷.총결산


    이 글을 발표하는 목적은 단지 배운 지식을 기록하기 위한 것이니 잘못이 있으면 많이 지적해 주십시오.

    좋은 웹페이지 즐겨찾기