수강이 제한됩니다.
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 미해결윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
문의 드립니다.2
바쁘신데 답변 주셔서 정말 감사합니다.아래 제 질문이 좀 이상했네요안드로이드 앱을 개발한 후 마켓에 올려서 앱의 어떤 화면에서 링크를 타고 다른 화면으로 갈때 앱의 도메인이나 IP를 전달하는게 가능한가요?앱이라는게 도메인이 있는게 아닌거 같고 IP는 가지고 있는건가요? 어떤 앱을 개발하려고 하는데 앱에서 버튼을 클릭하면 다른 사이트의 페이지로 이동하면서 앱의 주소를 같이 넘겨줘야 합니다.앱의 주소를 미리 이동하는 사이트에 등록을 해 놓아야 정상적으로 이동이 가능한데 웹 이라면 도메인 이던가 서버의 IP를 등록하면 되지만 앱인 경우도 도메인이나 서버의 IP같은게 있는지 문의 드린겁니다. 답변 부탁 드리겠습니다.
- 미해결윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
문의 드립니다.
AVD를 추가 한게 Android 7.1.1 인데 설명에서는 안드로이드 7 이하의 버전에서 개발자가 발생시킨 쓰레드에서 화면에 관련된 작업을 하면 오류가 발생한다고 하셨습니다7이하의 버전이라는게 7.0 까지의 버전을 말씀 하시는겁니까? 그렇다면 7.11에서 화면에서 튕기는건 왜 그런건지요? 다른 질문을 드립니다.안드로이드 앱을 개발한 후 마켓에 올려서 앱의 어떤 화면에서 링크를 타고 다른 화면으로 갈때 앱의 도메인이나 IP를 전달하는게 가능한가요?앱이라는게 도메인이 있는게 아닌거 같고 IP는 가지고 있는건가요? 바쁘시겠지만 답변 부탁 드립니다.
- 미해결윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
소켓 네트워크 반응이 없네요
package com.example.myapplication;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.TextView;import java.net.Socket;import java.util.logging.SocketHandler;public class MainActivity extends AppCompatActivity { TextView text1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text1=findViewById(R.id.textView); } public void btnMethod(View view){ NetworkThread thread =new NetworkThread(); thread.start(); } class NetworkThread extends Thread{ @Override public void run() { try{ //서버에 접속 final Socket socket = new Socket("192.168.56.1", 55555); runOnUiThread(new Runnable() { @Override public void run(){ text1.setText(socket.toString()); } }); socket.close(); }catch (Exception e){ e.printStackTrace(); } } }} AndroidManifest에 인터넷 권한줬습니다. // 이클립스 import java.net.ServerSocket; import java.net.Socket; public class MainClass { public static void main(String[] args) { // TODO Auto-generated method stub try { ServerSocket server = new ServerSocket(55555); System.out.println("사용자 접속대기"); Socket socket = server.accept(); System.out.println(socket); socket.close(); server.close(); }catch(Exception e) { e.printStackTrace(); } } }사용자 접속대기는 정상적으로 떳는데버튼을 눌러도 아무 동작을 안해요....
- 미해결윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
handler처리 질문 !!
handler.sendEnptyMessage() 에 들어가는 what 값과 Message 객체에 what은 같은 역할을 하는 것인가요 ?? ex) handler.sendEmptyMessage(0); Message msg = new Message(); msg.what = 0 위에 해당하는 2개의 what이 같은걸 의미하는것인가요 ?
- 미해결윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
IPC 실행오류
안녕하십니까 좋은 강의 잘 듣고 있습니다. IPC 수업 코드를 안드로이드 8.1 단말기에서 실행시 동작 잘 됩니다. 그러나 10 단말기에서는 실행시 앱이 종료 됩니다. startForegroundService(intent); 함수를 호출 하면서 오류가 생기는 것 같읍니다. 오류를 찾을 수 없네요 단말기 10버전에서 실행 시킬 방법이 없나요? 감사합니다.
- 미해결윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
이클립스 오류 질문
HTTP통신 공부를 하면서 이클립스에 오류가 나타나 질문드립니다 Multiple annotations found at this line: - The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path - The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 라는 오류가 처음의 <%부분에 나타납니다 왜 그런겁니까?
- 미해결윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
[Error] Failed to find provider info
구글링도 다해보고, 잘못 작성한 부분이 있나해서 처음부터 다시 다해봐도 같은 에러가 발생합니다. ㅠㅠ....
- 미해결윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
onCreateDialog
2:32 에서 onCreateDialog function 이 나오지 않네요. 아마도 안드로이드 10 이라 그런가요?
- 미해결윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
android 상위 버전에서는 작동이 안됩니다!
API 25일 경우는 강의와 같이 잘 작동이 되는데, API 29로 작동 할 경우, 작동이 되질 않습니다! 왜 그런지 알 수 있을까요? 항상 양질의 강의 감사합니다! package org.techdown.fileinputoutput; import androidx.appcompat.app.AppCompatActivity; import android.Manifest; import android.content.pm.PackageManager; import android.os.Build; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.TextView; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; // 안드로이드는 외부 저장소와 내부 저장소를 제공하고 있다 // 외부 저장소 및 내부 저장소 모두 파일 입출력이 가능하다 public class MainActivity extends AppCompatActivity { TextView text1; // 확인 받을 권한 목록(외부 저장소) String[] permission_list = { Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE }; // 외부 저장소까지의 경로를 담을 변수 String path; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); text1 = (TextView)findViewById(R.id.textView); // 권한 확인 받는 메서드를 호출한다 checkPermission(); // 저장할 외부 저장소의 경로를 구한다 File f1 = Environment.getExternalStorageDirectory(); String a1 = f1.getAbsolutePath(); // 패키지명을 구한다 String a2 = getPackageName(); // 이 영역에 패키지명과 동일하게 저장하면 어플 삭제시 삭제됨 // 이외의 영역에 저장할 경우 어플이 삭제되도 유지 path = a1 + "/android/data/" + a2; } public void btnMethod(View view){ try { // 내부 저장소에 데이터를 쓸 경우 // 내부 저장소와 연결 되어 있는 쓰기 스트림 추출 // MODE_PRIVATE 이전 내용을 덮어쓰기, MODE_APPEND 이전 내용에 추가하기 FileOutputStream fos = openFileOutput("myFile.dat", MODE_PRIVATE); DataOutputStream dos = new DataOutputStream(fos); // 데이터를 쓴다 dos.writeInt(100); dos.writeDouble(11.11); dos.writeBoolean(true); dos.writeUTF("문자열"); // 파일을 닫는다 dos.flush(); dos.close(); text1.setText("내부 저장소 쓰기 완료"); }catch (Exception e){ e.printStackTrace(); } } public void btnMethod2(View view){ try { FileInputStream fis = openFileInput("myFile.dat"); DataInputStream dis = new DataInputStream(fis); // 파일에 출력한 순서대로 입력받는다. int data1 = dis.readInt(); double data2 = dis.readDouble(); boolean data3 = dis.readBoolean(); String data4= dis.readUTF(); text1.setText("data1 : " + data1 + "\n"); text1.append("data2 : " + data2 + "\n"); text1.append("data3 : " + data3 + "\n"); text1.append("data4 : " + data4 + "\n"); }catch (Exception e){ e.printStackTrace(); } } public void btnMethod3(View view){ try { checkExternalDirectory(); FileOutputStream fos = new FileOutputStream(path + "/sd_file.dat"); DataOutputStream dos = new DataOutputStream(fos); dos.writeInt(10); dos.writeDouble(11.11); dos.writeBoolean(true); dos.writeUTF("문자열"); dos.flush(); dos.close(); text1.setText("ㅁㄴㅇㅁㄴㅇ"); }catch (Exception e){ e.printStackTrace(); } } public void btnMethod4(View view){ try { FileInputStream fis = new FileInputStream(path + "/sd_file.dat"); DataInputStream dis = new DataInputStream(fis); int data1 = dis.readInt(); double data2= dis.readDouble(); boolean data3 = dis.readBoolean(); String data4 = dis.readUTF(); dis.close(); text1.setText("data1 : " + data1 + "\n"); text1.append("data2 : " + data2 + "\n"); text1.append("data3 : " + data3 + "\n"); text1.append("data4 : " + data4 + "\n"); }catch (Exception e){ e.printStackTrace(); } } public void checkPermission(){ if(Build.VERSION.SDK_INT < Build.VERSION_CODES.M){ return; } for(String permission : permission_list){ int chk = checkCallingOrSelfPermission(permission); if(chk == PackageManager.PERMISSION_DENIED){ requestPermissions(permission_list, 0); break; } } } public void checkExternalDirectory(){ // 외부저장소 경로가 있는지 확인하고 없으면 생성한다 File file = new File(path); if(file.exists() == false){ file.mkdir(); } } }
- 해결됨윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
강의에 사용하시는 PPT를 받아볼수있을까요?
정리가 잘되어서 좋을거 같습니다.~
- 해결됨윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
새해 복 많이 받으세요!!!그리고 질문 입니다.
안녕하세요. 프래그 먼트 관련 질문 입니다. 옵션 메뉴를 액션메뉴로 바꾼다음에 그 메뉴를 클릭하면 프래그먼트가 실행되게 하고 싶습니다. 엑션바를 서치뷰 개체로 추출해서 거기에 클릭 리스너를 달고 프래그먼트 실행하니 안되네요. 혹시 방법이 있을까요... 그냥 액션바를 커스터마이징 하는 방법 밖에 없을까요.
- 해결됨윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
프로바이더 주소가 Unknown URL content로 뜨는경우
<provider android:name=".test" android:authorities="co.kr.test.test" android:enabled="true" android:exported="true"></provider>위 텍스트는 Manifest 안에 있는 프로바이더 입니다.그리고 아래는다른앱에서 요청한 프로바이더 주소 입니다. Uri uri = Uri.parse("content//co.kr.test.test"); 왜 url을 찾을수 없다는지 잘 모르겠습니다. Caused by: java.lang.IllegalArgumentException: Unknown URL content//co.kr.test.test/ at android.content.ContentResolver.insert(ContentResolver.java:1203) at com.first.number2.MainActivity.bu(MainActivity.java:42) 구글링해보니까 authorities 와 정확히 같아야한다. export가 true로 되있어야된다. 어플리케이션 <>안에 프로바이더가 위치했는지 확인해라 등등 다 봤는데 이상이 없어요 ㅠ ㅠ 에러가 뜨는.혹시 다른 이유가 있을까요...
- 해결됨윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
sqllite 통해서 이미지도 파일도 매칭이 가능할까요?
이미지 작업을 하려고 하는데요 예들들어서 어떤상품의 이미지와 상품명, 바코드, 색깔 등을 매칭 시킨 후에 검색하면 그 이미지와 그냥 글자 데이터인 바코드, 색깔, 상품명 등이 매칭이 되도록 화면에 출력이 가능할까요? 용량이 걱정이 되긴 하는데 사용하고 계속 지우면서 작업할 수 있게 하려고 하는데요. sql을 통해서는 힘들다면 다른 방법이 혹시 있을까요? 그러니까... 어떤 방식으로든 핸드폰으로 사진을 찍거나 혹은 다운받거나 한 사진파일과 SQLite 에 있는 데이터와 매칭이 가능한지 궁금합니다.
- 해결됨윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
데이터 저장할때 질문 입니다.
좋은 강의 감사합니다. 강의하면서 내용을 자세하게 설명해 주셔서 큰 도움이 됩니다. 데이터 읽고 쓰는부분에서 궁금한 점이 있습니다. bat파일 은 잘 몰라서 여쭤봅니다. 내부나 외부 저장소에 숫자 글자 이런것만 저장한다면 확장자를 txt라고 하는게 더 나을까요? 해보니까 저장은 됩니다. 내용확인도 바로 되서 편합니다. 그런데 bat 파일을 확장자로 하는 이유가 있을텐데(용량이 적게 잡아먹는다거나 os에서 속도가 빠르거나 등등..) 그렇다면 bat 파일의 내용을 확인하면서 관리하고 싶은데 다 깨져서 실행시켜보니 내용이 깨져서 출력이 됩니다. 질문은요. 1. bat파일로 저장하는 이유가 있나요? 2. bat파일이 저장하는데 용량이 적게 들거나 하는 등에 이유로 더 낫다면 실행할때 안깨지도록 해결방법이 혹시 있을까요?
- 해결됨윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
SQlight 데이터 베이스 관련 질문 입니다.
안녕하세요. 좋은 강의 잘 보고 있습니다. 하루하루 배우는 재미가 있어서 기분이 좋습니다. 감사합니다. 저는 흔히 말하는 컴맹에 가까운 사람입니다. 자바기초 문법만 조금 알고 있고, db? sql? 아무것도 모르는 상태에서 공부하고 있어서 막히는 부분이 많습니다. 그러다 보니 질문 할게 많이 생기네요.. 혼자 구글링 하면서 알아내고 있는데막히는게 있어서 질문 드립니다. 앱에서 리스트뷰에 입력된 데이터를 검색하는 기능을 추가 하려고 시도 중입니다. 검색한 값의 배열 인덱스를 기억한 배열을 만들어서 반복문을 통해서 검색 해봤는데 잘 작동은 합니다. 그런데 완벽하게 단어를 다 입력해야 검색이 되는 단점이 있어서 단어의 일부만 입력해도 검색이 가능하도록 고민해봤는데요 입력한 단어의 숫자만큼 배열에 있는 모든 값을 일일히 단어 숫자의 개수만큼 차례대로 조합해서 비교 하는 방식으로 코드를 짜 보려고 했는데요. 너무 비효율적이고 느리고 힘들 것 같다는 생각이 들었어요. 거기다가 영문 대소문자 구분부터, 결과내 검색 옵션을 적용 및 항목별 검색까지 적용 하려고 해 보니 머리가 터지려고 하네요. 그래서 구글링 해보면서 SQlite 에 select? 기능을 이용하면 쉽게 검색이 가능할것 같다는 생각이 들었습니다. 배열 값을 일일히 입력해서 그 배열안에서 검색하는 것은 크게 어렵지 않을것 같습니다. 개수가 적으니 속도도 그만큼 빠를 것 같아요. 하지만 db에 입력된 값을 가져와서 배열을 구성하고 다시 그 배열에서 반복문을 통해서 검색을 하려면 느리고 복잡할것 같습니다. 여기서 궁금한점이 생겼습니다. 1. 저장된 db에서 검색된 db를 가져오는 방식은 어떻게 이루어 지나요? 저는 아래 두 방법 정도 있다고 생각했는데요. 혹시 잘못 알고 있는지 궁금합니다. 1) db에서 필요한 db를 검색해서 -> db에서 데이터를 갖고와서 db배열을 만든다->그 배열을 리스트 뷰에 입력한다. 2) 처음 앱이 시작하면 db를 전부 항목별로 가져와서 배열에 입력한다.->그 배열에서 검색한 후 ->리스트뷰에 입력한다. 2.앱에 있는 검색 창(EditText)에 서 가져온 값을 자바에 입력된 배열과 배교할 필요없이 곧바로 SQlite 을 통해서 db파일에서 검색이 가능한가요? 3.혹시 앱에 검색기능을 추가하기 위해서 데이터베이스 공부가 필요하다면 추천 커퓨니티나 도서가 있을까요?
- 해결됨윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
리스트 프레그먼트에 심플 어뎁터 를 달때 질문
리스트 편집을 기존에 android.R.layout.안에 있는 레이아웃 안에서만 해야하나요? 새로 만들면 안되나요? 편집할때 아이디도 바꾸면 안되나요?... 앗 그리고 다른 클레스 에서 생성한 객체를 또 다른 클레스에서 사용 할 수 있나요? 어뎁터를 메인에 1개만 만들고 다른 프레그먼트에서 돌려쓰고 싶은데 가능할까요?(지금은 변수만 공유해놨는데요 만들다보니 궁금합니다.)
- 해결됨윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
객체추출 하는부분에서 질문 드립니다.
activity 객체를 추출하는 구문을 MainActivity activity = (MAinActivity)getActivity 전역변수 넣는 위치에 넣어봤는데요. 객체 추출이 안되네요 . acvity 객체가 null 로 되어 있네요. 왜 그런지 궁금합니다.
- 해결됨윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
다른 앱으로 객체 넘길때 각각 다른 앱2개에서 각각 파셀러블을 상속하는 클래스를 만들어야하나요?
다른 앱으로 객체 넘길때 각각 다른 앱2개에서 각각 파셀러블을 상속하는 클래스를 만들어야하나요? 한개로 쓰고 싶은데.. 다른방법은 없나요?
- 해결됨윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
화면을 마구 전환할때 엑티비티가 안쌓이게 만드는 방법 질문 드립니다.
finish();와 startActivity();를 동시에 넣으면 될까요? 해봤는데 안되는것 같아서요. 현재화면을 종료시키면서 동시에 인텐트에 설정된 화면으로(필요하면 다른 엑티비티가 될수도 있을것 같은데요) 넘어가게 하려고 하고 싶은데 잘 안되네요. 이런저런 고민을 해봤는데 잘 안됩니다. 백버튼 누르면 화면이 많이 쌓여 있는게 보이네요.ㅠㅠ 좋은 방법이 없을까요?
- 미해결윤재성의 Java 기반 Android 9.0(pie) App 개발 심화 2단계
버튼 클릭 방법에 대한 질문 입니다.
1. 버튼 클릭방법이 xml 파일에서on click 에서 설정하는 방법 2. 클레스를 만들어서 상속해서 쓰는 방법하고 3. 또 다른데 찾아보니까 매개변수에 new OnClick를 넣어서 쓰는 방법도 있었습니다. 세가지 방법 다 해봤는데 클레스 상속해서 쓰는 방법을 할때 유독 오류가 떠서요. 왜 그런지 모르겠습니다. 아래는 문제가 되는 코드 입니다. //xml 파일에 onclick넣어주기 위한 메서드 입니다. 잘 됩니다.public void bu(View v){ Intent inetnt = new Intent(this,second.class);}//MainActivity내에서 코드로 onclick 하기위한 클레스 입니다.class button implements View.OnClickListener { @Override public void onClick(View v) { //문제의 코드 입니다. 위의 메서드와 동일한데 위의 코드는 잘 작동하는데 왜 아래의 코드는 오류가 뜨는걸까요? Intent intent = new Intent(this,second.class); } 어떻게 해결해야 하는지 잘 모르겠어요.