본문 바로가기

App12

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 파이어베이스 : 실시간 데이터베이스 데이터 읽고 쓰기 (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 , 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 , 파일 저장 읽기, 내부 저장소 / 외부 저장소 저장소 내부 저장소 : 애플리케이션을 통해서만 접근 가능 외부 저장소 : 단말기 내부 공유 영역, 컴퓨터와 연결하면 탐색을 통해 접근 가능 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 , 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 (안드로이드 스튜디오) Network 통신, retrofit2, stetho , 이클립스 서버와 통신 Android studio (안드로이드 스튜디오) Network 통신, retrofit2, stetho 이 글은 이클립스 서버와의 통신을 다룬다. Retrofit은 안드로이드에서 서버와의 통신을 위한 Square사의 라이브러리 HTTP API를 Java 인터페이스로 전환한다. 서버와의 통신을 할 때 AsyncTask 를 사용하지만 속도가 느리다는 단점이 있다. 그렇기 때문에 성능적으로 더 좋은 Restrofit 을 사용하려고 한다. Retrofit A type-safe HTTP client for Android and Java square.github.io stetho 라이브러리는 페이스북에서 개발된 안드로이드 디버깅 툴이다. build.gradle (:app) retrofit implementation.. 2020. 3. 17.
Android studio (안드로이드 스튜디오) RecyclerVIew , 클릭, 화면전환 - 응용편 Android studio (안드로이드 스튜디오) RecyclerVIew , 클릭ClickListener, 화면전환(intent) 앱에서 대량의 데이터 세트 또는 자주 변경되는 데이터에 기반한 요소의 스크롤 목록을 표시해야 할때 주로 리사이클러뷰가 사용된다. RecyclerView 는 ListView 보다 더 진보하고 유연해진 버전이다. 지원라이브러리 추가 dependencies { implementation 'com.android.support:recyclerview-v7:28.0.0' } 메니페스트에 추가 package com.example.recyclerview; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatA.. 2020. 3. 10.
Android studio (안드로이드 스튜디오) RecyclerView 리사이클러뷰 , v7 , Jetpack (androidx) v7 지원 라이브러리 리사이클러뷰 예시 developer.android.com/guide/topics/ui/layout/recyclerview RecyclerView로 목록 만들기 | Android 개발자 | Android Developers RecyclerView를 사용하여 동적 콘텐츠의 목록과 그리드를 표시합니다. developer.android.com import java.util.ArrayList; public class MainActivity extends AppCompatActivity { public RecyclerView recyclerView; ArrayList itemList; @Override protected void onCreate(Bundle savedInstanceState) .. 2020. 3. 9.
Android studio (안드로이드 스튜디오) ListVIew, BaseAdapter, headerview, footerview / Spoon라디오 처럼 구현해보기 리스트뷰 스크롤이동시 -> 리스트가 빠져나가 어댑터로 -> 어댑터는 리스트뷰를 TextVIew에 임시저장(뷰 비워둠) -> 재활용 메인.java public class MainActivity extends AppCompatActivity { ArrayList list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ListView listView = findViewById(R.id.List_view); addList(); //headerview, footerview LayoutInflater layoutI.. 2020. 3. 5.
Android studio (안드로이드 스튜디오) AddView, inflater AddView layoutInflater 를 통해 layout을 그려주고 addview 함수를 통해 view를 추가해준다. Inflater - item을 해당 layout(xml)에 그리는 역할 Layout File - item 하나가 그려질 view Item list - 리스트 목록 Item - 리스트 목록의 하나 public class MainActivity extends AppCompatActivity { ArrayList arrayList; LayoutInflater layoutInflater; LinearLayout container; Context context; View view; @Override protected void onCreate(Bundle savedInstanceState) {.. 2020. 3. 1.