안드로이드32 [Kotlin] 위젯 : 텍스트뷰 , EditText / 리소스 : drawable , mipmap 화면에 그려지는 디자인 요소 위젯 Common 텍스트, 버튼, 레이아웃 등 일반적으로 많이 사용되는 것들 Text 글자를 화면에 나타내거나 입력받을 수 있는 위젯 Buttons 버튼은 사용자로부터 클릭 또는 터치 관련 이벤트를 받을 수 있는 위젯 모음 Widgets 위젯은 이미지 , 웹 사이트, 별점 표시 , 진행 상태 등의 정보를 화면에 그리는 위젯 모음 텍스트뷰 test 속성에 직접 입력할 수도 있지만 권장하지는 않는다. 앱을 개발할 때 strings.xml에 사용할 텍스트를 미리 정의해높고 가져다가 사용하는 것을 권장한다. 다국어 처리, 텍스트 수정 등 앱을 관리하기에 용이하기 때문이다. app - res - values 디렉터리 아래에 strings.xml 파일이 있다. strings.xml te.. 2021. 10. 31. [Kotlin] Fast campus 강의 안드로이드 앱 개발 (코틀린) data class, Object data class 상속 불가, data 처리하기 위해 특화된 클래스data class 이름 () 안에 필드들을 정의할 수 있다. {} 안에 멤버필드나 메소드를 정의할 수도 있다. data 클래스도 멀티리턴처럼 보일 수 있다. (Destructuring Declarations) 가장 유용한 것은 copy() 함수 일반 클래스와 데이터 클래스 정의 class A { var name : String = "clas A" var power : Int = 0 } data class DataA(var name : String = "이름없음",var level : Int) { var jop : String ="" // 연산자 오버로딩에 data class 많이 사용 operator fun plus (d : DataA.. 2021. 10. 21. [Kotlin] Fast campus 강의 Android App 개발 (코틀린). 문법 [코틀린] Fast campus 패스트캠퍼스 내돈내산 안드로이드 앱 개발 코틀린편. 문법 인텔리제이에서 코틀린 메인 함수 단축키: psvm fun main(args : Array){...} Number 숫자형 // 숫자형 DataType 크기 순으로 선언 var doublev : Double = 110.111 //8 var floatv : Float = 110.1f //4 var longv : Long = 110L //8 var intv : Int = 20 //4 var shortv : Short = 30 //2 var bytev : Byte = 10 //1 println(doublev) println(floatv) println(intv) // 크기변환 후 대입, 메소드 사용 doublev = intv.. 2021. 10. 16. [Kotlin] Fast campus 강의 내돈내산 Android App 개발 (코틀린). 시작 Fast campus 패스트캠퍼스 내돈내산 안드로이드 앱 개발 코틀린편.시작 세팅 1. Android 는 Java 기반의 프레임워크이다. 2. Kotlin 은 Java 기반위에서 돌아간다. 3. Kotlin 은 함수형 프로그래밍 언어이지만, Android 프로그래밍에서는 OOP (객체지향프로그래밍) 구조로 되어있다. 코틀린을 배우는 이유 자바를 주 언어로 사용해서 자바로 계속해서 개발하면 좋겠지만 구글에서 코틀린을 안드로이드의 공식 언어로 추가된 이후 채용에서도 코틀린을 선호하게 되었다. + 경력.. 2017년 코틀린이 안드로이드의 공식 언어로 추가 코틀린이 안드로이드의 공식 언어로 추가되었습니다. 작성자: Mike Cleron , 안드로이드 플랫폼 이사 안드로이드 팀은 코틀린 프로그래밍 develope.. 2021. 10. 1. Android Studio , 동적 뷰 생성 시 많이 접하는 Exception / java.lang.IllegalStateException: The specified child a already has a parent. You must call removeView() on the child's parent first 뷰들을 동적 생성하면서 흔히 접하는 Exception 이 있다. 위 경우는 TableLayout 을 생성하는 경우이다. TableRow 를 생성해서 TextView 로 속성값을 생성하여 addView() 하고 완성된 한 행을 TableLayout 에 addView 를 하는 것이다. java.lang.IllegalStateException: The specified child a already has a parent. You must call removeView() on the child's parent first 이 예외는 이미 한번 addView 한 View 타입을 한번 더 addView 할 때 발생한다. (중복 추가) TableRow 한 행을 완성한 후 TableLayout 에 addView 하는 것.. 2021. 9. 12. Android Studio , 채팅 구현하기 | 메시지 읽음 표시 카톡 메시지 처럼 읽은 사람 수를 표시하는 기능을 추가 하였다. 데이터 베이스에 채팅방내 메시지당 readUsers를 추가하여 읽은 id 수를 계산하여 채팅방 총 사람에서 읽은 사람 수를 뺀 count를 표시한다. 우선 item_messagebox.xml 에서 좌측 우측 메시지 카운터 TextView를 추가 ViewHolder에 추가 private class ViewHolder extends RecyclerView.ViewHolder { //.. public TextView textViewReadCounterLeft; public TextView textViewReadCounterRight; public ViewHolder(@NonNull View itemView) { super(itemView); //.. 2021. 2. 17. Android Studio , 채팅 구현하기 | Firebase realtime Database chat / 파이어베이스 실시간 데이터 베이스 채팅앱 구현에 다루어야 되는 게 엄청 많다. 사용자 목록(데이터베이스 읽기), 채팅방 리스트, 채팅방 리스트에 최신 메시지 나타내기, 타임스탬프, 채팅방 구현, 사용자 위치 등등.. 여기서 채팅의 핵심인 메시지 보내고 받는 부분을 상세하게 보여주고 마지막에 모든 코드를 보여드릴려고 한다. Android Studio Firebase - Realtime Database - Storage - Authentication 시나리오 채팅 메시지를 보낸다. 메시지를 받고 메시지를 보낸다. 메카니즘 전송 버튼을 누르면 상대방 아이디와 채팅한 적있는지 검사한다. : MessageActivity - chekChatRoom() 메시지를 보낸다. : MessageActivity - sendMsgToDataBase() 리싸이클.. 2021. 2. 7. Android Studio , Firebase 파이어베이스 : 원격 구성 , remote config 파이어베이스 원격 구성 파이어베이스 원격 구성으로 클라우드에서 앱의 매개변수를 정의하고 값을 업데이트하면 앱의 xml에 값이 반영이되어 앱의 모양과 동작을 수정할 수 있다. 1. 모듈(앱) Gradle 파일 SDK 추가 dependencies { // Declare the dependencies for the Remote Config and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-config' implementation 'com.google.firebase:firebase-analy.. 2021. 1. 22. Android Studio , Firebase 파이어베이스 : 실시간 데이터베이스 트랜잭션 (Transaction), 좋아요 구현 시나리오 좋아요 버튼을 누른다 트랜잭션으로 실시간데이터베이스에 저장 데이터 트랜잭션으로 저장은 (좋아요) 증가 감소 카운터와 같이 동시 수정으로 동기화가 필요한 데이터를 다루는 경우 트랜잭션 작업을 사용 ex) 게시글에 별표주기, 게시글 별표 몇 개 받았는지 private void onStarClicked(DatabaseReference postRef) { postRef.runTransaction(new Transaction.Handler() { @Override public Transaction.Result doTransaction(MutableData mutableData) { Post p = mutableData.getValue(Post.class); if (p == null) { return Tr.. 2021. 1. 18. Android Studio , Firebase 파이어베이스 : 실시간 데이터베이스 게시물 삭제 + 스토리지 삭제 Storage 파일 삭제 storage 파일 삭제는 해당 파일명이 필요하다. 우선 파일 업로드시 파일 명을 ImageDTO에 저장한다. imageDTO.setImageName(file.getLastPathSegment()); child 파라미터로 폴더명이나 파일명 조합으로 한다. .child("폴더명").child("파일명") private void onDeleteImage(final int position) { storage.getReference().child("images").child(imageDTOList.get(position).getImageName()).delete().addOnSuccessListener(new OnSuccessListener() { @Override public void.. 2021. 1. 13. Android Studio , Firebase 파이어베이스 : 실시간 데이터베이스 데이터 읽고 쓰기 (like. 인별그램) 시나리오 사진 올리기 앨범에서 사진을 선택하고 제목, 내용을 쓴다. 데이터 쓰기 사진 올리기 데이터를 파이어베이스 실시간데이터베이스에 저장, 스토리지에 사진을 저장한다. 데이터 읽기 (올린 사진 보기) 파이어베이스에서 실시간 데이터베이스 데이터를 가져온다. 사진 올리기 올릴 게시물 데이터 객체 public class ImageDTO { private String imageUrl; private String title; private String description; private String uid; private String userId; getter setter } 파이어베이스 인스턴스 생성 private FirebaseAuth mAuth; private FirebaseStorage storage;.. 2021. 1. 12. Android Studio , 사진 가져오기 , Glide 휴대폰 내 사진첩에서 사진을 가져와서 Glide 을 적용하여 사진 형태를 원 형태로 보여주려고 한다. 1. 종속성 설정 dependencies { implementation 'com.github.bumptech.glide:glide:4.11.0' // Skip this if you don't want to use integration libraries or configure Glide. annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0' } 2. 권한 설정 3. 로컬 사진첩으로 넘어간다. private int GALLEY_CODE = 10; /... Intent intent = new Intent(Intent.ACTION_PICK); inte.. 2021. 1. 8. 이전 1 2 3 다음