본문 바로가기
반응형

Android46

[Android/Kotlin] firebase chat(1/2) 채팅목록 (RecyclerView) Realtime Datebase로 만든 채팅할 상대방의 Product 테이블이 다음과 같이 있다 ●Product public class Product { private String Pro_uid; private String Pro_Image; private String Pro_name; private int Pro_price; private String Pro_status; private String Pro_content; public Product(){} public Product(String Pro_uid, Uri Pro_Image, String Pro_name, int Pro_price, String Pro_status, String Pro_content) { this.Pro_uid = Pro_ui.. 2022. 3. 18.
[Android/Kotlin] SecurityException:Permission Denial: reading com.android.providers.media.MediaProvider uri content 에러 SecurityException:Permission Denial: reading com.android.providers.media.MediaProvider uri content 사진을 storage에 업로드하고 보려는데 에러가 발생했다 if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED ) { // Should we show an explanation? if (shouldShowRequestPermissionRationale( Manifest.permission.READ_EXTERNAL_STORAGE ) ) { // Explain to the user why we need.. 2022. 3. 5.
[Android/Kotlin] firebase 데이터로 recyclerView 만들기 Realtime Database의 Product 테이블 package com.example.companymarket.Data; import android.net.Uri; public class Product { private String Pro_uid; private String Pro_Image; private String Pro_name; private int Pro_price; private String Pro_status; private String Pro_content; public Product(){ } public Product(String Pro_uid, Uri Pro_Image, String Pro_name, int Pro_price, String Pro_status, String Pro.. 2022. 3. 5.
[Android/Kotlin] Firebase auth 로그인/회원가입 private var firebaseAuth : FirebaseAuth? = null FirebaseAuth를 선언한다 firebaseAuth = FirebaseAuth.getInstance() getInstance로 가져오고 btn_join?.setOnClickListener{ joinEmail() } btn_login?.setOnClickListener{ loginEmail() } join 또는 login 버튼을 눌렀을 떄 각 함수를 실행하게 만들었다 private fun loginEmail(){ firebaseAuth!!.signInWithEmailAndPassword(tv_email?.text.toString(),tv_password?.text.toString()) .addOnCompleteLis.. 2022. 3. 5.
[Android/Kotlin] nav, appBarConfiguration 을 사용한 Fragment ●mobile_navigation.xml .... 이런식으로 navigation안에 들을 넣어준다 id값을 적고, name값을 디렉토리 위치에 맞게 적어준다 layout = 표시될 xml 파일을 적는다 ●MainActivity private lateinit var appBarConfiguration: AppBarConfiguration AppBarConfiguration은 onSupportNavigateUp()을 재정의할 때도 사용하므로 onCreate() 외부에 선언한다 val navController = findNavController(R.id.nav_host_fragment_content_main) onCreate() 내부에 아래에있는 xml파일을 선언한다 ●nav_host_fragmet_conte.. 2022. 2. 27.
[Android/Kotlin] Navigation Drawer header 접근 NavigationView의 headerLayout인 nav_header_main.xml의 TextView를 로그인 한 아이디값으로 set 해보겠다 val navView: NavigationView = binding.navView 먼저 Viewbinding으로 navView를 가져와 val navView로 선언하고 var header = navView.getHeaderView(0) navView.getHearderView를 하면 된다 var email = user?.email var header_userUid : TextView = header.findViewById(R.id.header_userUid) header_userEmail.text = email 나는 header에서 header_userUid.. 2022. 2. 27.
[Android/Kotlin] Viewbinding findViewById를 사용하지않고 Viewbinding으로 사용해보겠다 buildFeatures { viewBinding true } build.gradle에 viewBinding을 추가한다 private lateinit var binding: ActivityMainBinding Activyty에서 다음과 같이 선언한다 xml파일이 activity_main이면 Camel표기법으로 ActivityMain 그 뒤 Binding이 추가되게 선언한다 binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) Oncreate안에 binding을 inflate(layoutInflater) 선언해준다 그리고 setConten.. 2022. 2. 27.
[Android/Java] lifecycle 생명주기 https://developer.android.com/guide/components/images/activity_lifecycle.png?hl=ko 안드로이드 스튜디오 참고 생명주기 단계 간에 전환하기 위해 6개의 콜백으로 구성된 onCreate( ) , onStart( ) , onResume( ) , onPause( ) , onStop( ) , onDestory( ) 등이 있다 onCreate() 이 콜백은 시스템이 먼저 활동을 생성할 때 실행되는 것으로, 필수적으로 구현해야한다 이 메서드는 savedInstanceState 매개변수를 수신 Bundle 객체, 이번에 처음 생성된 활동인 경우 Bundle 객체의 값은 null XML 레이아웃 파일은 파일의 리소스 ID인 를 setContentView().. 2022. 2. 10.
[Android/Java] 원형프로그레스 바 CicleProgressBar 라이브러리 사용 dependencies { implementation 'com.dinuscxj:circleprogressbar:1.3.0' // CircleProgressBar } gradle에 라이브러리를 추가한다 점점 변함) app:progress_start_color="#9EFFEC" // 시작하는 색 app:progress_stroke_cap="round" app:progress_stroke_width="15dp" // 바의 두께 app:progress_text_color="#4363FF" app:progress_text_size="20sp" app:style="solid_line" /> CirleProgressBar를 원하는대로 만든다. CircleProgressBar answer_circle answer_ci.. 2022. 2. 10.
[Android/Java] Radio Group, Radio Button 사용 Radio Group안에 Radio Button을 넣어준다 RadioGroup Rad_mood; RadioButton rad_good, rad_soso, rad_bad; Rad_mood = findViewById(R.id.Rad_mood); rad_good = findViewById(R.id.rad_good); rad_soso = findViewById(R.id.rad_soso); rad_bad = findViewById(R.id.rad_bad); Activity에서 선언해주고 TextView rad_result; 누른 Radio Button의 값을 저장할 TextView도 하나 만든다 Rad_mood.setOnCheckedChangeListener(new RadioGroup.OnCheckedChange.. 2022. 2. 10.
[Android/Java] EditText 게시글 DB에 저장(Update) String content = intent.getStringExtra("userBoard_content").replaceAll("(\\\\n)", "\n"); userBoard_content.setText(content); intent로 받아와 TextView에 setText한 content가 있다 btn_add.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String test1 = userBoard_content.getText().toString(); Log.d("수정content",test1); } }); 버튼을 눌렀을때 log를 찍어봤다 추가한 zzz가 포함되어 잘 출력된다. pub.. 2022. 2. 2.
[Android/Java] setText에 개행으로 출력 넣기 위와 같은 \ㅜ 개행문자를 넣은 데이터가 있을때 replaceAll("(\n|\r|\n\r|\r\n)", "\n" System.getProperty("line.separator") 이 두개를 써도 app에서 \n 표시를 setText에서 개행이 되지않는다 .replaceAll("(\\\\n)", "\n")); 이렇게 사용하면 개행이 된다!! 2022. 2. 1.
[Android/Java] expandable 사용(+ getadapterposition deprecated에러) ... 게시판 내에 content TextView를 넣어 게시물을 눌렀을때 RelativeLayout을 VISIBLE GONE을 반복하게 만들겠다 public RelativeLayout relativeLayout_expandable; relativeLayout_expandable = view.findViewById(R.id.relativeLayout_expandable); 어댑터에 RelativeLayout을 불러오고 cardView_content.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { BoardData boardData = boardDataList.get(getBindingAdap.. 2022. 2. 1.
[Android/Java] JSON파싱(+ of type org.json.JSONArray cannot be converted to JSONObject 에러 ) [ { board_title: "title1", board_date: "2020-02-02 00:00:00", board_no: "1", userEmail: "a", board_content: "content1", board_hit: "1" }, { board_title: "title2", board_date: "2020-02-02 00:00:00", board_no: "2", userEmail: "b", board_content: "content2", board_hit: "1" }, { board_title: "title3", board_date: "2020-02-02 00:00:00", board_no: "3", userEmail: "a", board_content: "content3", board_.. 2022. 2. 1.
[Android/Java] 회원가입 사용할 JSP < - >Mysql 연동 import java.sql.Connection; import java.sql.DriverManager; public class DatabaseUtil { public static Connection getConnection() { try { String dbURL = "jdbc:mysql://localhost:3306/DB이름?useSSL=false&serverTimezone=UTC"; String dbID = "아이디"; String dbPassword = "비밀번호"; Class.forName("com.mysql.cj.jdbc.Driver"); return DriverManager.getConnection(dbURL, dbID, dbPassword); } catch (Exception e) { e... 2022. 1. 28.
Adapter에서 ClickLisetener , Toast CardView를 동적으로 만들기위해 id를 지정하고 cardView_content = view.findViewById(R.id.cardView_content); Adapter의 ViewHolder 안에서 findViewById해준다 cardView_content.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(view.getContext(),"click",Toast.LENGTH_SHORT).show(); } }); 그 값을 이용해 마찬가지로 ViewHolder안에서 setOnClickListener를 만들고 Adapter에서 ToastMessage를 띄울때 Con.. 2022. 1. 27.
반응형