본문 바로가기

반응형

분류 전체보기

안드로이드 개발을 위한 준비물 1.eclipse 안드로이드 프로그램을 개발하기 위해서는 안드로이드 프로그램의 구성과 원리를 알아야 한다. 안드로이드 프로그램은 안드로이드 OS 기반의 Dalvik VM(가상머신)에서 작동하는 프로그램으로 언어는 JAVA를 기본으로 이용하여 프로그래밍을 한다. 그중에서 이 프로그래밍에 도움이 되는 인터페이스를 제공하는 프로그램으로 우리는 eclipse라는 공개 프로젝트로 완성된 IDE(Integrated Develop Environment) 를 이용하기로 한다. eclipse는 무료이기때문에 누구나 다운로드해서 사용가능하고 별도의 설치도 필요치 않아서 다운로드해서 그냥 사용하면 된다. 아주 편리하다..ㅡㅡ;; http://www.eclipse.org/downloads/ 아주 다양한 패키지의 형태를 제공하고 있다. 이중에서.. 더보기
Subversion, Eclipse를 이용한 소스관리와 다중사용자 개발환경 만들기 혼자만 개발하다가 다른 사람과 협동개발을 위해서 소스의 관리에 많은 어려움을 느껴서 CVS라던지 SVN에 관심을 두게 되었다. 소스코드 버전관리의 글들이 무지하게 많은데 이곳저곳에서 정보를 끌어모아서 글을 작성한다. 나중에 보더라도 알아볼 수 있게 작성해야지... 일단 Windows 기반의 서버를 구성하기 위해서 Subversion의 윈도우용 서버 프로그램을 구해야 한다. http://subversion.tigris.org/ 해당 홈페이지로 이동하여 Packages를 클릭하여 이동해서 Windows 용의 서브버전 패키지를 받는다. 수많은 OS를 지원한다. (나는 윈도우용이 필요하니 Windows를 클릭한다.) 나는 서버만 필요하고 클라이언트는 eclispe를 사용할 것이므로 서버만 지원하는 Win32SV.. 더보기
Tistory에서 코드 하이라이트 기능을 추가하여 사용하기 원글 syntaxhighlighter를 tistory에 설치 하는 방법 syntaxhighter란 홈페이지에 있는 소스코드를 아래와 같이 색상으로 구문 강조를 해 주는 기능 입니다. 1 2 3 4 5 #include int main( int argc, const char* argv[] ) { printf( "\nHello World\n\n" ); } 우선 아래 주소에 가서 현재 최신 버전인 SyntaxHighlighter_1.5.1.rar를 다운 받습니다. http://code.google.com/p/syntaxhighlighter/ http://alexgorbatchev.com/SyntaxHighlighter/ 가기도 귀찮으신 분은 아래 파일을 다운로드 받으시면 됩니다. 다운로드 : SyntaxHigh.. 더보기
안드로이드 모바일 통신, WIFI통신이 사용 가능한지 체크하는 메소드 3G통신과 4G통신의 사용여부 // 휴대폰 통신 가능 여부 boolean ChkConnectMobile() { ConnectivityManager m_NetConnectMgr = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); boolean bConnect = false; try { if (m_NetConnectMgr == null) return false; NetworkInfo netInfo = m_NetConnectMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE); bConnect = netInfo.isConnected(); // if 모바일이 아니고 4G통신인 경우.. 더보기
Android Heap Memory Management, Out of memory 처리방안 비트맵 관련 앱에서 많이 발생하는 힙메모리 관련 오류 해결하기 개발 환경 - 안드로이드 2.1 1. 액티비티 - onCreate에서 dalvik 버추얼 머신에게 힙메모리 임계값 지정하기 (70%) dalvik.system.VMRuntime.getRuntime().setTargetHeapUtilization(0.7f); --> 메인 액티비티에서 한번만 지정 - onDestroy 이벤트에서 모든 지역변수 null 처리히기, 모든 비트맵 인스턴스 변수 recycle 시키기, 메인앱에서 System.gc() 한번 호출하기 - dalvik 버추얼 머신에게 dalvik.system.VMRuntime.getRuntime().runFinalizationSync()를 호출하여 강제로 클래스들의 finalization 호.. 더보기
안드로이드 압축하기 deflate, inflate 자바의 압축기법중 하나인 Deflate, 해제기법인 Inflate를 이용한 압축, 해제 방법 압축하기 // 바이트어레이를 압축해서 내보냄 public static byte[] compress(byte[] dataByte) throws IOException { Deflater deflater = new Deflater(); deflater.setLevel(Deflater.BEST_COMPRESSION); deflater.setInput(dataByte); deflater.finish(); ByteArrayOutputStream bao = new ByteArrayOutputStream(dataByte.length); byte[] buf = new byte[1024]; while(!deflater.finish.. 더보기
뷰(View)의 사이즈를 pixen단위로 알아내기 원문 링크 전체 화면 크기(기기의 해상도) 를 알아내려면 다음 메서드를 호출하면된다. getWindowManager().getDefaultDisplay().getWidth(); getWindowManager().getDefaultDisplay().getHeight(); 이 메서드들은 각각 기기너비와 높이를 돌려준다. 안드로이드는 여러 기기에서 실행될 수 있으므로 기기의 해상도에따라 코딩을 다르게 해야할때 유용하다. 뷰의 크기를 알아낼때는 getWidth() getHeight() 메서드를 이용한다. 이 메서드들은 각각 뷰의 너비와 높이를 알아낸다. 화면을 꽉 체운 뷰라고 하더라도 화면의 해상도와 뷰의 크기는 다른데 이유는 상단에 위치한 상태바때문이다. 화면을 가득 채운 뷰는 기기의 해상도 높이에서 상태바의.. 더보기
딜레이를 두고 키보드를 보이게 하기 new Handler().postDelayed(new Runnable(){ public void run(){ **EDITTEXT**.requestFocus(); // 키보드 보이기 InputMethodManager mgr = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); // only will trigger it if no physical keyboard is open mgr.showSoftInput(**EDITTEXT**, 0); } }, 200/*딜레이시간*/); 더보기

반응형