반응형

전체 글 147

json 파싱

json 파싱. 예들들어 Map param = { "title": "picture book", "info" : [ {"pageNum":1,"url":"http://abcdef.com/a"}, {"pageNum":2,"url":"http://abcdef.com/b"}, {"pageNum":3,"url":"http://abcdef.com/c"}, {"pageNum":4,"url":"http://abcdef.com/d"}, {"pageNum":5,"url":"http://abcdef.com/e"}, ] }; 이렇게 List를 포함한 형식의 json이 있을 때 입니다. 이 때, info 부분만 Map 타입으로 가져오려할 때 List infoList = param["info"]; 으로 가져오면 infoList 는..

flutter.dev 2021.07.06

코틀린-안드로이드 정리

1. 뷰 바인딩 뷰바인딩 기능활성화 모듈 gradle 에 view bind true 설정 더보기 android { ... buildFeatures { viewBinding true } } 작명 규칙 activity_main.xml -> ActivityMainBinding 바인딩 클래스 파일 build/generated/data_binding_base_class_source_out 디렉토리에 생성 장점 Null 안정성 타입안정성 아이디 변경도 쉬움.. (refactory를 사용하면 한방에 kt, xml 파일 모두 수정 가능) xml 파일 찾는 법 private lateinit var binding : ActivityMainBinding 에서 ActivityMainBinding 부분 컨트롤 + 클릭 하면 이..

android training 2021.06.10

java String, char

char 하나의 문자를 작은 따옴표로 감싼것을 문자리터럴이라고합니다. 문자리터럴은 유니코드로 변환되어 저장됩니다. 자바는 유니코드를 저장할 수 있도록 2byte크기인 char 타입을 제공합니다. String String d = "안녕 親9"; // 자바는 내부 문자열을 모두 유니코드 처리한다 // 유니코드 문자열을 UTF-8 캐릭터 바이트배열로 변환하여 반환 byte [] utf8 = d.getBytes("UTF-8"); // 유니코드 문자열을 EUC-KR 캐릭터 바이트배열로 변환하여 반환 byte [] euckr = d.getBytes("EUC-KR"); // 당연히 다른 바이트 배열이므로 사이즈가 다르다. System.out.println("byte length > " + utf8.length); /..

etc 2021.05.31

Hive

1. 디펜던시 defendency hive hive_flutter dev_defendency build_runner hive_generator 2. 모델 생성 2-1. 코드작성 class WordModel 모델을 Hive에서 사용하려면 어노테이션을 사용해야함 @HiveType(typeId:1) : 타입ID는 1부터 시작함. @HiveField(0) import 'package:hive/hive.dart'; part 'word_model.g.dart'; @HiveType(typeId: 1) class WordModel{ @HiveField(0) final int id; @HiveField(1) final String engWord; @HiveField(2) final String korWord; @Hive..

flutter.dev 2021.05.25

ContextCompat

ContextCompat은 Resource에서 값을 가져오거나 퍼미션을 확인할 때 사용할 때 SDK버전을 고려하지 않아도 되도록 (내부적으로 SDK버전을 처리해둔) 클래스입니다. 예를들면 아래와 같이 처리되어 있다. public static int getColor(@NonNull Context context, @ColorRes int id) { if (Build.VERSION.SDK_INT >= 23) { return context.getColor(id); } else { return context.getResources().getColor(id); } } 이렇게 버전을 내부적으로 분기를 태워서 개발자는 특별하게 SDK버전을 신경쓰지 않아도 되도록 처리해둔 것이며 Color, Drawable, File,..

android training 2021.05.18

RadioListTile

1. RadioListTile 설명 RadioListTile은 ListTile에 라디오 버튼이 달린 위젯입니다. ListTile의 leading에 Radio를 넣어서 비슷하게 만들 수도 있습니다. [전체소스] import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch:..

flutter.widget 2021.05.14