본문 바로가기

안드로이드32

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 , 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 , Intent 로 객체 전달하기, Parcelable 세컨드 액티비티로 넘어갈때 인텐트로 값을 넘긴다. public class MainActivity extends AppCompatActivity { TextView text2; final int SECOND_ACTIVITY =1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text2 = findViewById(R.id.textView); } public void btnClicked(View view) //메인A -> 2A { Intent intent = new Intent(this, SecondActiv.. 2020. 7. 28.
Android studio (안드로이드 스튜디오) Authrization 위험권한 부여하기 permission Authrization 위험권한 부여하기 permission https://developer.android.com/guide/topics/security/permissions?hl=ko public void permissionCheck() { //권한 얻었는지 체크 if(ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)!= PackageManager.PERMISSION_GRANTED){ //권한이 없다면 //권한을 설명 해줘야 할 필요가 있다면 if(ActivityCompat.shouldShowRequestPermissionRationale(this,Manifest.permission.CAMERA)){ //권한을 설명해준다. }els.. 2020. 3. 18.
Android studio (안드로이드 스튜디오) AsyncTask, Background 백그라운드 AsyncTask 안드로이드에서는 UI쓰레드를 정지 시켜 둘 수 없기 때문에, background 작업이 필요한 경우를 위해서 AsyncTask 지원 onPreExcute -background 작업이 시작하기 전에 호출 / 백그라운드 작업전 해야할 것 doInBackground -baackground 작업 구간 onProgressUpdate -doInBackground 이 실행되는 도중에 호출 / 중간중간 UI 업그레이드 하고 싶을 때 onPostExcute -doInBackground 가 완료 되면 호출이 된다. @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setConte.. 2020. 3. 16.
Android studio (안드로이드 스튜디오) SharedPreference 초기 설정값 저장, 간단한 데이터 저장 용이 / GSON SharedPreference 간단한 데이터 저장 용이 보통 초기값,초기 설정값 등을 저장하는 데에 사용 경로 : data/data/pakageName/shared_prefs/이름 GSON 사용시 객체 저장 가능 MODE_PRIVATE 해당앱만 MODE_WORLD_READABLE 다른 앱에서 읽기 가능 MODE_WORLD_WRITABLE 다른 앱에서 쓰기 가능 //sf에 데이터 저장 SharedPreferences sharedPreferences = getSharedPreferences(sfName,MODE_PRIVATE); //(이름, 모드) SharedPreferences.Editor editor = sharedPreferences.edit(); //변화줄때 editor.putString(sfKey,.. 2020. 3. 15.
Android studio (안드로이드 스튜디오) Pager, TabLayout/ 페이저, 탭레이아웃 1. gradle implementation 'com.google.android.material:material:1.0.0' implementation 'androidx.cardview:cardview:1.0.0' 2. PagerAdater.java / FragementOne.java , …Two.. (형성할 탭 개수만큼) 3. 프라그먼트에 맞는 xml 파일 (형성할 탭 개수만큼) viewPager = findViewById(R.id.view_layout); tabLayout = findViewById(R.id.tab_layout); //탭이름 설정 tabLayout.addTab(tabLayout.newTab().setText("프로필")); .. //어댑터 연결 PagerAdapter pagerAdap.. 2020. 3. 12.