본문 바로가기

Front-end/Android (안드로이드 앱 개발)52

Android studio , Firebase 파이어베이스 Google Login 구글 로그인 파이어베이스 인증 파이어베이스 인증은 다양한 로그인 방법을 제공한다. 이메일/비밀번호, 전화, 구글, play 게임, Facebook, Twitter, GitHub . . 파이어베이스 인증은 새로운 계정을 생성하면 고유 ID 를 가지고 관리한다. 1. 모듈(앱 수준) Gradle 파일에 Firebase 인증 Android 라이브러리의 종속 항목을 선언한다. dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:26.1.0') // Declare the dependency for the Firebase Authentication library // Wh.. 2021. 1. 1.
Android Studio , Firebase 파이어베이스 android 초기 설정 Firebase Firebase는 고품질 앱을 빠르게 개발하고 비즈니스를 성장시키는 데 도움이 되는 Google의 모바일 플랫폼입니다. firebase.google.com 여러 플랫품 중에서 Android로 시작 프로젝트 만들기 파이어베이스 프로젝트 화면 안드로이드 앱 등록 파이어 베이스 요건이다. API 수준 16(Jelly Bean) 이상 타겟팅 Gradle 4.1 이상 사용 다음 버전 요구사항을 충족하는 Jetpack(AndroidX) 사용 com.android.tools.build:gradle v3.2.1 이상 compileSdkVersion 28 이상 구글 로그인 등과 같은 기능을 사용하기 위해서는 디버그 서명 인증서의 SHA-1 해시를 받아야 된다. 상단은 앱의 패키지 명 SHA-1 인증서 지.. 2020. 12. 28.
Android Studio , XML 데이터 가져오기, JSON 데이터 가져오기 DOM 방식으로 XML 파일을 분석할 것이다. 문자열1 100 문자열2 200 1. 메니페스트 등록 9.0 이후는 application에서 android:usesCleartextTraffic="true" 추가 2. 쓰레드를 이용 public void btnXML(View view) //http 한줄식 받아오는 것 { Runnable runnable = new Runnable() { @Override public void run() { try{ String site = "http://(IP):8080/db/data.xml"; URL url = new URL(site); URLConnection conn = url.openConnection(); InputStream is2 = con.. 2020. 8. 18.
Android Studio , 화면 회전 시 처리 화면 회전 layout-port : 세로 화면 , layout-land : 가로 화면 UI Mode main.xml 를 layout land로 복붙 //화면 회전이 발생되면 호출되는 함수 @Override public void onSaveInstanceState(@NonNull Bundle outState) { super.onSaveInstanceState(outState); //번들 outState 값이 onCreate의 파라메타(savedInstanceState)로 전달 outState.putString("data1", textView.getText().toString()); } @Override protected void onCreate(Bundle savedInstanceState) { super.. 2020. 8. 17.
Android Studio , 리소스 & values 파일 Resource res 파일 : 리소스 파일 이미지를 플러그인을 통해 해상도 별로 변환 돋보기 - plugins - drawable importer 설치 / 사진 복사 -> drawable 에 붙이기 가능 drawable 파일에 넣기 : drawable 폴더 (마우스 오른쪽 – New – Batch Drawable Import 사용) 여백 관리 : scaletype = “fitXY” (내용 중요) , “centerCrop”(이미지 비율 중요) l minmap 폴더 : 앱 아이콘 이미지 넣기 res 폴더 우클릭 - path에서 이미지 선택 values 폴더 colors.xml : 색, 색상 Key 입력 – 메인 xml 에서 그 Key를 넣는다. @ff0000 , 투명도 포함 #5ff0000 사용 : : a.. 2020. 8. 16.
Android Studio , SQLite SQLite는 데이터베이스 관리 시스템이지만 응용 프로그램에 넣어 사용하는 비교적 가벼운 데이터베이스이다. 1. public class DBHelper extends SQLiteOpenHelper { public DBHelper(Context context){ super(context,"Test.db",null,1); //버전 수정 가능 } // 사용할 db가 없을 경우 db 파일 새롭게 만듬 // 자동 호출. 테이블 생성, 기타 필요한 작업업 @Override public void onCreate(SQLiteDatabase db) { //항상 최신구조 Log.d("test","db 생성"); String sql ="CREATE TABLE TestTable(" +"idx INTEGER PRIMARY KE.. 2020. 8. 14.
Android Studio , 파일 저장 읽기, 내부 저장소 / 외부 저장소 저장소 내부 저장소 : 애플리케이션을 통해서만 접근 가능 외부 저장소 : 단말기 내부 공유 영역, 컴퓨터와 연결하면 탐색을 통해 접근 가능 1 내부 저장소 //내부 저장소와 연결되어 있는 쓰기 스트림 추출 //MODE_PRIVATE 파일 덮어쓰기 , MODE_APPEND 파일 새로 쓰기 FileOutputStream fos = openFileOutput("myFile.dat",MODE_PRIVATE); DataOutputStream dos = new DataOutputStream(fos); //데이터를 쓴다. dos.writeInt(100); dos.writeUTF("문자열"); dos.flush(); dos.close(); FileInputStream fis = openFileInput("myFile... 2020. 8. 11.
Android Studio , ListFragment & DialogFragment Fragment 내에 ListView를 사용할 경우 보다 편리하게 구성할 수 있도록 제공되는 Fragment Listview의 id가 @android:id/list 로 설정되어 있을 경우 자동으로 ListView를 찾아 관리 ListFragment : ListView를 보다 쉽게 사용 (내 생각엔 한 화면에 짧게 리스트로 쓸 경우) ListView : 대량의 정보를 List로 화면에 띄울 경우 1. 2. public class SubFragment extends ListFragment { TextView text1; String[] list = {"항목1", "항목2","항목3"}; public SubFragment() { // Required empty public constructor } @Nulla.. 2020. 8. 7.
Android Studio , Service & Intent Service & Forground Service Service 서비스 백그라운드 처리, 쓰레드와 다른 작업할 때 Activity는 화면을 가지고 있어 화면이 보이는 동안 동작 안드로이드 7버전은 서비스 액티비티(어플) 종료시 다시 쓰레드 동작 , 8이후는 종료 New -> serivce //쓰레드 추가 가능 //서비스가 가동될 때 호출되는 메서드 @Override public int onStartCommand(Intent intent, int flags, int startId) { return super.onStartCommand(intent, flags, startId); } //서비스가 중지되면 호출되는 메서드 @Override public void onDestroy() { super.onDestroy(); } serviceIntent = new .. 2020. 8. 5.
Android Studio , 시스템 메시지 : BroadcastReceiver [문자 메시지 읽기] 1. 권한 설정 2. BroadcastReceiver 파일 생성 public class SystemReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //메니페스트의 인텐트 필터를 intent가 받는다. //안드로이드 os가 리시버를 찾기 위해 사용했던 이름을 추출한다. String action = intent.getAction(); //리시버의 이름으로 분기한다. switch (action) { case "android.intent.action.BOOT_COMPLETED" : Toast.makeText(context,"부팅완료",Toast.LENGTH_SHORT).show.. 2020. 8. 2.
Android Studio , BroadCast Reciever 브로드캐스트 리시버 BroadCast Reciever ex)문자에 반응, 사용자의 요청이나 시스템에서 사건이 발생할 경우 개발자가 만든 코드를 동작 시킬수 있는 실행 단위 안드로이드 8 이상이면 암시적 인텐트를 코드로 등록하고 다른 앱에서 sendBroadcast(intent) 실행 1) BroadcastReceiver 상속 받는 java 파일 생성 file – new – other – broadcastreciever public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { String str= "동작"; Toast t1 = Toast.makeText(context,str.. 2020. 8. 1.
Android Studio , URI (Intent)Activity Action / 공통 인텐트 / 구글 지도, 크롬, 다이얼, 전화걸기, 웹검색 (Intent)Activity Action 1) 구글 지도 Uri uri = Uri.parse("geo:37.243, 131.861"); Intent intent = new Intent(Intent.ACTION_VIEW,uri); startActivity(intent); 2) 크롬 Uri uri = Uri.parse("https://javapp.tistory.com/"); Intent intent = new Intent(Intent.ACTION_VIEW,uri); 3) 다이얼 Uri uri = Uri.parse("tel:01012345678"); Intent intent = new Intent(Intent.ACTION_DIAL,uri); 4) 전화걸기 if(Build.VERSION.SDK_INT >= B.. 2020. 7. 30.