전체 글

전체 글

    [Android/Kotlin] Room을 사용하여 로컬 데이터베이스에 데이터 저장

    [Android/Kotlin] Room을 사용하여 로컬 데이터베이스에 데이터 저장

    1. dependency 추가 implementation 'androidx.room:room-runtime:2.3.0' implementation 'androidx.room:room-compiler:2.3.0' 2. 구조 database entities dao 1. Database @Database로 주석이 된 클래스는 다음 조건을 만족해야한다 RoomDatabase를 확장하는 추상클래스여야 한다. 주석 내 데이터베이스와 연결된 항목의 목록을 포함해야 한다. 인수가 0개이며 @Dao로 주석이 지정된 클래스를 반환하는 추상 메서드를 포함해야한다. // database : 데이터베이스 홀더를 포함하여 앱의 기본 연결을 위한 기본 액세스 포인트 역할 // entities(Class[]) : 데이터베이스에 포함..

    [Android/Firebase] Firebase CRUD

    Create final String uniqueKey = dbRef.push().getKey(); databaseReference.child(tablename).child(uniqueKey).setValue(data) Read ValueEventListener postListener = new ValueEventListener() { @Override public void onDataChange(DataSnapshot dataSnapshot) { // 근본 // Post post = dataSnapshot.getValue(Post.class); // 하위 리스트 가져오기 for (DataSnapshot dataSnapshot: snapshot.getChildren()) { val data = dataSn..

    org.jetbrains.annotations.NotNull >> javax.annotation.Nonnull

    org.jetbrains.annotations.NotNull >> javax.annotation.Nonnull

    참고: https://stackoverflow.com/questions/64429995/org-jetbrains-annotations-notnull-instead-of-javax-annotation-nonnull-when-imple Inspections> Java> Probable bugs> Nullability problems> @ NotNull / @ Nullable problems> Configure Annotations . javax.annotation.Nullable/javax.annotation.Nonnull로 변경

    [Android/Firebase] Firebase Upload pdf

    UploadPdfActivity.java package com.sjcoding.admincollegeapp; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import androidx.cardview.widget.CardView; import android.app.Activity; import android.app.ProgressDialog; import android.content.Intent; import android.database.Cursor; import android.graphics.Bitmap; import android..

    [Android/Firebase] Firebase Database, Storage

    [Android/Firebase] Firebase Database, Storage

    Demo 0. Firebase 와 Android studio 연동 1. Database 생성 firebase console 에서 create database 를 test 버전으로 Create 해준다. storage, database rules를 체크한다. 여기서 read, write 제약을 걸 수 있다. 2. Dependencty 추가 android studio tools >> firebase >> database, storage 를 add하면 자동으로 추가된다. implementation 'com.google.firebase:firebase-database:20.0.0' implementation 'com.google.firebase:firebase-storage:20.0.0' 3. 데이터베이스에 쓰기..

    [Android/Java] 갤러리 열고 그리기 MediaStore, bitmap

    [Android/Java] 갤러리 열고 그리기 MediaStore, bitmap

    Demo 구성 permission activity layout - [AndroidMaifest.xml] - [UploadNotice.java] package com.sjcoding.admincollegeapp; import android.app.Activity; import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; import android.provider.MediaStore; import android.view.View; import android.widget.ImageView; import androidx.annotation.Nullable; import..

    [Android/Java] Fragment Bottom Navigation view

    [Android/Java] Fragment Bottom Navigation view

    Demo 구성 activity fragment layout menu header (굳이 필요없음) - [ManiActivity.java] package com.sjcoding.krhana; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.drawerlayout.widget.DrawerLayout; import androidx.fragment.app.Fragment; import android.os.Bundle; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; imp..

    [Android/Java] Fragment간 값 전달

    [Android/Java] Fragment간 값 전달

    Demo MainActivity.java package com.sjcoding.myapplication; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity implements FragmentA.FragmentAListener, FragmentB.FragmentBListener { private FragmentA fragmentA; private FragmentB fragmentB; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedI..

    [Android/Java] BlankFragment

    [Android/Java] BlankFragment

    Demo 구성 activity layout fragment MainActivity.java package com.sjcoding.myapplication; import android.os.Bundle; import androidx.appcompat.app.AppCompatActivity; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /*ExampleFragment fragment = new ExampleFra..