본문 바로가기

Development/Android73

[안드로이드][JNI] C언어를 활용하는 JNI! 환경구성 안녕하세요 푸민입니다. 안드로이드에서는 기본적으로 자바라는 언어를 사용합니다! 자바는 다양한 플랫폼에서 굉장히 많이 활용되고 있는 언어인데요. 많은 장점과 또 단점도 있습니다. 단점 중 가장 큰 이슈는 아마도 속도지 않을까싶네요. C언어의 경우 미리 소스를 컴파일하여 메모리에 올리게 되지만, 자바의 경우 JVM을 거친후 메모리에 올려지기 때문입니다. 그래서 아무리 코드를 잘짜도 자바가 C언어의 속도를 따라잡기란 쉽지 않습니다. 물론 요즘은 워낙 하드웨어의 성능이 뛰어나기 때문에 사용자들은 큰 차이를 못느낍니다. 자 안드로이드에서도 이미지 처리나 리소스를 많이 잡는 것을 안드로이드 내부에 있는 C언어로 개발할 수 있습니다. 바로 NDK 입니다. Native Development Kit 입니다. 여기서 Na.. 2015. 10. 26.
[안드로이드] WeekReference 에 대해서 안녕하세요 푸민입니다. 안드로이드 개발을 하면서 가장 중요한것 3가지를 꼽으라고 한다면... 1. 네트워킹!- 요즘 모든 앱이 네트워크 없이는 동작을 안하기에 네트워크 관리는 가장 기본이면서 가장 중요한것 같습니다. 2. UI 요소- 모바일이라는 작은 환경에서 정말 필요한 기능 및 UI 에 대해서 잘 구성해야 되고 또 디자인이 트랜드에 맞게 잘 갖추어져야합니다. 3. 메모리 관리- 자바의 특성상 가비지컬렉터(GC)가 계속해서 메모리 관리를 하지만, 역시 기계가 관리하는데에는 한계가 있습니다. 메모리를 생각하고 프로그래밍하는 것과 그냥 하는 것은 굉장한 차이가 있습니다. 특히나 이미지 관리에서 많이 나타나는데요. 이미지 파일 자체가 굉장히 많은 메모리를 차지하기 때문지이요. 그래서! 오늘 알아볼 것은 We.. 2015. 10. 25.
[안드로이드] 글자 단위 개행에 대해서... 안녕하세요 푸민입니다.안드로이드 개발을 하다 보면 텍스트뷰 사용시 항상 걸리는 부분이 있습니다! 바로 단어개행!!! 예를 들어보면 아 배고파. 나중에 치맥 먹으러 가자 알겠지?? 뭐라고 싫다고?? ㅠㅠ 위와 같이 글자가 줄 끝에 있으면 다음 글자를 다음줄에 쓰는것이 바로 글자 개행! 우리 한글의 특징입니다. 그런데... 안드로이드에서는 어떻게 구현이 되냐면 아 배고파. 나중에 치맥먹으러 가자 알겠지?? 뭐라고 싫다고?? ㅠㅠ 이와 같이 단어가 그 줄에서 벗어날 정도로 길면 단어 자체가 다음줄로 넘어갑니다. 왜 이런 현상이 발생하는지 생각해보니 안드로이드는 기본적으로 우리나라만 사용하는 것이 아니라 세계적으로 사용합니다. 그래서 표준화를 시키는데 영어를 기준으로 만들어진것 같습니다. 그래서 영어의 단어 개.. 2015. 10. 24.
[안드로이드] App이 설치된 날짜 불러오기 안녕하세요 푸민입니다.안드로이드 앱의 설치된 날짜는 해당 앱의 패키지 명만 알면 간단히 알아낼수 있습니다. private void test1() {// Android 2.3 미만에서 사용 가능한 방식.try {PackageManager pm = this.getPackageManager(); ApplicationInfo appInfo;appInfo = pm.getApplicationInfo("com.example.testappinstalltime", 0); String appFile = appInfo.sourceDir;long installed = new File(appFile).lastModified(); //Epoch Time textView.setText("test1() installed : " + .. 2015. 10. 23.