버튼은...별거 없다.
버튼 리소스 생성 (참고로 이미지도 따로 올릴수 있다. )
<Button>
android:id = "@+id/btn"
android:layout_width = "wrap_content"
android:layout_height = "wrapcontent"
android:text = "sss"
/n>
버튼 클릭 이벤트 연결하는 소스
Button btn = (Button)findViewById(R.id.btn)
btn.setOnclickListner(new Button.OnclickListner() {
public void onClick(View v) {
// 버튼 눌렸을때 처리 ...어쩌구 저쩌구
}
});
2014년 3월 28일 금요일
리소스 - 안드로이드 개발
리소스...는 양이 많아서 일단 리소스를 참조하는 방법만 알아보자.
일단 리소스는 소스코드 상에서, 그리고 리소스(xml)에서 참조가 가능하다.
소스 코드 상에서는
R.타입.id
-> R.string.mytext 이런식으로 하고
리소스 상에서는
@타입/id
@string/mytext 요런식으로 참조가 가능하다.
일단 리소스는 소스코드 상에서, 그리고 리소스(xml)에서 참조가 가능하다.
소스 코드 상에서는
R.타입.id
-> R.string.mytext 이런식으로 하고
리소스 상에서는
@타입/id
@string/mytext 요런식으로 참조가 가능하다.
테마 - 안드로이드 개발
테마는 기본적으로 스타일과 비슷한데 스타일과 다른점은 스타일은 뷰단위 적용 , 테마는 액티비티 단위의 적용이라는 것이 다르다.
스타일을 만든 폴더에 theme.xml 파일을 만들어서 작성해도 되고 아니면 style.xml 에다가 작성해도 된다고 한다.
<resources>
<style name = "mytheme">
<item name = "android:windowNoTitle">true</item>
</style>
</resources>
위에 작성된 테마는 창이 없는 모양의 테마이다.
테마를 적용하는 방법은 다음과 같다.
<activity android:name = "c11_widget.ThemeTest"
android:theme = "@style/mytheme"
android:label = "ThemeTest" />
스타일을 만든 폴더에 theme.xml 파일을 만들어서 작성해도 되고 아니면 style.xml 에다가 작성해도 된다고 한다.
<resources>
<style name = "mytheme">
<item name = "android:windowNoTitle">true</item>
</style>
</resources>
위에 작성된 테마는 창이 없는 모양의 테마이다.
테마를 적용하는 방법은 다음과 같다.
<activity android:name = "c11_widget.ThemeTest"
android:theme = "@style/mytheme"
android:label = "ThemeTest" />
스타일- 안드로이드 개발
스타일은 여러가지 속성값의 집합이다. 똑같은 모양의 위젯이라던지를 반복해서 추가해야 할때 매번 속성을 지정하기 귀찮으니까 그때 쓰는게 스타일이다.
안드로이드가 편한게 자주 사용되는 스타일을 시스템 차원에서 제공한다.
res/values 폴더에 styles.xml 파일을 생성하고 이 파일에 쓰면 되겠다.
간단하게
<resources>
< style name = "red0903">
<item name = "android:textColor">#ff0000</item>
<item name = "android:textSize">30sp</item>
</style>
</resources>
요런식이다.
안드로이드가 편한게 자주 사용되는 스타일을 시스템 차원에서 제공한다.
res/values 폴더에 styles.xml 파일을 생성하고 이 파일에 쓰면 되겠다.
간단하게
<resources>
< style name = "red0903">
<item name = "android:textColor">#ff0000</item>
<item name = "android:textSize">30sp</item>
</style>
</resources>
요런식이다.
뷰 추가하기 -안드로이드 개발
뷰를 추가하는것을 한번 해보자.
특별히 어려운것은 없고 특정컨트롤의 속성을 지정하는 부분만 그때그때 찾아보면서
개발하면 수월할것 같다.
일단 소스코드 상에서도 뷰를 생성할수 있고 xml 파일에서도 생성할수가 있다.
동적생성이나 수정을 할때는 소스코드에서 하면 될것이다.
소스코드나 xml 상의 문법차이가 크지 않다.
<TextView>
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:text = "@String/insa"
android:textSize = "20pt"
android:textStyle = "italic"
간단한 텍스트뷰하나를 추가하는 xml 이다.
일단 문법을 자세히 몰라도 대충 봐도 어떤식인지 알수가 있다.
더 개발하다 보면 뷰를 제어하는데 있어 어떤 문제가 나올지는 모르지만 그건 그때 생각하자.
특별히 어려운것은 없고 특정컨트롤의 속성을 지정하는 부분만 그때그때 찾아보면서
개발하면 수월할것 같다.
일단 소스코드 상에서도 뷰를 생성할수 있고 xml 파일에서도 생성할수가 있다.
동적생성이나 수정을 할때는 소스코드에서 하면 될것이다.
소스코드나 xml 상의 문법차이가 크지 않다.
<TextView>
android:layout_width = "match_parent"
android:layout_height = "wrap_content"
android:text = "@String/insa"
android:textSize = "20pt"
android:textStyle = "italic"
간단한 텍스트뷰하나를 추가하는 xml 이다.
일단 문법을 자세히 몰라도 대충 봐도 어떤식인지 알수가 있다.
더 개발하다 보면 뷰를 제어하는데 있어 어떤 문제가 나올지는 모르지만 그건 그때 생각하자.
로그 추가 하기 - 안드로이드 개발
로그 찍는 함수는 정적 함수라서 별도의 객체 생성 없이 바로 호출이 가능하다고 한다.
static int Log.d(String tag, String msg[, Throwable trl])
// Debug 실행중에는 제거
static int Log.e(String tag, String msg[, Throwable trl])
/ Error 심각한 에러
static int Log.w(String tag, String msg[, Throwable trl])
// Warning
static int Log.I(String tag, String msg[, Throwable trl])
// Information
static int Log.v(String tag, String msg[, Throwable trl])
// Verbose 개발중에만 컴파일 됨
static int Log.d(String tag, String msg[, Throwable trl])
-> 요기서 tag가 로그를 출력하는 애로써 나중에 필터링할때 요 이름으로 필터링 가능함
* 자바의 모든 객체는 toString 함수로 문자열 변환이 되므로 모두 로그로 찍을수 있다.
static int Log.d(String tag, String msg[, Throwable trl])
// Debug 실행중에는 제거
static int Log.e(String tag, String msg[, Throwable trl])
/ Error 심각한 에러
static int Log.w(String tag, String msg[, Throwable trl])
// Warning
static int Log.I(String tag, String msg[, Throwable trl])
// Information
static int Log.v(String tag, String msg[, Throwable trl])
// Verbose 개발중에만 컴파일 됨
static int Log.d(String tag, String msg[, Throwable trl])
-> 요기서 tag가 로그를 출력하는 애로써 나중에 필터링할때 요 이름으로 필터링 가능함
* 자바의 모든 객체는 toString 함수로 문자열 변환이 되므로 모두 로그로 찍을수 있다.
2014년 3월 17일 월요일
카르노맵 (Karnaugh map)
카르노맵(Karnaugh map)이란?
부울함수를 표준형으로 표현할 수 있는 모든 가능한 방법들중의 한가지로 보통 3변수 이상 6변수 이하의 불함수에서 사용한다.
- 진리표를 그림모양으로 나타낸 것이며 벤다이어그램을 확장한 것
- 여러형태의 사각형으로 된 그림으로 진리표의 각 항(최소 또는 최대 항)들은 카르노 맵의
각한 칸의 사각형에 나타냄
- 카르노 맵의 각 칸에서 수평 또는 수직방향으로 인접한칸은 한 변수의 논리상태만 서로 다르다.
- 카르노맵에서 인접항을 2,4,6,8,16... 의 단위로 묶음 으로써 부울변수를 1,2,3,4...개 씩 감소한다.
왜 카르노맵이 필요한가?
보통 논리식이 주어진다면 카르노맵보다는 부울함수나 드모르간의 정리를 이용하는 쪽이 쉽지만, 보통의 설계에서는 논리식은 주어지지 않고, 입력값과 그에 대한 출력값만 주어지게 됩니다. 이 경우, 입력값과 출력값만을 가지고 원래의 논리식을 찾는 과정은 쉽지 않습니다. 이걸 보다 손쉽게 할 수 있도록 하는 방법이 카르노맵입니다.
그렇다고 모든 입/출력에 카르노맵을 적용할 수 잇는 것은 아니고, 입력값이 6개 이하인 경우에... 그 중에서도 3~4개인 경우 매우 유용하게 사용하게 됩니다.
웹질하다 우연히 봤는데 이게 뭔가 해서 식겁했음...전공을 다 까먹다니....
배움을 멈추지 말아야 함
부울함수를 표준형으로 표현할 수 있는 모든 가능한 방법들중의 한가지로 보통 3변수 이상 6변수 이하의 불함수에서 사용한다.
- 진리표를 그림모양으로 나타낸 것이며 벤다이어그램을 확장한 것
- 여러형태의 사각형으로 된 그림으로 진리표의 각 항(최소 또는 최대 항)들은 카르노 맵의
각한 칸의 사각형에 나타냄
- 카르노 맵의 각 칸에서 수평 또는 수직방향으로 인접한칸은 한 변수의 논리상태만 서로 다르다.
- 카르노맵에서 인접항을 2,4,6,8,16... 의 단위로 묶음 으로써 부울변수를 1,2,3,4...개 씩 감소한다.
왜 카르노맵이 필요한가?
보통 논리식이 주어진다면 카르노맵보다는 부울함수나 드모르간의 정리를 이용하는 쪽이 쉽지만, 보통의 설계에서는 논리식은 주어지지 않고, 입력값과 그에 대한 출력값만 주어지게 됩니다. 이 경우, 입력값과 출력값만을 가지고 원래의 논리식을 찾는 과정은 쉽지 않습니다. 이걸 보다 손쉽게 할 수 있도록 하는 방법이 카르노맵입니다.
그렇다고 모든 입/출력에 카르노맵을 적용할 수 잇는 것은 아니고, 입력값이 6개 이하인 경우에... 그 중에서도 3~4개인 경우 매우 유용하게 사용하게 됩니다.
웹질하다 우연히 봤는데 이게 뭔가 해서 식겁했음...전공을 다 까먹다니....
배움을 멈추지 말아야 함
피드 구독하기:
글 (Atom)