목록Development Language/JAVA · ANDROID (50)
SPRING :: NOTE
아래와 같이 안드로이드의 LatLng 객체를 입력으로 받아 ECEF 좌표를 배열로 출력하는 Java 코드의 예 이다. 본 코드는 수학적인 계산을 수행하므로 추가적인 외부 라이브러리는 필요하지 않다. import android.location.Location; public class LLHtoECEFConverter { public static double[] convertLLHtoECEF(Location location) { double lat = Math.toRadians(location.getLatitude()); double lon = Math.toRadians(location.getLongitude()); double alt = location.getAltitude() + 10.0; // 고도는 ..
안드로이드 33부터 내장 파일 아무거나 접근을 못한다. 아 짜증난다. 파일 읽어오는 부분들을 전부 수정해줘야한다. 유예기간을 많이 주긴 했지만, 진짜 너무 귀찮다. 다음과 같이 구성하면 xml파일을 생성하여 내 앱 절대경로에 파일을 생성할 수 있다. 안드로이드에서 파일을 생성하고, 그 파일을 다른 앱에서 읽을 수 있도록 하는 과정을 살펴보면서 오류를 해결할 수 있습니다. 1. 파일을 생성할 경로 설정하기 우선 파일을 생성할 경로를 설정해야 합니다. 여기서는 getFilesDir()을 사용하여 내부 저장소의 DB_FILES 폴더에 example.xml 파일을 생성하도록 설정했습니다. // 파일을 쓸 디렉토리 생성 File dirPath = new File(getFilesDir(), "DB_FILES"); ..
ArrayList[] mAlUserInfo; mAlUserInfo = new ArrayList[50]; ArrayList 배열 50개를 생성하고 각 배열안에 데이터가 있다고 가정. 중간 23번째 데이터를 삭제하고 배열을 당겨 Shift 시키고 싶은경우 아래와 같이 사용하자. (항상 다시 만들기 귀찮아서 포스팅을 남긴다.) mAlUserInfo[23] = null; 중간배열 삭제(null 값으로 초기화) for (int i = 23; i < mAlUserInfo.length - 1; i++) { mAlUserInfo[i] = mAlUserInfo[i + 1]; } mAlUserInfo[mAlUserInfo.length - 1] = null; 나머지 데이터 시프트 23번째 배열을 삭제하고, 그 이후 배열의 ..
다음과 같이 배열을 선언하고, 값이 유동적으로 변하기 때문에 개수를 셀 필요가 있다. ArrayList[] info = new ArrayList[50]; ArrayList로 배열을 선언한 경우, 각 요소는 null로 초기화된다. 이 배열은 ArrayList 객체에 대한 참조를 저장하고 있으며, 값이 없는 요소는 null을 저장하고 있다. 따라서, 값이 있는 요소의 개수를 세려면 null이 아닌 요소를 찾아야 한다. 아래와 같이 for-each 루프를 사용하여 각 요소를 검사하고, null이 아닌 요소의 개수를 계산할 수 있다. int count = 0; for (ArrayList list : info) { if (list != null) { count += list.size(); } } System.ou..
Caused by: com.android.builder.errors.EvalIssueException: Configuration `debugRuntimeClasspath` contains AndroidX dependencies, but the `android.useAndroidX` property is not enabled, which may cause runtime issues. 안드로이드 스튜디오 업데이트 하고 나서 위와 같이 에러가 남. 다음 두 줄을 'gradle.properties'에 추가 android.useAndroidX=true android.enableJetifier=true 빌드완료.
안드로이드를 잘 몰라서 검색의 검색을 하다가 알아냈다.현재 Fragment를 이용해서 여러개의 레이아웃을 왔다갔다 하는데,이 중, 내가 불러온 뷰의 Context를 구하는 방법을 몰라 헤매다 찾아냈다.소스는 아래와 같음. Context mContext; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment view = inflater.inflate(R.layout.settings_layout, container, false); mContext = container.getContext(); //..
안드로이드 스튜디오로 개발 중, 안드로이드 OS가 업데이트 됐다. 다음날 잘 되던 Wi-Fi 디버깅이 안되고, Logcat도 먹통 Troubleshoot device connection issu를 보니, 다음과 같이 나왔다. [기기 아이피] - Device is currently in the offline state 무슨일인가 찾아봤더니, 안드로이드 OS가 업데이트 되면서 SDK Tool도 같이 받아줘야 하는 상황 발생. 두개를 다운로드하여 업데이트 했더니 정상적으로 동작함.