블로그 이미지
인간은 자신이 이해하지 못하는 것을 경멸하는 버릇이 있다. 셜병장

카테고리

분류 전체보기 (37)
주절주절 (1)
누리다 (1)
생활의 발견 (0)
Memory (1)
내 몸의 물 (8)
Developments (14)
Attraction (9)
Father Time (2)
Play Ground (1)
Total
Today
Yesterday
출처 우리 가족 건강한 물, 물의 진실 한우물 정수기 | 한우물
원문 http://blog.hanumul.co.kr/220095558290


한우물정수기가 야심차게 출신한 신제품 알칼리 직수형정수기 HAN-EP5000을 체험해보실 체험단 10분을 모집합니다!!

 

​말씀드린 대로 체험단 10분을 선정하여 HAN-EP5000을 드립니다.  베스트리뷰어로 선정되신 분께는 무상으로 제품이 증정되는 좋은 기회입니다.  한우물정수기에 관심있는 블로거를 운영하시는 분은 누구나 참여 가능하십니다!! 

단, 과거 한우물정수기 체험단으로 활동하신 분은, 더 많은 분들에게 기회를 드리기 위해, 이번 체험단 대상에서 제외됩니다.





Posted by 셜병장
, |

-. adb 명령어

adb kill-server

adb start-server


파일 밀어넣기 

System app에 강제로 apk 밀어 넣을때 종종 사용 ( Install과 비슷하지만 다른 개념)

adb push xxx.apk /system/app/


push 시 Read-only file system

adb remount  /또는/ adb shell mount -o remount,rw -t rfs /dev/stl12 /system


dump.txt 파일로 덤프 파일 저장하기

adb shell dumpstate >> dump.txt 


system의 메모리 정보 mem 파일로 저장

adb shell dumpsys meminfo >> mem.txt


process 의 메모리 사용량 

adb shell procrank >> proc.txt


system의 properties 내용 prop파일에 저장

adb shell getprop >>prop.txt


-. adb shell 

# am  (activity manager)

am start -a [intent] -d [data] -t [minetype] -c [category] -n [component] -f [flags]

ex) call 발신

am start -a android.intent.action.CALL -d tel:01012345678 


broadcast도 가능

am broadcast


단말의 사이즈 강제로 조정하기 > 1280x800으로 변경

am display-size 1280x800


단말의 Density값 강제로 조정하기 >480으로 변경

am display-density 480 


단말의 상태 모니터링 (ANR등을 확인)

am monitor 


# pm (package manager)

pm list package [option]

package 모두 보여준다.

-d (disable 되어있는 package 목록)

-e (enable 되어있는 package 목록)

-s (system package 목록)

-3 (thrid party package 목록)


해당 패키지 삭제

pm uninstall [pacakgename]


해당 패키지의 데이터 삭제

pm clear [package]


disable 되어있는 package를 enable 로 변경

pm enable [package]

<-> pm disable : 반대로 enable 되어있는 package를 disable 시킨다.



Android 4.4(level 19) 이상의 버전에서만 지원되는 기능 

mp4로 촬영

adb shell screenrecord /sdcard/xxx.mp4

단말의 동작을 촬영하여 xxx.mp4 파일로 저장

option : --size --rotate 등 옵션 가능

(ctrl-c 시 촬영 중지) 



Posted by 셜병장
, |

-. abstract class (추상 클래스)

abstract class MethodName{

...

}


  • 일반 클래스와 동일하나 추상 클래스로는 instance를 만들 수 없다.
  • 추상클래스는 하나 이상의 추상메서드를 포함하고 있다.
  • 생성자, 멤버변수, 메서드등을 가질수 있다.
  • 상속을 통해 서브 클래스에 의해서만 완성된다.

(오버라이딩으로 조상의 메서드를 구현해주어야 하며, 사용하지 않을시에는 동일하게 abstract를 붙여 추상메서드를 지정해야한다 이 자체도 abstract class 가 된다.)



2. abstract class를 사용하는 이유는? (추론)

추가적인 부모 클래스의 instance를 생성하지 않고 만들고자 하는 객체의 개념만 정의 해놓았다.

객체에서 필요로 하는 메서드에 대해 미리 부모가 지정할수 있다.

조상 클래스가 반드시 필요로 하는 부분에 대해 상속 받으려는 클래스에게 구현하도록 미리 설계하는것이 주 목적으로 보인다.

부모(parent)가 자식(child)이 태어나면 손가락(finger) 개수부터 확인한다는 옛말을 인용하면 부모가 자식에게 꼭 있었으면 하는 부분(finger)에 대해 미리 abstract(추상)해 놓고 태어날때 필수 조건으로 놓고 태어나길 원하는 심정이라고 보면 되겠다

이는 프로그래밍적으로 설계도의 역할을 하는 것으로 만들고자하는 객체의 설계를 미리함으로써 실질적인 청사진을 그려볼수 있다.


-.Interface(인터페이스)

1. 인터페이스란?

  • 일종의 추상클래스이다.
  • 추상 클래스와는 달리 일반 메서드와 멤버변수를 구성원으로 가질 수 없다.

오직 추상 메서드 (abstract method)와 상수(constant)만을 멤버변수로 가질 수 있다.

  • 멤버변수는 모두 public static final이어야 하며 메서드는 모두 public abstract이어야 한다. (constant)

생략가능하며 생략시에는 컴파일러가 자동으로 추가한다.



2. 인터페이스의 장점?

  • 다중 상속

Java는 기본적으로 다중 상속이 불가능하다. 이는 다중상속의 장점보다 단점이 더 크다고 판단하기 때문에 기본적으로 허용하지 않도록 설계되어있다.

허나 Interface를 이용하면 다중 상속이 가능하다.

정확히 표현하자면 interface는 상속의 개념이 아니라 implements (구현)으로 표현하는 것이 맞으므로 다중 상속보다 다중 구현이 맞지 않나 싶지만...;;

  1. 구현 방법

A와 B의 클래스를 상속받아서 사용하는 C 클래스가 있다면 이때 비중이 더 높은쪽 (A클래스라 가정한다.)를 상속받아서 사용하고 B 클래스의 interface를 만들어 implements하여 C를 사용한다.

public class C extends A implements B{

....

}

이때 다형성의 장점을 얻을 수 있다.

  1. 다형성
public class AClass implements BInterface{

...

}

=>

Binterface B = new AClass();

  • 개발 시간이 단축된다.

interface가 작성되면 선언부만으로 각각의 class를 구현할 수 있으므로 코딩 작업을 분할할수 있다.

  • 표준화가 가능하다. 

특정 프로젝트를 수행한다고 했을시 interface로 표준화시켜 놓으면 보다 정형화된 프로그램 작성이 가능하다.

  • 서로 관계없는 class들끼리 관계를 맺을 수 있다.

다중 interface를 이용하므로 서로 상관없는 class들이 하나로 관계가 맺는것이 가능하다.

  • 독립적인 프로그래밍이 가능하다.

class의 선언부와 구현부의 분리가 가능하므로 실제구현시 독립적인 구현이 가능하다.


3. Interface의 이해

A -> B

A는 B.method()호출

기존 A에서 B 메서드 호출시 B의 선언부를 호출

A->I->B

A는 I.method()를 호출

A는 B를 직접 호출할것 없이 I(인터페이스)를 호출함으로써 I를 implement한 B의 호출이 가능하다.

이때 I는 다형성에 의해 동일한 구현부를 가진 C나 D도 호출이 가능하다.

B의 클래스가 추가되거나 변경되어도 A가 사용하는데는 영향을 받지 않으며 선언부 자체가 이미 interface를 사용하였기 때문에

B,C,D등은 그것에 맞추어 구현만 하면 되고 A는 이를 부르기만 하면된다.






Posted by 셜병장
, |

최근에 달린 댓글

최근에 받은 트랙백

글 보관함