안녕하세요. 감자코딩에 감자개발자입니다. 이번에 살펴볼 기능은 안드로이드로 Kakaotalk 로그인연동하기입니다. 1. 가장 첫번째로, https://developers.kakao.com/ 카카오톡 개발자 사이트로 이동합니다.이동한후, 가장먼저 해야할것은 프로젝트를 등록하고 Hash값을 등록해야합니다. 2. 그런데, 과연 Hash값을 어떻게 얻을까 궁금해 하시는분들이 있을것입니다. 그 방법은 약 2가지 방법이 있으나, 제가 여기서 보여드리는 방법은 안드로이드 코드내에서 소스코드를 추출해보도록 하겠습니다. 1234567891011121314private void getHashKey(){ try { // 패키지이름을 입력해줍니다. PackageInfo info = getPackageManager().getP..
안녕하세요. 감자코딩에 감자개발자입니다. 이번에 살펴볼 내용은, 안드로이드 파일중에서 AAR라이브러리를 확인할 경우가 생기는데요. 이때 어떻게 하면 그 AAR파일의 내용을 확인할 수 있을까 하는방법을 알아보겠습니다. 생각보다 간단하며, 유용할것이라고 판단이 듭니다. 1. *.arr파일을 준비하고, 안드로이드 스튜디오로 프로젝트 파일을 생성 합니다. 2. 이제 그 *.arr파일을 app.libs의 위치에 옮겨넣습니다. 3. 그리고나서 src안에 있는 build.gradle 파일에 아래의 내용을 넣습니다. repositories{ flatDir{ dirs 'libs' } } 추가 합니다. 4. 그리고 src안에 있는 build.gradle 파일안에 한줄을 더 추가해줍니다. dependencies { comp..
액션바를 탭과 함께 보여주는 예제123- 액션바에 가지는기능이상당히많다.- 액션바 하단에 탭버튼을 붙일 수 있다.- 탭이 별도로 들어갈 수 있다.csExample_Tab 프로젝트 생성12345678910111213141516171. 탭구성할때는 프래그먼트를 사용하는것이 대부분이다. 2. 처음 프로젝트 만들면 style.xml에 보면 탭이 기본적으로 들어가 있는거를 볼 수 있다.(이탭을 우리가 별도로 바꿀 수 있다.) -> 우리는 NoActionBar로 지정한뒤에 직접 탭을 만들어 볼 것이다. 3. 이제 레이아웃에서 액션바를 직접 만들어 보자.(추가) 4. 외부 라이브 러리를 사용해야한다file-> project structure ( app 모듈-> dependencies -> +버튼 -> library ..
액션바와 탭 사용하기1액션바 자체가 상단에 있으면서 기능이 다양해 졌다. (툴바의 기능도 하고 있다)cs안드로이드 메뉴1234-[메뉴]버튼은 안드로이드가 아이폰과 다른 특징을 보여주는것들 중의 하나-메뉴 버튼을 누르면 숨어 있던 메뉴가 보이게 되는데, 이 메뉴를 어플리케이션에서 구현 할 때는 옵션 메뉴(Option Menu)라고 부른다.-옵션 메뉴를 비롯한 안드로이드에서 제공하는 메뉴는 크게 두 가지임. Colored by Color Scriptercs옵션 메뉴12341. 하드웨어 [메뉴] 버튼을 눌렀을 때 나타나는 메뉴로 각각의 화면마다 설정된 주요 메뉴 2. 옵션 메뉴는 최대 6개 까지의 메뉴 아이템을 포함 할 수 있으며, 그 이상의 메뉴 아이템을 추가하면 "more" 라는 메뉴 아이템으로 표시 된다..
프래그먼트 많이 쓰이는 이유1231. 각각의 프래그먼트를 독립적으로 사용해서 다른 액티비티에서도 똑같이 집어넣어 쓸 수 있으므로 매우 편리하다. 이때 인터페이스를 사용해서 다른 액티비티에도 넣을 수 있다. 2. 프래그먼트 엄청나게 많은것들이 있으나, 일일이 찾아 봐야 한다.Colored by Color ScriptercsExample_Fragment 프로젝트 생성 할것123456789101112131415161718192021221. 이미지 3개를 res-drawable 폴더에 넣어 놓을것 2. res -> layout -> new -> resource file -> fragment_list.xml 파일 생성 3. list.xml파일에 버튼을 3개 추가 할것이다. 4. fragment_viewer.xml..
프래그 먼트란(Fragment)?123- 액티비라는것 안에 부분화면이 만들어 지는경우가 있는데, 화면의 일부만 차지하는것을 말한다. 버튼같은경우도 하나의 위젯만 만들어 진다. 이것을 뷰처럼 아예 정의해서 사용하는경우가 있다. 부분화면을 뷰로 만들어서 집어 넣다보니까 만약에 화면이 여러개가 될경우에 화면각각에다가그 반복되는부분을 넣어야 되는 문제점이 생기게 된다. 태그를 계속 복사해야하는 복잡함이 발생하게 된다.액티비티는 독립적인 구성요소 이므로, 다른 기능이 아님에도 불구하고 계속 코드를 넣어줘야한다.Colored by Color Scriptercs부분적으로 잡아줘야하는것들을 독립적으로 동작할수 없을까? 하는 문제점을 제기하게 된다.123456789- 태블릿과 같이큰 화면에서는 한 화면에 여러 부분화면을..
버튼을 누르면 패널을 하나 만들어서 슬라이드 형식으로 만들어보자.페이지 슬라이딩이란?-12345 뷰의 중첩과 애니메이션을 접목한 방식 - 하나의 뷰 위에 다른 뷰를 올라가 있을 때 보이거나 보이지 않는 과정을 애니메이션으로 적용 - 이때 사용하는것이 Animation객체를 적용해서 왼쪽방향으로 translate 하거나 오른쪽 방향으로 translate 한다csExample_Sliding 프로젝트 생성1. 버튼 클릭시 새로운 슬라이드가 넘어가도록 해보자.2. FrameLayout 사용(안에 Linearlayout 사용)3. main.xml 파일 수정12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849..
간단 애니메이션 사용하기123451. 스레드 부분에서 또 살펴볼것이다. 2. 전형적인 애니메이션 사용 방식은 애니메이션 액션 정보를 XML로 정의 한후 사용 3. Animation 객체로 만든 후 뷰를 startAnimation() 메소드를 사용하면 간단하게 애니메이션 동작cs동작 과정11. xml 파일에서 미리 정의 한후 -> Animation 객체로 할당(loadAnimation()메소드) -> Animation 객체를 View객체로 할당 (startAnimation() 메소드)csExample_Animation 프로젝트 생성1. main.xml 수정 하기- 텍스트뷰 , 버튼 추가2. 오른쪽에서 왼쪽으로 애니메이션 동작되도록 할것이다.3. 애니메이션 동작 xml로 정의, 동작을 위한 app->res-..
프로그레스바 사용하기1234567891011121314151617181920211. 여러 가지 화면을 구성하고 그안에 다양한 위젯을 사용하는데 있어서 대화 상자처럼 중간 중간상태 정보를 보여주는 가장 좋은 방법중에 하나임 2. 최대 값을 설정하는 max , 현재 값을 설정하는 progress속성이 중요함 3. 막대 모양- 작업의 진행정도를 알려 줄수 있도록 막대 모양으로 표시함 - style 속성 값을 android:attr/progressBarStyleHorizontal 로 설정한다. 4. 원모양 - 작업이 진행중임을 알려줌-원 모양으로 된 프로그레스바가 반복적으로 표시됨. 5. 프로그레스바 사용 메소드 void setProgress(int progress)void inCrementProgressBy..
알림 대화 상자 만들기새로운 프로젝트 만들기 (Example_Dialog) 생성1. 버튼을 누르면 대화 상자 뜨도록 하기2. 버튼 이벤트 처리까지는매우 익숙해졌다.3. 대화 상자 띄우기 위한 메소드 생성및, 대화상자 이벤트 처리4. 스낵바 추가(라이브러리 추가하는것 이전장에 나와있음)5. 위치가 이상할때 연결선만 잘연결해주어도 된다.6. 최종 코드 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566package com.example.example_dialog; import android.content.DialogInterface;impo..
토스트와 대화상자123451. 다양한 위젯 확인하기 2. 토스트 메시지에 알아보기 3. alert 알림대화상자는 어떻게 보여줄까cs토스트란?1간단한 메시지를 잠깐 보여주었다가 없어지는 뷰로 애플리케이션 위로 떠있는 뷰라 할 수 있음.cs토스트 변경 예제1. 프로젝트 생성Example_MyToast2. 입력상자 2개(좌표값 입력시 그위치에 뜨게 한다거나 이런 예제) , 버튼 하나 생성3. 버튼 클릭했을때 다른 좌표 보이게 하도록 하겠음.4. 버튼(토스트 띄우기 버튼 생성) 5. Main.Java 파일1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556package com.ex..
단말 방향 전환123456781. 병렬 리소스 로딩 방식 사용 2. [res] 폴더 안에 [layout] 폴더와 [layout-land] 폴더 생성land 폴더는 안드로이드 자체에서 인식을 하는데일반적인 layout 폴더는 -> 일반적인 세로 파일layout-land 폴더는 -> 가로 파일 3. 단말 방향을 바꾸게 되면 메인 엑티비티를 종료해버리고 -> 다시 메인 액티비티를 생성해버린다.(여기서 데이터가 날라가는 현상이 발생되는데, 여기서 데이터를 어떻게 유지 할지를 생각해 봐야한다)csExample_Orientation 프로젝트 생성 (첫번 째 방법)1. 생명주기 처럼 onCreate에서 작동하는지 확인 해보자2. onDestory() , onStart() , onStop() , onResume(), ..
키 입력 이벤트 처리하기1234뷰를 상속할 때 키 이벤트 처리를 위한 메소드 재정의- boolean onKeyDown(int keyCode,KeyEvent event)- boolean onKey(View v, int keyCode, KeyEvent event) Colored by Color ScriptercsExample_Event 프로젝트로 이어서 실습 하겠습니다.1. main.java(시스템,핸드폰에 붙어져있는 키를 눌렀을 때 발생하는 이벤트처리)generate -> override -> onKeyDown 생성123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585..
화면을 좀더 다양하게 만들 수 있는 방법을 알고 싶다?1234567- 손가락 눌렀을 때 어떻게 처리하는지 안다.- 사용자에게 간단하게 알려주는 방법을 안다- 간단한 애니메이션을 넣는 방법을 알아본다.- 메뉴와 액션바 그리고 탭을 사용하는 방법을 알아본다.- 프래그먼트에 대해 알아본다- 화면에 웹브라우저를 포함시키는 방법- 입력상자를 터치 했을 때 뜨는 키패드 형태를 다르게 만들어 본다.cs대표적인 이벤트123451. 터치 이벤트 - 화면을 손가락으로 누를 때 발생하는 이벤트2. 키 이벤트 - 키패드나 하드웨어 버튼누를때 발생하는 이벤트3. 제스처 이벤트 - 테스트 이벤트중 일정 패턴을 만들어 내는 이벤트4. 포커스 - 뷰마다 순서대로 주어지는 포커스5. 화면 방향 변경 - 화면의 방향이 가로/세로로 바뀜..
일반 권한과 위험 권한123456781. 위험 권한은 실행시 권한 부여특정 권한은 메니페스트에 등록 2. 마쉬멜로우 버전부터 ~를 허용할까요? 라는식으로 위험 권한을 띄워준다. 3. 이 권한을 띄워주는것을 해보도록 하자. (마쉬멜로우 이후 부터)대표적인 위험 권한들- 위치 , 카메라, 마이크, 연락처, 전화 ,문자, 일정, 센서cs위험 권한 부여 예제)1.Main.Java파일에서 실습123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263package com.example.example_smsreceiver; import android.Manifest;..
- Total
- Today
- Yesterday
- C언어
- Algorigm
- MVC
- TensorFlow
- Controller
- 프로그래밍
- 개발하는 관광이
- 노드
- 안드로이드
- Android
- 알고리즘
- Spring
- 감자개발자
- 감자코딩
- 초보자를 위한 C언어 300제
- 복습
- BFS
- 리버싱
- C langauge
- programming
- 학교
- 백준
- 스프링
- node
- 코드엔진
- 머신러닝
- 백준알고리즘
- db
- 텐서플로우
- node.js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |