본문 바로가기

안드로이드 개발31

[안드로이드][JNI] C언어를 활용하는 JNI! 환경구성 안녕하세요 푸민입니다. 안드로이드에서는 기본적으로 자바라는 언어를 사용합니다! 자바는 다양한 플랫폼에서 굉장히 많이 활용되고 있는 언어인데요. 많은 장점과 또 단점도 있습니다. 단점 중 가장 큰 이슈는 아마도 속도지 않을까싶네요. C언어의 경우 미리 소스를 컴파일하여 메모리에 올리게 되지만, 자바의 경우 JVM을 거친후 메모리에 올려지기 때문입니다. 그래서 아무리 코드를 잘짜도 자바가 C언어의 속도를 따라잡기란 쉽지 않습니다. 물론 요즘은 워낙 하드웨어의 성능이 뛰어나기 때문에 사용자들은 큰 차이를 못느낍니다. 자 안드로이드에서도 이미지 처리나 리소스를 많이 잡는 것을 안드로이드 내부에 있는 C언어로 개발할 수 있습니다. 바로 NDK 입니다. Native Development Kit 입니다. 여기서 Na.. 2015. 10. 26.
[안드로이드] 글자 단위 개행에 대해서... 안녕하세요 푸민입니다.안드로이드 개발을 하다 보면 텍스트뷰 사용시 항상 걸리는 부분이 있습니다! 바로 단어개행!!! 예를 들어보면 아 배고파. 나중에 치맥 먹으러 가자 알겠지?? 뭐라고 싫다고?? ㅠㅠ 위와 같이 글자가 줄 끝에 있으면 다음 글자를 다음줄에 쓰는것이 바로 글자 개행! 우리 한글의 특징입니다. 그런데... 안드로이드에서는 어떻게 구현이 되냐면 아 배고파. 나중에 치맥먹으러 가자 알겠지?? 뭐라고 싫다고?? ㅠㅠ 이와 같이 단어가 그 줄에서 벗어날 정도로 길면 단어 자체가 다음줄로 넘어갑니다. 왜 이런 현상이 발생하는지 생각해보니 안드로이드는 기본적으로 우리나라만 사용하는 것이 아니라 세계적으로 사용합니다. 그래서 표준화를 시키는데 영어를 기준으로 만들어진것 같습니다. 그래서 영어의 단어 개.. 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.
[안드로이드] 프로가드 적용하기! Proguard! 안녕하세요 푸민입니다. 안드로이드에는 프로가드라는 코드 보호기능이 있습니다. 프로가드가 적용되면 빌드할때 내부의 코드가 특이한이름으로 바뀝니다. 예를 들어 CustomView 라는 클래스가 A 라는 클래스로 바뀝니다. 그리고 적용하는 방법이 간단한데요. 적용하는 방법에 대해서 알아볼까요? 1. 원하는 프로젝트를 생성합니다. 2. project.properties 파일을 엽니다. 3. 해당 구문의 주석을 풀어줍니다. #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.. 2015. 10. 22.