no image
티스토리 이모지 사이트
티스토리를 쓰다보니까 가독성이 좀 떨어지는 걸 느낀다..아마 폰트 문제가 좀 큰듯. 이 테마를 골라서 그런 것 같기도 하다. 다른 테마로 바꿔야하나? 마음에 안 드는 점밑줄을 쳐도 안 나타남. 접은글 구분이 잘 안 됨 (글 작성할 때랑 동일한 모양으로만 나와도 좀 보기 편할 것 같음)폰트가 별로임 (영어, 한글 둘 다.)제목 색상이 별로임 (여기선 글씨크기를 단위가 아니라 본문2, 본문1, 제목1 이런 식으로 설정할 수 있는데 제목2의 색이 핫핑크다.) 일단.. 테마 바꾸는 게 귀찮기도 하고. 처음에 이 유튜브 느낌나는 테마를 가지기 위해서 이래저래 html과 css를 만졌던.. 그 개귀찮은 작업 때문에 뭔가 바꾸기 아까움. 일단은 이모지라도 사용해봤더니 전보다는 제목간의 구분이 좀 편해졌다.여기 이모티..
2025.01.14
no image
7장 - 리싸이클러뷰
선택 위젯(Selection Widget) :여러 개의 아이템 중에 하나를 선택할 수 있는 리스트 모양의 위젯. 어댑터(Adapter) 패턴을 사용한다.  위젯은 각 아이템을 보여주기만 할 뿐이다. 각 아이템을 위한 뷰는 어댑터가 만든다. 어댑터에서 반환되는 객체는 컨테이너 객체이다.리싸이클러뷰(RecyclerView) : 기본적으로는 상하 스크롤이며 좌우 스크롤도 가능하다. 캐시(Cache) 메커니즘이 구현되어있음(메모리를 효율적으로 사용할 수 있도록) 리싸이클러뷰 = 껍데기 / 어댑터 = 숙주(?) 같은 느낌으로 이해하면 된다. 예제 2개를 진행할 것이다.⭐1. activity_main.xml ⭐코드더보기  리싸이클러뷰의 id를 설정해준다.⭐2. 새로운 클래스 만들기 (Person.java)⭐더..
2025.01.14
no image
7장 - 나인패치, 카드뷰, 새로운 뷰 만들기
이미지가 나타나는 영역보다 원본 이미지가 작으면 시스템이 이미지 크기를 자동으로 늘려준다. 이 과정에서 왜곡이 발생하는데, 이 왜곡을 해결하는 방법을 나인패치라고 한다. 나인(nine)패치 이미지는 파일 확장자 앞에 '.9'가 붙어야 한다. (ex. ABC.9.png) 아래 레포지토리에 들어가서 button_image 파일 2개를 다운받는다. DoItAndroidRev7/part2/chapter07/SampleNinePatch/app/src/main/res/drawable at master · mike-jung/DoItAndroidRev7Do it! 안드로이드 앱 프로그래밍(개정7판)의 소스 코드. Contribute to mike-jung/DoItAndroidRev7 development by crea..
2025.01.11
no image
백트래킹 - 15649 N과 M (1)
백트래킹 : 현재 가능한 상태에서 모든 후보군을 따라 들어가며 탐색하는 알고리즘. 코드#include void fn(int x);int n, m;int arr[8] = {};int isused[9] = {}; /* 1~8의 숫자가 들어갈 거라서, isused[8]로 만들어버리면 isused[0]~isused[7]이 만들어지기 때문에 isused[i]=1을 설정할 때 i가 8이면 값이 들어가지 못함.*/int main() { scanf_s("%d %d", &n, &m); fn(0);}void fn(int x) { if (x == m) { for (int i = 0; i  실수가 있었던 부분에 주석을 달아놨다. 참고한 블로그 [..
2025.01.11
no image
도전!12 - 서비스에서 수신자로 메시지 보내기
도전11과 비슷하다. 액티비티에 글자 입력 -> 서비스로 데이터 전송 -> 서비스에서 브로드캐스트 수신자로 데이터 전송 -> 액티비티에 글자 출력 activity_main.xml은 동일하다. 1. MainActivity.javapackage com.example.doitmission12;public class MainActivity extends AppCompatActivity { EditText inputText; TextView outputText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R...
2025.01.10
no image
도전!11 - 서비스 실행하고 화면에 보여주기
그렇게 어렵진 않았다. 전에 했던 거 그대로 따라함. 6장 - 서비스백그라운드 : 화면 뒤의 공간서비스 : 백그라운드에서 실행되는 앱의 구성 요소 (앱의 구성요소이기 때문에 시스템에서 관리됨.)서비스는 비정상적으로 종료되더라도 시스템이 자동으로 재실행sand-to-desert.tistory.com  1. activity_main.xml  2. MainActivity.javapackage com.example.doitmission_11;public class MainActivity extends AppCompatActivity { EditText inputText; TextView outputText; @Override protected void onCreate(Bundle saved..
2025.01.10
no image
리소스&매니패스트&그래들 이해하기
안드로이드 앱은 크게 자바 코드와 리소스(res; resource)로 구성된다. 두 개로 나누면 이해하기 쉽고 유지관리가 용이하다. 매니패스트 : 앱이 실행되기 전에 시스템이 알아야 할 내용들을 정의한다.더보기[ 매니패스트 파일에 들어갈 수 있는 태그 항목 ]이 중 , , , 와 같은 태그들은 앱 구성요소를 등록하기 위해 사용됨.리소스의 사용리소스가 갱신되면 그 때마다 리소스의 정보가 R.java 파일에 자동으로 기록되며, 그 정보는 리소스에 대한 내부적인 포인터 정보가 된다. res 폴더와 assets 폴더의 차이점애셋 : 용량이 큰 데이터를 의미함(ex. 동영상, 웹페이지). 빌드되지 않음.리소스 : 빌드되어 설치파일에 추가됨. res/values 폴더 : 문자열이나 기타 기본 데이터 타입에 해당하는..
2025.01.09
no image
6장 - 위험 권한 부여하기
마시멜로(API23)부터 권한이 2가지로 분류됨.일반 권한 : 앱을 설치할 때 부여됨.위험 권한 : 앱 실행 시 사용자에게 권한을 부여할 지 물어보고 부여됨. (ex. 위치, 카메라, 마이크, 연락처, 전화, 문자, 일정, 센서 등)더보기위험권한의 종류LOCATION(위치) : ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATIONCAMERA : CAMERAMICROPHONE : RECORD_AUDIOCONTACTS : READ_CONTACTS, WRITE_CONTACTS, GET_ACCOUNTSPHONE : READ_PHONE_STATE, CALL_PHONE, READ_CALL_LOG, WRITE_CALL_LOG, USE_SIP, ADD_VOICEMAIL, PROCESS_OUT..
2025.01.08
no image
6장 - 브로드캐스트 수신자 (SMS 문자 정보 액티비티에 띄우기)
브로드캐스팅(Broadcasting) : 메시지를 여러 객체에 전달글로벌 이벤트(Global Event) : 메시지를 브로드캐스팅으로 전달하는 방식 (ex. 전화, 문자에 대한 사용자 알림 메시지) 브로드캐스팅 메시지를 받고 싶으면 브로드캐스트 수신자를 만들어 앱에 등록한다. (registerReceiver(), onReceive())다른 앱의 메시지를 전달받을 수 있음.이 중 원하는 메시지만 받으려면 인텐트 필터를 사용하여 시스템에 등록하면 된다. 브로드캐스트 수신자의 특징 : 앱을 실행하지 않은 상태에서도 인텐트 안에 들어있는 메시지를 받아볼 수 있다. 브로드캐스트 수신자를 포함하고 있는 메인 액티비티가 적어도 한번 실행되어야 브로드캐스트 수신자가 메시지를 받을 수 있다. 브로드캐스트를 등록하는 방법..
2025.01.07