Multiline string 라이브러리 적용기(?)개요Java에는 여러 줄에 걸쳐서 String을 선언하는 문법이 없다. 정말 충격과 공포가 아닐 수 없는데, 다른 언어에서는 아래와 같이 세따옴표나 기타 기호를 사용하여 문자열을 선언할 수 있지만,String str = "multi" + "line" + "string"; 컴파일러 단의 최적화 문제는 둘째치더라도, 중간에 문자열 편집을 해야 하는 경우에는 매우 불편하다. 특히, SQL문의 경우 여러 줄로 길어지는 경우가 많고, 가독성에서도 좋지 않은 편이다.그래서?내가 작성 및 유지보수하고 있는 어플의 경우 별다른 프레임워크 없이 생 JSP로 작성하였는데, 프론트 부분은 꾸준한 유지보수를 통해 비교적 봐줄만 하지만, DB와 관련된 영역은 정말 못봐줄 지경..
안드로이드에는 5초룰이라는 제약이 있다. Home키를 누른 후 약 5초간 홈으로 지정된 어플을 제외 한 다른 Activity가 실행되는 것을 방지한다. 아마도 홈 키를 하이재킹하여 악용하는 것을 방지하려고 한 것 같은데, 3rd-party lockscreen 앱을 쓰게 되면 이 점이 꽤 성가시게 된다. 많은 잠금화면 앱이 자신이 홈 역할을 대신하고 홈키를 누르면 설정된 런처를 실행해주는 것으로 이를 회피하려 하고 잇다.그러나 이 경우 홈 앱이 일반 어플과 같은 위치가 되어 OOM Killer 동작으로 홈 앱이 죽어버리면서 다시 로딩하느라 홈딜레이 현상이 발생하게 된다. 위젯락커에서는 5초룰 패스라는 기능을 제공하고 있으나, 다른 앱에는 적용할수가 없는데,APK파일을 일부 수정하면 5초룰을 회피할 수 있다..
Distinguish 3G/HSPA/HSPA+ Signal File: SystemUI.apkLocation: res/values/bool.xmlHowto: change value from false to true true Remove Carrier Logo (Fxxking Slave Mark) File: SystemUI.apkLocation: res\values\bool.xmlHowto: change value from true to false false Disable fully charged notification File: SystemUI.odexLocation: com\android\systemui\power\PowerUI.smaliHowto: remove or comment out these li..
갤럭시S3의 물결락이 아닌 Circle Lock은 터치시 화면이 어두워지는데,CircleLock이 보다 잘 보이게 하기 위한 것 같은데 성가시다. android.policy.odex파일을 디컴파일한 후 android.policy\com\android\internal\policy\impl\sec\CircleLockScreen.smali파일을 열어 아래 중간에 return-void 구문을 추가해준다. .method private bedimBackground(Z)V .registers 4 .parameter "on" .prologue return-void .line 902 iget-boolean v0, p0, Lcom/android/internal/policy/impl/sec/CircleLockScreen;-..
젤리빈으로 업데이트 되면서 미디어스캐너가 비정상 동작하는 경우가 있다고 한다. 갤러리의 썸네일 파일이 잘못되어서 발생할 수 있는데 이 경우에는 /sdcard/Android/data/com.cooliris.media/cache 내부의 파일을 삭제 후 리붓을 해 주면 새로 캐시를 생성하게 된다. 또 다른 이유로는 미디어 파일 중 파일이름에 SQL와일드카드가 포함되어 발생하는 경우가 있다. (ex: 파일이름에 밑줄 [ _ ] 이 포함되에 있는 경우) Android 4.2에서 이 문제를 해결했다고 하는데 아직 4.1인 기기는 아래 패치가 필요하다. 참고로 아래 패치는 해외판 Galaxy S2 젤리빈을 대상으로 하는데, 내 갤럭시S3에 적용후에도 별 문제없어 보인다. 참고1 : CyanogenMod의 해당패치내역..
http://forum.xda-developers.com/showthread.php?t=1427352 넥서스S ICS커널 중 gamma값이 적당한 blue color kernel중 SG커널이 적절한 것 같아서 사용하던 중, 기본 1.1Ghz로 오버클럭 되어 있어서 클럭을 1.0Ghz로 낮추어 사용하고 있다. arch/arm/mach-s5pv210/의 cpufreq.c와 mach-herring.c파일을 수정하면 된다. 오버클럭시 최대클럭: 1320에서 1100으로 수정 기본 최대클럭 : 1100에서 1000으로 수정 기본전압으로 수정
오랜만에 기술관련 포스팅이다. 먼저 안드로이드 플랫폼 컴파일환경을 만들어야 한다. SDK로는 안되는 것 같다. 0. 우분투의 경우라면 필수 개발환경을 설치해야 한다. $ sudo apt-get install build-essential $ sudo apt-get install curl 1. 홈 디렉토리에 bin폴더를 만들고, 실행환경을 지정한다. $ mkdir ~/bin $ export PATH=~/bin:$PATH 2. repo binary를 다운로드 받는다. $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod 755 ~/bin/repo 3. 안드로이드 프로젝트를 다운로드 받는다. 안드로이드 툴체인이 프로..
프로그래밍을 처음 시작하게 되면 보통 C++를 사용하여 작성한 코드를 객체지향이라고 생각하기 쉽다. 하지만 대부분 C코드 형태의 코드이기 쉽다. 객체지향 프로그래밍이란 말 그대로 객체를 지향하는 프로그래밍 방법론을 말하는 것이다. 객체란 우리가 생각할 수 있는 모든 것들을 말한다. 컴퓨터 모니터라든지, 옆에 놓인 새우맛과자라든지, 미시적으로 보면 양성자, 중성자, 전자에서 부터 거시적으로 태양과 행성들도 객체가 될 수 있다. 객체지향은 이러한 객체들의 특징만을 찾아내어 클래스라는 자료구조로 추상화하는 과정을 말한다. 이것은 수학의 본질과 비슷한 과정이다. 현실세계에서의 수를 숫자와 기호라는 도구를 사용하여 수식으로 표현하는 것이다. 클래스는 현실세계를 잘 표현할 수 있는 도구인 것이, 현실의 모든 존재는..
안드로이드의 APK파일은 APKTool을 통해 분해, 재조립을 할 수 있다. 안드로이드 기본 프로젝트를 디컴파일 해보면 다음과 같다. java 코드 package com.atest; import android.app.Activity; import android.os.Bundle; public class AtestActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } } smali코드 .class..
- Total
- Today
- Yesterday
- 문학·책
- setfsb
- 요리·레시피
- Gutsy
- Android
- Leap Year
- IT·컴퓨터
- 프로포즈 데이
- 아일랜드
- 레터스 투 줄리엣
- 일상·생각
- 하이픈
- Ubuntu7.10
- 락스크린
- 안드로이드
- lockscreen
- NEXUS S
- 2월 29일
- 5 sec rule
- U123
- apktool
- 5초 룰
- STOP_APP_SWITCH
- dex2jar
- 전화번호
- GutsyGibbon
- 잠금화면
- 더블린
- ubuntu
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |