프로그래밍/안드로이드 2016. 9. 19. 15:10



layout.setVisibility(View.VISIBLE);

해당 뷰를 보여줌


layout.setVisibility(View.INVISIBLE);

해당 뷰를 안 보여줌(공간은 존재)


layout.setVisibility(View.GONE);

해당 뷰를 안 보여줌(공간마저 감춤)




보여주는 모습이 약간 헷갈릴 수 있는데 예를 들자면 이렇다.



가운데 B2라고 적힌 레이아웃을 setVisibility(View.INVISIBLE)해주면

이렇게 된다. 원래 B2가 있던 공간이 자리를 차지하고 있다.

여기서 아까 그 레이아웃을 layout.setVisibility(View.GONE)해주면

이렇게 된다. 자리를 차지하고 있던것도 사라진다.



posted by Luen
:
프로그래밍/안드로이드 2016. 9. 13. 14:05

이번에 분수 계산하는 클래스를 만들면서 약분을 어떻게 해야할까 고민하다가 검색을 해보니 이런 알고리즘이 있더군요.

최대공약수를 구하는 알고리즘으로 유클리드.. 잘은 모르지만 활용만 해봤습니다.


유클리드 호제법(- 互除法, Euclidean algorithm)은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란 말은 두 수가 서로(互) 상대방 수를 나누어(除)서 결국 원하는 수를 얻는 알고리즘을 나타낸다. 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. 이는 명시적으로 기술된 가장 오래된 알고리즘으로서도 알려져 있으며, 기원전 300년경에 쓰인 유클리드의 《원론》 제7권, 명제 1부터 3까지에 해당한다.

출처 : https://ko.wikipedia.org/wiki/%EC%9C%A0%ED%81%B4%EB%A6%AC%EB%93%9C_%ED%98%B8%EC%A0%9C%EB%B2%95


최대공약수가 이렇게 간단한 알고리즘으로 구해진다는게 신기하더라구요




해서 위의 알고리즘을 이용하여 코드를 만들면 이렇게 됩니다.

약분때문에 혼자 한참 골머리 앓았는데.. 간단하네요.


posted by Luen
:
프로그래밍/안드로이드 2016. 7. 22. 12:23

안드로이드 특수문자 입력방법입니다.


텍스트뷰나 기타등등에 특수문자를 입력할 때 유니코드를 이용하여 입력합니다.


먼저 특수문자의 유니코드를 알아야겠죠


윈도우즈 실행창에 다음과 같이 입력해서 문자표를 실행시켜줍니다.



그럼 문자표가 뜨는데요




여기서 원하는 기호를 눌러주면 유니코드가 보입니다



이 코드를 입력해주면 되겠습니다.


\u003d 와 같이 입력합니다. 역슬래시라는것에 주의합니다.



xml에도 같은 방법으로 입력할 수 있습니다.

posted by Luen
:
프로그래밍/안드로이드 2016. 7. 15. 17:29
setTextColor에 int를 집어넣으라길래 한참 멘붕해서 검색하다가 찾았다.  

 항상 찾고나서 느끼는건 겁나 간단하다는것.. Reference문서만 봐서는 알 방법이 없다.



posted by Luen
:
프로그래밍/안드로이드 2016. 7. 14. 17:34

난수를 만들어주는 두가지 방법


첫 번째 방법


Math 클래스의 random메소드를 이용한다.


random메소드는 0과 1사이의 double형 난수를 만들어준다.


예시


두 번째 방법

Random 클래스를 이용한다.

Random 클래스의 nextInt(int n), nextDouble, nextBoolean 등등의 메소드를 이용한다.

nextInt(int n)의 경우 0과 n-1사이의 정수형 난수를 만들어 줘서 편하게 사용할 수 있다.


Random클래스의 자세한 부분은 Reference문서 참조
https://developer.android.com/reference/java/util/Random.html


posted by Luen
:
프로그래밍/안드로이드 2016. 7. 13. 15:38

Intent를 이용하여 전환합니다.


먼저 새로 만든 액티비티를 매니페스트 문서에 등록해줍니다.



그리고 새로운 액티비티로 전환할 액티비티의 온클릭 등 적당한 위치에 Intent를 이용하여 새 액티비티를 띄워줍니다.




끝! 간단하네요.


posted by Luen
:
프로그래밍/안드로이드 2016. 7. 13. 13:48

ExpandableList가 깔끔하고 좋아보이길래 테스트를 했습니다만..


OnItemClickListener로 클릭 할 수 없더라구요!?


그래서 여기저기 검색한 결과


GroupClick과 ChildClick으로 나눠져 있더군요


그리고 onChildClick메소드가 void가 아니라 boolean이던데 왜 그런지, 어떤 효용인지는 아직 잘 모르겠네요


어떻게 쓰는거지..


리스너는 다음과 같이 쓰면 되더라구요



Reference

https://developer.android.com/reference/android/widget/ExpandableListView.html

https://developer.android.com/reference/android/widget/ExpandableListView.OnChildClickListener.html


posted by Luen
:
프로그래밍/안드로이드 2016. 7. 13. 12:03

안드로이드의 매니페스트 파일을 수정하는 방법입니다.



다음과 같이 매니페스트 문서를 열어준 후



위와 같은 위치에 입력을 해줍니다.



끝! 간단하네요!

posted by Luen
: