목록Programming (132)
외로운 Nova의 작업실
- 드로어 레이아웃 드로어 레아이웃은 액티비티 화면에 보이지 않던 내용이 왼쪽이나 오른쪽에서 손가락의 움직임에 따라 밀려 나오는 기능을 말합니다. 드로어 레이아웃의 특징은 xml에 드로어 레이아웃 태그안에 첫번째 태그는 화면에 그냥 보여주고 두번째 태그는 스와이프를 해야 밀려나오게합니다. 따라서 드로어 레이아웃을 만들때는 그 안에 태그가 2개 있어야합니다. - 그래들 파일에 드로어 레이아웃 선언 implementation "androidx.drawerlayout:drawerlayout:1.1.1" - 메인 액티비티.xml 이제 메인액티비티.xml에 드로어 레이아웃 자리를 만들어줍니다. 보통 최상위에 두어서 드로어가 전체화면에서 나오게 만듭니다. 또한 드로어 레이아웃 안의 첫번째 태그와 두번째태그를 적절히..
- 명령문 GET GET key 데이터 조회 MGET MGET key [key ...] 여러 데이터를 조회 SET SET key value 새로운 데이터 추가 MSET MSET key value [key value ...] 여러 데이터를 추가 DEL DEL key [key ...] 데이터 삭제 EXISTS EXISTS key [key ...] 데이터 유무 확인 INCR INCR key 데이터 값에 1 더함 DECR DECR key 데이터 값에 1 뺌 INFO INFO [section] DBMS 정보 조회 CONFIG GET CONFIG GET parameter 설정 조회 CONFIG SET CONFIG SET parameter value 새로운 설정을 입력 - radis 서버 키기 redis-server..
- MongoDB 구성 몽고디비는 database - collection - document - filed순으로 되어있습니다. doucument는 딕셔너리 형태의 값이고 filed는 딕셔너리 형태의 하나의 키와 값을 말합니다. collection은 이 document를 모아두는 저장 창고이며 database는 이 collection을 모아두는 저장 창고입니다. - 명령문 #database 생성 및 사용, 이명령어 이후에는 db객체에 데이터베이스가 담겨 접근할 수 있습니다. use users #users db에 user collection 생성 db.create("user") #user 콜렉션에 어드민 계정추가 document 추가 db.user.insert({"userid" : "admin", "user..
- 파이썬 특징 1. 문장을 ;으로끝내지 않고 그냥 넘어갑니다. 2. 함수나 if문 for문에서 사용하는 {}를 사용하지않고 : 기호 이후 들여쓰기로 구분합니다. - 함수 정의 매개변수와 리턴값의 데이터타입을 정의하지않습니다. def searchFlag(param): #추가되는 문자를 찾는 함수 리턴은 추가되는 문자 for i in range(48, 126):#전체검사 if(i == 95 ): continue plus = chr(i) insertParam(param, plus) response = requests.get("http://host3.dreamhack.games:10733", params = param) if("admin" in response.text): return plus for i in..
- 뷰페이저2 뷰페이저는 스와이프 이벤트로 화면을 전환할때 사용합니다. 개발자들은 오랫동운 뷰페이저를 사용했지만 2019년부터는 뷰페이저2를 제공했습니다. 뷰페이저2가 기능이 더 많습니다. 따라서 뷰페이저2를 사용하겠습니다. 프래그먼트를 활요해 뷰페이저를 만들어보겠습니다. - 뷰페이저 선언 그래들 파일에 아래와 같이 선언해줍니다. implementation 'androidx.viewpager2:viewpager2:1.0.0' - 메인액티비티.xml에 뷰페이저가 들어갈 자리 만들어주기 메인액티비티.xml에 viewpager태그를 사용해서 자리를 만들어줍니다 - 프래그먼트 xml 만들어주기 뷰페이저에 들어가 프래그먼트 xml을 만들어주겠습니다. 이름은fragement1.xml fragment2.xml fra..
- 리사이클러 뷰 일반적으로 앱을 사용하다 보면 여러가지 항목을 나열하는 목록 화면이 많다는 것을 알 수 있습니다. 리사이클러 뷰는 이러한 목록 화면을 만들때 사용합니다. 아래와 같은 상황을 말합니다. 리사이클러 뷰는 뷰 홀더라는 틀을 만들고 그 틀에 어댑터가 값을 넣어주고 이후 레이아웃매니저가 여러개 배치해주는 순서로 진행됩니다. 하나씩 만들어보겠습니다. - 리사이클러 뷰 선언 먼저 리사이클러를 사용하겠다고 그래들 파일에 선언해줘야합니다. implementation 'androidx.recyclerview:recyclerview-selection:1.1.0' - 리사이클러를 메인 xml에 등록 메인 xml에 키사이클러 태그를 사용하여 들어갈 자리를 정해줍니다. - 리사이클러의 틀을 xml로 만들기 이제..
- 프래그먼트 프래그먼트란 액티비티 화면을 구성하는 뷰입니다. 프래그먼트가 다른 뷰와 다른점은 액티비티 처럼 동작한다는 것입니다. 프래그먼트는 아래와 같이 사용됩니다. 프래그먼트는 아래와 같이 구현됩니다. - 프래그먼트 구현 먼저 프래그먼트를 사용하겠다고 그리들 파일에 선언해줘야합니다. dependencies { ... implementation 'androidx.fragment:fragment-ktx:1.5.5' } 이제 프래그먼트를 만들어보겠습니다. 프래그먼트의 xml을 먼저 만들어주겠습니다. 아래는 fragement1.xml입니다. 위와 같은 프래그먼트를 2개 더 만들어 줍니다. 이름은 fragment2.xml fragement3.xml입니다. 이제 프래그먼트를 화면에 띄우는 kt파일을 만들어줍니다..
- 제트팩 제트팩이란 안드로이드 플랫폼이 기본적으로 제공하는 플랫폼 API외에 따로 추가된 라이브러리입니다. 플랫폼 API란 android.App.Activity와 같은것입니다. 제트팩은 androidx로 시작하는 패키지명을 사용합니다. 제트팩은 크게 다음 3가지 목적으로 제공됩니다. 앱을 개발하는 데필요한 권장 아키텍처를 제공합니다. API레벨의 호환성 문제를 해결합니다. 플랫폼 API에서 제공하지 않는 다양한 기능을 제공합니다. 호환성 문제를 해결해주기때문에 플랫폼 API에서 지원하는 것을 제트팩에서도 지원한다면 제트팩을 많이 사용합니다. 제트팩의 화면 구성과 관련된 라이브러리를 소개하면 다음과 같습니다. androidx.appcompat : 앱의 API 레벨 호환성을 해결합니다. androidx.r..
- 소리 알림 사용자에게 짧은 소리로 특정한 상황을 알리때가 있습니다. 대표적으로 문자앱에서 새로운 메시지를 전달받으면 사용자 알림 효과로 짧은 소리를 이용해 알려줍니다. 이런 목적으로 사용하는 짧은 소리를 알림음이라고 합니다. 알림음은 녹음한 음원을 쓸 수도 있지만 안드로이드 시스템에 등록된 소리를 이용할 수 있습니다. 안드로이드시스템은 알림(notification), 알람(alarm), 벨소리(ringtone)등의 소리를 제공하며 이소리는 RingtonManager로 얻을 수 있습니다. class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInsta..
- 토스트 메시지 띄우기 토스트는 화면 아래쪽에 잠깐 보였다가 사라지는 문자열을 의미합니다. 토스트는 Toast의 makeText()함수로 만듭니다. open static fun makeText(context: context!, txt: charsequence!, duration: Int): Toast! open static fun makeText(context: context!, resId: Int, duration: Int): Toast! val toast = Toast.makeText(applicationContext, "해당 권한을 허용해주셔야 앱 사용이 가능합니다.", Toast.LENGTH_SHORT). 토스트 메시지가 사라질때 혹은 나타날때 반환되는 콜백함수를 추가할 수 도 있습니다. 이는 ..