일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Qt4
- 마영전
- 재귀함수
- vuejs
- Qt 소켓프로그래밍
- Java
- 이륜차
- QTcpServer
- 스타크래프트2
- 양평역
- qt 설치
- 고속도로
- android SAF
- 잡담
- 디자이어HD
- 자바
- 자료구조
- HTML
- c언어
- 알람프로그램
- 정성하
- 윈도우7
- 안드로이드
- QT
- FFI
- 바이크
- 스타2
- 엑티브엑스
- 오토바이
- Qt OpenGL
- Today
- Total
목록안드로이드 (12)
프로그래밍과 잡담
그냥 심심풀이로 만드는 앱이 있는데, 해당 앱을 비공개 처리 했다. 왜냐하면, 이게 돈은 안되는데 구글 새끼들이 사업자 정보를 요구하고, 그걸 구글 플레이 스토어에서 공개를 함. 그래서 짜증나서 그냥 비공개 처리 했음. 요구 하는 정보는 아래와 같다. 1. 전화번호2. 이메일3. 주소 그리고 3개가 무조건 공개가 됨. 뭐 사업자를 가지고 있고, 따로 사무실도 있고 전화도 따로 있는 사람들이라면 문제가 없음. 하지만 나같은 경우, 개인은 집 주소와 개인핸드폰 번호를 넣어야 함. 그러면 내 개인정보를 외부에 공개해버리는 꼴이잖아? 게다가 전화 번호가 개인 전화번호인데 이걸 통해서 스팸같은게 오는거 같음. 그래서 앱을 마켓에서 내린 선택을 한건 더더욱 잘한거 같음. 돈은 돈대로 안되..
안드로이드 앱에서 위의 빨간색으로 친 부분을 제거 하기 위해서는 예전에는 아래와 같은 코드를 썼다. window.decorView.apply{ systemUiVisibility = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or View.SYSTEM_UI_FLAG_FULLSCREEN } 근데 이거 쓰면 android lint 라는 거지같은거에서 deprecated 가 되었다 한다. 구글 이것들의 문제는 해결법을 알려주던가 해야하는데, 크게 도움이 안되는 개소리가 써있다는게 문제지. 그 개소리가 뭐냐면 최신 API 의 기능을 쓰라는 이야기임. 근데 그거 쓰면 하위 버전을 쓰는 폰들은 이 앱을 못쓰게 된다는거지. 아주 개같이 만들어놧..
망할 구글이 앱 폴더가 아닌 외부 폴더에 접근 할려면 Storage Access Framework 를 강제 하고 있다. 그러니 그거 쓸려면 DocumentFile 이란 걸 사용해야하는데 문제는 특히 파일 목록을 가져오는 기능이 느리다는거다. MediaStore를 쓰면 속도가 좀 더 빠를려나 근데 난 MediaStore를 쓸데가 없으니 문제지.. 폴더 내의 파일이 대충 100개도 안되지만, 그냥 가지고 오는건 어찌어찌 가지고 오는데, 이걸 가지고 정렬까지 하면 졸라게 느려진다. 근데 문제는 이걸 더 개선하려고 해도 내부로직이라 그럴 방법 없다는거지. 소스까봐도 이상한 DocumentProvider 같은거 가지고 지지 복는데 봐도 잘 모르겠으니.. 다른 방법은 데이터베이스에 넣어서 처리하던가 아니면 파일로 ..
안드로이드가 21년 11월부터는 TARGET API를 30 이상으로 강제한다 고 한다. Play Console에 들어가서 메시지함에 들어가면 나오는건데 이게 무슨 소리냐 하면 11월 부터는 저장소에 직접 접근이 불가능하다는 소리지. 그 전에 Storage Access Framework 나 아니면 MediaStore 방식으로 바꾸라는거지. 무조건 그 개떡같은 방식을 쓰라는거지. 개같은 구글 아예 처음부터 이렇게 하던가 하지. 왜 갑자기 저 지랄이야. 관련 정보 : https://android-developers.googleblog.com/2020/11/new-android-app-bundle-and-target-api.html
초창기의 개방형 OS가 아닌 점점 애플 iOS 처럼 폐쇄적으로 가는거 같다. 왜 그러냐 하면은 점점 저장소에 대해서 iOS 처럼 바뀌고 있다. 최근 타겟 버전을 29버전 이상으로 강제하고 있다. 이 버전부터는 앱이 내부 폴더 이외의 장소에는 접근을 할 수 없게 된다. 즉, 안드로이드 앱의 앱 내부 저장소는 /data/data/앱이름 으로 되어 있는데 이 아래의 정보만 접근이 가능하다. 그외에 공용 폴더는 접근이 가능하다. 그림, 동영상 이딴거 말이야. 예전에는 폰의 내부저장소(/sdcard), 외부저장소( /storage/123-123) 에 바로 접근을 할 수 있다. 근데 지금은 접근을 할려면 Storage Access Framework 를 써야한다. 그리고 안드로이드 11버전에선 저장소의 루트 폴더에 ..
안드로이드가 롤리팝으로 업데이트되면 킷켓에서 외장메모리에 쓰기 방법을 막았는데 다시 롤리팝에서 부활했다. 그것을 어떻게 하는가 하니 // 이것을 호출한다. Intent.ACTION_OPEN_DOCUMENT_TREE가 롤리팝에서 추가되었다. Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); startActivityForResult(intent, 42); 그리고 나면 창이 뜰 테고 사용자가 선택하면 그 결과가 아래의 메소드로 들어온다. //사용자가 선택하면 선택한 결과가 resultData로 들어온다. public void onActivityResult(int requestCode, int resultCode, Intent resultData) {..
간단하다. 안드로이드 3.0부터 엑션바를 이용한다. 3.0 이전에는 그냥 타이틀바만 있었다. 스크롤을 내리면 그에 대한 스크린샷이 있다. 하지만, 허니콤에 와서 부터는 엑션바는 메뉴를 처리하는데 UX측면에서 구글이 상당히 고심을 했다는걸로 보인다. 일단, 하드웨어 메뉴버튼을 이용하면 추가적인 메뉴가 있는지에 대해서 사용자가 알 수 없다.메뉴버튼을 일일이 눌러봐야 알 수 있기 때문이다. 하지만 메뉴버튼이 없을 경우에는 점3개로 생긴 오버플로우 메뉴가 생기게 된다. http://developer.android.com/guide/topics/ui/actionbar.html 이 페이지에 있는 그림을 가져왔다. 여기서 보면 3번이 오버플로우 메뉴이다. 2번은 일반 메뉴들이고 1번은 앱 아이콘 위는 엑션바와 차이를..
어떻게 골 때리냐 하면은 나는 모니터는 2개 쓴다. 근데 1번은 외장 gpu로 연결했고 두 번째는 내장에 연결했다. 이유는 외장 gpu가 이상해서 그런거고. 여하튼 이게 중요한게 아니고. 안드로이드 에뮬레이터 보면 gpu 에뮬레이션이라는게 있다. gpu로 에뮬레이터 그래픽 가속을 하는거지. 이걸 1번 모니터에서 실행하면 실행이 잘 되는데 2번 모니터에서 실행을 하면 앱 크래시가 발생한다. 이해 안돼면. 모니터 1번과 2번의 그래픽카드가 달라서 발생하는 에러인가보다. 1번 모니터에 안에서 에뮬레이터를 실행하면 잘돼고 1번 모니터가 아닌 2번 모니터에서 에뮬이 실행돼면 앱이 크래시가 일어난다는거. 1모니터 --> 실행 --> 1모니터에서 실행 OK1모니터 --> 실행 --> 2모니터 실행 fail 아 씨발 ..
루팅폰에서는 불가능한데.. 인터넷을 잘 뒤져보면 할수 있는 방법이 있다. 구글을 열심히 검색하면 나온다. 목 마른자가 우물을 파듯이 니가 알아서 검색해..
불법 복제가 만연하면서 개발자들이 안드로이드에 앱을 만들기는 꺼려하고 있지. 구글에서는 뭔가 방법을 취해야한다. 개발자들이 중요한 하드웨어쪽을 제어를 못하게 규제를 해야하고 스마트폰을 만들때 규격을 엄격하게 해서 앱이 모든 곳에서 제대로 실행 될 수 있게끔 해야한다. 개발자가 무슨 모든 폰을 다 사서 테스트를 할 수 는 없잖아. 제대로된 규격이 필요하다. 어플을 개발했으면 그 어플이 모든 안드로이드 스마트폰에서 실행 될 수 잇는 규격이 필요하다. 그리고 프로그래밍언어를 자바(Java)라는 언어를 사용한 것은 좋지 않은거 같다. 개발하는데 편하지만 문제는 그게 아니지 역컴파일을 해서 해킹하는게 너무 쉽다는것이다. 쉽다는게 다른 언어에 비해서 쉽다는거지, 무슨 소스코드가 다 나오는것은 아니다. 하지만 문제가..