Java 기반 Android 9.0(pie) App 개발 고급 3단계

Java 기반 Android 9.0(pie) App 개발 고급 3단계

(1개의 수강평)

73명의 수강생
JavaAndroid모바일 앱
27,500원
지식공유자 · 소프트캠퍼스
41회 수업· 총 13시간 43분수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 중급이상
heejoonk5 프로필

소스코드 마지막강좌에 게시부탁드립니다 heejoonk5 1달 전
마지막 강좌 제목이 소스코드 인데 다운로드 링크가 없어요

1
박정훈 프로필

리스트 뷰 네트워크 동기 할때 오류 관련 질문 드립니다. 박정훈 2달 전
java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread. Make sure your adapter calls notifyDataSetChanged() when its content changes. 요즘 이 오류가 계속 떠서 해결하려고 노력중입니다.구글검색해서 알려주는대로 시도 해봤는데 잘 되지 않네요.가끔씩 저 오류가 떠서 튕기는데 아마도 쓰레드가 동시에 여러개 작동하다 보니 생기는 오류인것 같습니다.혹시 해결방법이 있을까요?

1
박정훈 프로필

네트워크가 다를경우 서버와접속이 불가능한가요? 박정훈 5달 전
접속 할수 있는 방법이 없을까요. 

1
박정훈 프로필

getPackagename()함수가 작동 안할때 가 있을까요. 박정훈 5달 전
함수가 작동을 안해서 그냥 패키지이름을 수동으로 적어주고 있습니다... 왜 작동 안하는지 모르겠어요... 그냥 다 지우고 앱을 새로 만들어야 할지....  ㅠ  ㅠ  뭔가 버그가 있는건지 걱정도 되고.. 혹시 이럴때는 어케 해결해야 할까요..   Log.d로 보면 getpackage() 부분이 공란으로 나옵니다. /storage/emulated/0/Android/data//scan1580536657000.jpg    이렇게 뜹니다. 아래는 변수를 입력한 내용 입니다.   변수를 멤버변수로 선언하면서 값을 넣어버렸어요.  다른클레스에서쓸때는 스테틱으로 해서 쓰고 있습니다.   혹시 이렇게 한게 getPackagername()함수가 작동 안하는 이유가 될수도 있을까요?  ------------------------------------------------------ String temp = Environment.getExternalStorageDirectory().getAbsolutePath();String path = temp + "/Android/data/" + getPackageName();//파일이름과 경로 합친 변수String fname = "/scan" + System.currentTimeMillis() + ".jpg";

1
박정훈 프로필

쓰레드 질문 입니다. 박정훈 5달 전
안녕하세요 메인화면에 여러개의 프래그먼트를 배치시켜서 작업중입니다. 프래그먼트 구성은 리스트 뷰 입니다. 리스트 내용은 이미지와 텍스트 인데요 서버에서 그 내용을 받거나 다시 서버로 업로드 시키면서 화면을 유지 시키려고 합니다. 일단 메인클레스에 각 프래그먼트에서 사용할 해쉬맵과 어레이 리스트 객체를 만들어두고 각 프래그먼트에서 호출해서 사용하고 있습니다. 그러다보니 메인클레스에는 변수와 리스트 객체가 위치하게되고  프래그먼트 클레스에는 어뎁터를 커스터마이징 하는 코드가 위치하게 되었습니다. 여기서 질문입니다. 0. 어뎁터를 메인클레스에만 위치시키고 프래그먼트에서  어뎁터를 갖고와서 사용하는 방법은 할 수 없나요?      (만약 이게 된다면 쓰레드 문제도 해결 될것 같은데요..) 1. 데이터를 주고 받는 쓰레드는 메인 클레스와 프래그먼트 클레스중 어디에 위치 시켜야 하나요? (메인클레스에 넣어봤는데 안되네요 프래그먼트 클레스에 넣으니 잘 작동은 하긴하는데 이렇게되면 프래그먼트마다 쓰레드를 계속 만들어줘야  할 것 같습니다..) - 메인클레스에 데이터를 업로드 다운로드 하는 쓰레드를 넣었을경우 질문 2.  혹시 runOnUi를  사용할 수 있는 방법이 있나요??        쓰레드 클레스는 static 으로 만들어야되네요..        프래그먼트 클레스에서 사용해야 하므로...        그러면 서브 쓰레드에서 runOnUi 사용못하게 되던데        해결방법이 있을까요? 3.  프래그먼트에 있는 어뎁터를 쓰레드 없이 갱신할 수 있       는 방법이 있을까요?         runOnUi를 못쓰니 어뎁터 갱신을 할수 없었습니다.            리스트 객체에 값만 넣어주는 작업까지만 하고         쓰레드가 끝나던데 해결방법이 있을까요? 4. resume 매써드는 메인클레스 외에 화면에서는 작동          안하는 메서드 인가요? 리스트프래그먼트에서 리스트에 어뎁터 달아주는 코드 바로 위에 어뎁터에서 갱신 해주는 코드를 넣어봤지만 작동 안하네요.    resume 매써드 이용해도 마찬가지였어요. -프래그먼트 클레스에 데이터 업로드, 다운로드 하는 쓰레드를 만들었을때 질문입니다. 5. getactivity 함수 이용하니까 runOnUi 도 사용할 수     있고, 어뎁터 갱신도 할 수 있고 그래서 그런지 잘 작동 합니다. 그런데 프래그먼트마다 일일히     쓰레드 만들어 줘야만 하나요?  쓰레드가 많이 있으면 앱이 느려질것 같아서 걱정이 됩니다.     혹시 선생님은 쓰레드를 줄이기 위해서 어떤 방법을 많이 사용하시나요? 항상 질문에 답변 잘 해주셔서 감사드립니다. 덕분에 많이 도움이 되었습니다. 잘 모르다 보니 이상하고 난감한 질문을 많이 드린것 같습니다. 대략적인 방향만이라도 알려주시면 감사하겠습니다. 

4
박정훈 프로필

강좌 순서에서 맨 마지막 소스코드들어가봤는데 파일이 없습니다. 박정훈 5달 전
강좌 순서에서 맨 마지막 소스코드들어가봤는데 파일이 없습니다. 웹 브라우저는 크롬 쓰고 있습니다.  혹시 다른곳에 파일이 있을까요?

2
박정훈 프로필

전역변수를 클레스 매서드에서 사용할때. 박정훈 5달 전
안녕하세요 전역변수를 동일한 클레스의 매서드에서 사용할때 질문 입니다. 동일한 클레스 안에 매서드들이 똑같은 전역변수를 돌려가면서 사용할때 다른 매서드에서 그 변수에 넣은 값을 변경않는 한 다른 매서드에서 호출할때 그 값을 그대로 사용 하는것인지 궁금합니다.  처음에는 그런줄만 알았는데요. 어떨때는 전역변수에 있는 값이  다른 매서드에서 저장한데로 들어가 있다가 갑자기 에러가 떠서 확인해 보면 그 값이 없어지고 null 값이 들어가 있고 그럽니다.  그래서.. 이것을 해결하기 위해서 초기화 생성자를 다 지우기도 하고.. 그냥 전역변수 선언하는 부분에서 변수에 값을 아예 넣어보기도 하고, 매서드마다 파라미터에 전역변수값을 넣어주기도 하고. 그래서 전역변수 변수의 이름만 똑같이 가져와서 매서드 마다 값을(다 같은 값이지만)일일히 넣어 주기도 했는데요. 근본적인 해결방법이 아닌것 같아서 질문 드립니다. 전역변수를 한 매서드에서 입력한 값대로 계속 사용하고 싶습니다.  그리고 그 값이 지워지지 않고 쭉 유지가 됬으면 좋겠는데요.  ㅠㅠ  선생님이 올려 놓으신 관련 자바 강의도 몇번 들으면서 이해 해 보려 했지만 좀 힘드네요 도와주세요.

2
박정훈 프로필

액션바 커스터 마이징 할때 한 다음에 여기에 팝업메뉴 추가 가능한가요... 박정훈 5달 전
액션바 중에서 쓸만한게 많은것 같은데 그것을 같이 쓰면서 동시에 색깔을 바꾸거나 추가 하거나 하는 커스터 마이징도 같이 하고 싶어요.  액션바 커스터 마이징 할때 한 다음에 여기에 팝업메뉴 추가 가능한가요...  아니면 반대로 기존 액션바 그대로 넣고 배경색만 바꾸거나 하는 편집이 가능한가요?

2
박정훈 프로필

해결안되는 에러.. Failed to find configured root that contains /null/ 박정훈 5달 전
로그 에러 메세지 ---------------------------------------------------- Caused by: java.lang.IllegalArgumentException: Failed to find configured root that contains /null/불량1579517621338.jpg  <--(파일이름) ---------------------------------------------------- xml 파일 --------------------------------------------------- <paths xmlns:android="http://schemas.android.com/apk/res/android"><external-path name="storage/emulated/0" path="."/></paths>--------------------------------------------------------메인 엑티비티 문제가 되는 매서드-------------------------------------------------------- public void button(View v) { Intent intent = new Intent((MediaStore.ACTION_IMAGE_CAPTURE)); String name = "/불량" + System.currentTimeMillis() + ".jpg"; String pic_path = path + name; File file = new File(pic_path); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { contenturi = FileProvider.getUriForFile(this, "co.co", file); } else { contenturi = contenturi.fromFile(file); } intent.putExtra(MediaStore.EXTRA_OUTPUT, contenturi); startActivityForResult(intent, 0);} ------------------------------------------------------ manifest provider 부분 ----------------------------------------------------- <provider android:authorities="co.co" android:name="androidx.core.content.FileProvider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/xml"/></provider>------------------------------------------------------- 구글링 해보니까  xml 파일에 이상이 있다는것 같은데요. 정상 작동하는 앱의 코드를 전부 복사 붙여넣기 해도 저 에러가 뜹니다.   저 에러는 어떤 경우에 발생하는 건가요?

2
박정훈 프로필

manifest에 프로바이더 네임 이 바꼈다고 합니다. 박정훈 5달 전
항상 좋은 수업 감사하게 보고 있습니다. 수업에서는 프로바이더 name이 android.support.v4.content.FileProvider 인데 안되서 찾아보니  "androidx.core.content.FileProvider" 이렇게 바꼇다고 하네요 출처는 https://stackoverflow.com/questions/48534293/android-support-v4-content-fileprovider-not-found 입니다.

1
박정훈 프로필

post방식으로 배열 데이터 넘길때 질문 입니다. 박정훈 5달 전
다른 데이터는 다 잘 출력되는데  배열로 된 데이터만 서버에 출력시키면 c[Ljava.lang.String;@27104fa8 c[Ljava.lang.String;@27104fa8 이런식으로 서버에 출력 이 되는데요.  웹에서 form html 에서 할때도  같은 현상이 있어서 해결하려고 해봤지만 결국 제자리 걸음 입니다.  어떻게 해결해야 할까요.. 아래는 서버에 jsp 파일 코딩 입니다 강좌내용과 별 차이점은 없습니다. <%@ page language="java" contentType="application/json; charset=UTF-8" pageEncoding="UTF-8"%> <% String method = request.getMethod(); System.out.println("요청방식 : " + method); request.setCharacterEncoding("utf-8"); //전달한 데이터 추출 String a = request.getParameter("a"); String b = request.getParameter("b"); String[] c = request.getParameterValues("c"); System.out.println(a); System.out.println(b); for(String p : c){ System.out.println("c : "+c); } %>

2
mimseong 프로필

16:47 부분에 질문 있습니다. mimseong 8달 전
name의 content.FileProvider 가 빨간색으로 뜨며 에러가 뜨는데 어떻게 해결할까요ㅠㅠ <provider android:authorities="temp.project" android:name="android.support.v4.content.FileProvider"

1
mimseong 프로필

getExternalStorageDirectory 함수가 없어요 mimseong 9달 전
6:28 부분에 강사님이 getExternalStorageDirectory() 함수를 사용하셨는데 이 함수가 뜨지 않습니다. 혹시 어떤 함수를 사용하면 될까요?

1
megakth 프로필

E/SchedPolicy: set_timerslack_ns write failed: Operation not permitted megakth 9달 전
영상의 22:00 직전에 E/SchedPolicy: set_timerslack_ns write failed: Operation not permitted permition 에러가 발생합니다 

1
봄봄모바일 프로필

영상이 잘못올라왔네요 봄봄모바일 2019.06.08
서버로 데이터 보내기 강좌와 서버로부터 데이터 가져오기 강좌가 동일합니다. 영상이 잘못올라온것 같네요. 정정부탁드립니다. 감사합니다.

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스