본문 바로가기

반응형

Programming/Android

(44)
컨텍스트 메뉴에 타이틀 넣기 리스트뷰를 이용하여 구현하였고 리스트뷰의 한 항목을 눌렀을때 그 항목에만 해당되는 Context Menu를 넣을 수 있다. public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, view, menuInfo); new MenuInflater(this).inflate(R.menu.context_mylibrary, menu); } public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, view..
안드로이드 메모리 안드로이드 폰을 쓰다보면 이상한 점을 발견할 수 있습니다. 설치 용량은 149KB 였던 어플이 실행 후에 메모리 사용량을 확인해 보니 16.02MB ...... 무려 160배 가까운 차이를 보이고 있습니다.. 도대체 뭐 때문에 이렇게 많은 메모리를 잡아 먹나 하는 의문이 들었습니다. 친구는 Dalvik이 어플마다 실행되는 것 같다고 했지만 비효율적인거 같아서 아닐거라고 장담했지만... '인사이드 안드로이드 5장 Zygote' 를 보니 정말로 어플이 실행될 때마다 독립적인 Dalvik이 존재한답니다. 어플 실행시 Dalvik 실행, 모듈 링크 등의 과정을 빠르게 하기 위하여 Zygote가 존재하는데 이것 또한 Java로 작성된 프로그램이라 Dalvik이 먼저 실행되어야 한다고 합니다. init->app_p..
안드로이드 발신, 수신 통화 모니터링하기 BroadcastReceiver 를 이용하면 수신 전화를 모니터링할 수 있습니다. 이것은 네이버나 구글이나 어디서 검색하든지 쉽게 얻을 수 있는 정보 입니다. 하지만 발신 정보를 얻기란 정말 힘듭니다. 전화 상태로 발신을 구분을 할수 있습니다. 발신 : IDLE -> OFFHOOK -> IDLE 수신 : IDLE -> RINGING -> OFFHOOK -> IDLE 하지만 수신 번호가 아닌 발신 번호는 알 수 없습니다. 그래서 몇일 동안 검색을 통해 알아내었습니다. AndroidManifest.xml Log public class Log { private long id; private String number; private LogKind kind; public Log(String number, LogK..
Activity 타이틀바에 프로그래스바 위 사진과 같이 제목이 표시되는 타이틀바에 프로그래스바를 표시하고 싶을때는 다음과 같은 방법을 사용하면 됩니다. public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_PROGRESS); setContentView(R.layout.main); } 위와 같이 해주면 타이틀바에서 progress 를 사용할 수 있습니다. 현재값은 다음과 같이 설정하면 됩니다. setProgress(progress); progress 값은 0~10000 까지이며 10000 이 되면 완료되어 progress 가 사라지게됩니다. 웹뷰를 쓸때 유용할 것 같습니다.
버전이름 가져오기 AndroidManifest.xml 에 보면 versionName 이라고 있습니다. 이 것을 실행 중에 가져오려면 다음과 같은 방법을 사용해야 한다고 합니다. String version = "0.0.0"; try { PackageInfo pInfo = context.getPackageManager().getPackageInfo(context.getPackageName(), 0); version = pInfo.versionName; } catch (NameNotFoundException e) { e.printStackTrace(); }
가로화면, 세로화면 전환시 문제점 가로, 세로로 화면을 전환할때 마다 onCreate() -> onStart() -> onResume() 이런 순서대로 실행됩니다. 만약 파일을 읽거나 네트워크처리가 들어가게되면 중복처리가 발생할 수도 있습니다. 이걸 막는 방법에는 몇가지가 있는듯 하나 제일 간단한 방법인거 같은 AndroidManifest.xml 을 수정하는 방법을 적어봅니다. testA 액티비티는 아무런 수정이 없으므로 위와 같은 문제가 존재합니다. testB 액티비티는 가로, 세로 화면 전환에서는 위의 문제가 발생하지 않습니다. testC 액티비티는 가로, 세로 화면 전환과 쿼티자판을 열고 닫을때에도 위의 문제가 발생하지 않습니다. 화면 전환이나 쿼티자판을 열고 닫을때에도 onCreate -> onStart() -> onResume(..
[Android] 에뮬레이터 실행 화면 가로, 세로 두가지 모두 테스트를 하기 위해 두개의 에뮬레이터를 만들었습니다. 480x320 320x480 아직 정확하지는 않지만.... 대충 해보니... 메뉴키 - PageUp / F2 취소키 - ESC 잠금키 - F4 / F7 조이스틱 입력(?) - F6 3G 켜기/끄기 - F8
[Android] Activity 전환 A : 전환할 Activity Class Intent B = new Intent(this, A.class); startActivity(B);

반응형