Android

· Android
나는 동영상 업로드기능을 구현하면서, 백그라운드 스레드 관리의 중요성에 대해서 알게 되었다.왜 백그라운드 스레드를 관리해야 할까?메인 스레드로 하면, 개발자 입장에서 코드 짜기도 쉬운데...바로 '사용자 경험' 때문이다.예를들어, http 레트로핏 요청으로 서버에 동영상 파일을 업로드 하면 짧게는 20초~1분 가량 시간이 걸렸다.이런 경우에 http요청은 응답이 올때까지 기다리는 특성이 있어서, 액티비티에서 http 요청을 보낸 경우엔 계속 대기를 해야 한다.사용자 입장에서는 언제까지 기다려야 하는지 알길이 없기 때문에앱을 끄고 싶어진다... 따라서, 멀끔한 앱이 될 수 있도록(1)동영상 업로드 요청을 비동기적으로 처리(요청을 보낸 후 응답과 관계없이 다음 동작을 실행)하고, (2)동영상이 잘 업로드 되..
· Android
우리가 php server에서 fcm server로 알림 데이터를 보낼때는, php server에서 server key를 첨부해서 데이터를 보내줘야 한다. server key는 모두가 알듯이 파이어베이스 콘솔에서 발급받은 후 확인할 수 있다 다음 링크는 서버키 발급이 완료된 후, 확인할 수 있는 링크이다. https://console.firebase.google.com/project/tiki-taka-22f76/settings/cloudmessaging 로그인 - Google 계정 이메일 또는 휴대전화 accounts.google.com 그런데, 이 링크에서 서버키를 확인할 수 없는 경우가 있다.... 서버키를 파일로만 가지고 있고, 홈페이지에 따로 서버키가 안뜨는 경우이다. 해결방법 Cloud Mess..
· Android
public class FirebaseCloudMessageService { // 알림 메시지와 데이터 페이로드 포함 public static void sendMessage(String registrationToken, String content, int messageId, int roomId, String name, String userProfile) throws Exception { // 데이터 메세지 // 포그라운드, 백그라운드에서는 직접 일관되게 처리 Message message = Message.builder() // 메시지 구성을 시작할 수 있는 Builder 객체가 반환 .putData("title", name) // 알림 제목을 데이터 페이로드에 추가 .putData("userProfile..
· Android
fcm을 사용하려고 여러 세팅을 하던 도중에, 새로운 토큰은 발급 받았으나 새 토큰이 불러와지지 않는 문제가 발생했다. public class MyFirebaseMessagingService extends FirebaseMessagingService { String CHANNEL_ID; String CHANNEL_NAME; int userId; ChatApiService service; private static final String TAG = "FCM Service"; // 서비스가 생성될 때 호출되며, 여기서 FCM 토큰을 요청하는 것이 좋습니다. @Override public void onCreate() { super.onCreate(); userId = SharedPreferencesHelper..
· Android
프로젝트의 폴더구조 app > java > com.example.myfirstapp > MainActivity 이는 기본 활동으로, 앱의 진입점입니다. 앱을 빌드하고 실행하면 시스템에서 이 Activity의 인스턴스를 실행하고 레이아웃을 로드합니다. app > res > layout > activity_main.xml 이 XML 파일은 활동의 사용자 인터페이스(UI) 레이아웃을 정의합니다. 이 파일에는 'Hello, World!'라는 텍스트가 있는 TextView 요소가 포함되어 있습니다. app > manifests > AndroidManifest.xml 매니페스트 파일은 앱의 기본 특성을 설명하고 앱의 각 구성요소를 정의합니다. Android Layout Editor의 기능과 계층구조 Android ..
· Android
안드로이드 스튜디오는 코드작성과 빌드가 분리됨! vscode와 같은 IDE(통합개발환경)을 사용하면, javascript 코드를 작성한 후에 “어떻게 컴파일을 하세요, 어떻게 빌드를 하세요.” 와 같은 내용을 작성한 기억이 없는데, 왜 안드로이드 스튜디오는 빌드에 관한 설명이 필요한 걸까? - 그 이유는 안드로이드 스튜디오는 코드작성과 빌드가 구분되어 있기 때문이다. 안드로이드 스튜디오는 코드 편집만 하는 IDE이고, 빌드는 gradle 파일에서 설정을 하고, 라이브러리를 받아서 수행한다. +참고 빌드와 컴파일? 빌드란 코드를 실행가능한 형태로 변환하는 것, 컴파일은 빌드 프로세스 안에 포함되며, 사용자가 작성한 코드를 기계어나 중간 언어로 변화시키는 것 이구나 매니패스트 파일이란? 이 코드들을 ‘빌드(..
becky(지은)
'Android' 카테고리의 글 목록