본문 바로가기
[Developer]/Android

안드로이드 교육 3일차 오후

by 반가운 해피빈이 2009. 12. 9.

try ~ catch ~

 

그림1.png 

 

컴파일러 에러 메세지 보고 Exception의 종류를 판단하여 넣는다.

 

error가 나든 안나든 꼭 실행을 해야 하는 코드는 finally 안에 넣는다.

보통 객체를 닫는 역할을 넣는다.

try ~ catch 구문에서 finally는 꼭 실행하고 간다. 프로그램이 아얘 중단(exit)되지 않는 한 return을 한다고 해도 finally는 실행을 하고 간다.

 

catch에서 상속관계의 exception일 경우에는 꼭 하위 exception을 위에 적어주어야 에러가 나지 않는다.

 

만약 자신을 호출한 코드에게 Exception의 발생을 꼭 알려줄 필요가 있거든, 메소드 명 작성시 throws XxxException 이라고 옆에 적어 놓는다.

그러면 그 메소드를 호출한 코드는 반드시 try ~ catch구문으로 감싸야 하는 의무가 생긴다.

그러면 Exception 발생시 코드를 수정해서 다른 것으로 실행할 수 있게 할 수 있다.

 

Exception을 직접 만들 수도 있다. 그 때는 throw new XxxException(); 이런 식으로 호출을 하면 바로 넘어간다.

 

Network.

밖에있는 자원에 대한 접근은 Permission이 필요하다.

따라서 AndroidManifest.xml 파일에

<uses-permission android:name="android.permission.INTERNET" />

이러한 코드를 삽입해야 한다.

 

TCP 통신은 소켓을 생성해서 통신을 한다.

UDP 통신은 DatagramSocket을 활용해서 DatagramPacket에 담은다음 그냥 바로 보내버린다.

 

Database의 종류는 RDB, ODB, XMLDB 등이 있지만, 현재는 RDB가 가장 활용도가 높고 배포가 많이 되어 있기에 이것을 현재 대부분이 활용한다.

 

안드로이드 내에서...

Java : 대소문자를 구분한다, 같다는 표시는 ==, 인덱스는 0부터 시작

SQLite : 대소문자를 구분하지 않는다, 같다는 표시는 =, 인덱스는 1부터 시작

 

SQL의 조건에 대해서...

_id = 3 : _id가 3인 값인 경우

 _id >= 3 : _id가 3보다 크거나 같은경우

_id IN (3, 5, 7, 9) : _id의 값이 3이거나 5이거나 7이거나 9인경우

title = "test" : title이 test인 경우

title LIKE "test_" : title의 값이 test로 시작하나 맨 끝에 한글자가 어떤 값인지 들어가도 검색

title LIKE "test%" : title의 값이 test로 시작하나 그 뒤의 문자는 무엇이 들어가도 검색

title LIKE "%test%" : title의 값이 test가 중간에 들어가기만 하면 검색

 

MVC Pattern의 경우 View는 UI, Controller는 요청 제어, Model은 처리부분을 담당한다.

안드로이드의 경우 MVC 패턴을 적용했다. 즉,

Activity는 Controller에 해당하고, xml로 된 부분은 View부분에 해당한다. 또한 Java/C/C++의 언어로 된 처리부분과 Service, BroadcastReceiver는 Model에 해당한다고 볼 수 있는 것이다.

 

SQLiteOpenHelper : Database 생성과 version을 관리하는 클래스

SQLiteDatabase : 실질적인 Query를 날리는 것과 제어하는 역할을 담당한다.

Intent는 메세지의 내용을 담아서 들고 다닌다(전달!)

 

URI(Uniform Resource Identifier), URL(Uniform Resource Location) 이므로

URL보다는 URI이 더 구체적인 단위가 된다. 

이 글은 스프링노트에서 작성되었습니다.

반응형

댓글0