본문 바로가기

전체 글67

[flutter] 플러터 위치정보 가져오기 및 권한 물어보기 플러터로 위치 권한을 묻는 방법과 위치정보 가져오는 방법을 알아보겠습니다. ▣ 위치권한 android>app>src>main>AndroidManifest.xml파일에 를 입력합니다. 그러면 사용자에게 위치 권한을 물어봅니다. ▣ 위치정보 가져오기 1. pubspec.yaml파일에 geolocator: ^7.3.3 을 입력하여 설치합니다. 2. 위치정보를 가져올.dart페이지에 import 해줍니다. 3. 아래와 코드와 같이 함수를 만들어 position정보를 가져옵니다. 위도와 경도를 알고 싶으면 position.longitude와 position.latitude를 이용해 정보를 가져올 수 있습니다. 2022. 7. 13.
[dart언어] ..연산자 dart언어를 사용하다 보면 종종 .. 연산자를 볼 때가 있습니다. .. 연산자를 cascade notation이라고 하는데 cascade notation이 어떤 연산자인지 확인해 보겠습니다. cascade notation를 간단히 말하면 함수를 호출할때 사용합니다. 다만 함수 호출 시 return값을 무시합니다. 간단한 예제로 확인해보겠습니다. 임의로 B클래스를 만들었습니다. name변수와 number변수가 있고 setName가 setNumber을 이용해 변수를 초기화할 수 있습니다. 다만 테스트를 위해 set함수에 return을 넣었습니다. class B{ String name = ''; int number = 0; String setName(String s){ this.name = s; return.. 2022. 7. 8.
[dart언어] for, for in, forEach dart언어에서 반복문으로 주로 사용하는 for, for in, forEach에 대해 알아보겠습니다. ▣ for c언어나 자바언어에서 사용하는 형태와 같습니다. for(int i = 시작숫자 ; i < 길이 ; 증감) { 반복하면서 실행 할 것 } ex) List rainbow = ['빨,주,노,초,파,남,보']; for(int i = 0 ; i < rainbow.length ; i++) { print(rainbow[i]); } ▣ for in for(배열 또는 리스트의 자료형 변수 in 배열이나 리스트 등) { 반복하면서 실행할 것 } ex) List rainbow = ['빨,주,노,초,파,남,보']; for(String color in rainbow) { print(color); } ▣ forEach.. 2022. 7. 8.
[flutter] 이미지 주어진 공간 만큼만 채우기(Expanded 위젯) 플러터에서 이미지를 가져올 때 크기가 너무 크거나 작거나 할 때가 있습니다. 또한 핸드폰 사이즈에 따라 크기를 변경해야 할 때도 있습니다. 이럴 때 Expanded위젯을 사용해서 내가 지정한 화면에 꽉 채워 보여줍니다. 사용방법은 간단합니다. Expanded위젯을 이용해 Image.aseet()을 감싸주면됩니다. Container( child: Expanded( child: Image.asset('image/banana.png'), ), ), 2022. 7. 5.
[flutter] 플러터 TextField 값 가져오기 플러터 TextField 값 가져오는 방법을 알아보겠습니다. 천천히 따라오시면 매우 간단하게 TextField값을 가져올 수 있습니다. ▣ TextField 값 가져오기 1. Stateless위젯이라면 StatefulWidget위젯으로 변경해줍니다. 2. 아래와 같이 TextEditingController tec = TextEditingController(); 로 TextEditingController객체를 생성해줍니다. class Login extends StatefulWidget { const Login({Key? key}) : super(key: key); @override State createState() => _LoginState(); } class _LoginState extends Stat.. 2022. 7. 5.
[flutter]위젯이 화면을 넘어갈때 간단한 해결방법(오버플로드 에러) 위젯이 화면을 넘어가게 되면 오버플로드 되었다는 애러가 발생합니다. 해결방법은 간단합니다. 해당 부분을 SingleChildScrollView로 감싸주기만 하면 됩니다. 보통 저 같은 경우에는 body: 뒤부터 모두 SingleChildScrollView로 감싸줍니다. 그럼 해당 페이지의 body부분에서는 이러한 에러가 발생하지 않습니다. 2022. 7. 5.
[flutter] 빈 화면 터치(외부 클릭) 키보드(자판) 숨기기 대부분의 어플들은 화면에 자판이 올라왔을 때 빈 화면을 클릭하면 자판이 내려가도록 되어있습니다. 원리는 간단합니다. 자판이 올라오는 이유는 TextField에 Focus가 맞춰 지기 때문인데, TextField에 있는 Focus를 unFocus 해주면 자판이 내려갑니다. ▣ 방법 GestureDetector으로 감싸주고 인자로 onTap 클릭 시 FocusScope.of(context).unfocus();가 되도록 합니다. ▣ 순서 기존 코드를 widget으로 감싸준다. widget을 GestureDetector로 변경 한다. onTap 속성에 () { FocusScope.of(context).unfocus(); }를 입력한다. 아래는 코드입니다. GestureDetector( onTap: () { Fo.. 2022. 7. 5.
[flutter] 내비게이터(Navigator)를 이용한 화면 이동 방법 flutter에서 화면은 route라고 하며 내비게이터(navigator)를 이용해 route를 이동할 수 있습니다. Navigator을 이용하여 화면(route) 이동 방법을 알아보겠습니다. 내비게이터는 스택 형태로 되어있습니다. 스택은 보통 push를 이용해 쌓고 pop을 이용해 뺍니다. 플러터의 내비게이터도 마찬가지로 Navigator.push()와 Navigator.pop()을 사용하고 Navigator.push()를 사용하면 기존 화면 위에 새로운 화면을 쌓고 Navigator.pop()를 이용해 기존 화면 위에 올라간 새로운 화면을 내립니다. ▣ 새로운 화면 이동을 위한 Navigator.push() 텍스트 버튼을 만들고 버튼을 누르면 두 번째 페이지로 이동하는 코드입니다. Navigator... 2022. 7. 1.