본문 바로가기

분류 전체보기

[안드로이드]merge태그 를 사용하는 이유1. 중복되는 코드를 안에 작성하고 쓰이는 곳에서 로 불러와서 사용한다.2. 뷰계층을 최적화 시킨다. 태그를 이해하기 위해서는 안드로이드의 뷰 계층에 대해서 알고 있어야 한다. *안드로이드 스튜디오의 Device Monitor에서 Hierarchy View를 사용하여 본 뷰계층 (출처:보댕님 블로그) 1. DecorView : 뷰그룹을 관리하지 않고, 밝기 조도 등을 관리하는 레이아웃2. LinearLayout : 전체 뷰그룹을 담당하는 이름없는 리니어레이아웃으로 타이틀바 영역과 컨텐츠 영역으로 나뉜다.3-1. FrameLayout + TextView : 타이틀바를 담당한다.3-2. FrameLayout : 컨텐츠 영역을 담당한다. (우리가 짜는 실제 레이아웃의 최상단)여기까지가 안드로이.. 더보기
싱글톤패턴 싱글톤 패턴(Singleton Pattern)-싱글톤 패턴은 인스턴스를 생성할때 인스턴스를 사용할때마다 새로 생성해서 사용하는것이 아니라 한번 만들어진 인스턴스를 프로그램상에서 계속 사용하도록 하는 전략이다.-스레드풀, 캐시, 대화상자, 프린터, 사운드매니저 등등 프로그램에서 오직 하나만 생성되어야 하는 경우에 유용하다.-공통적으로 사용하는 클래스 ex) Util Class 등에 적용한다. 구현방법1public class Singleton { //private으로 Sinleton클래스의 유일한 인스턴스를 저장하기 위한 정적 변수를 선언 private static Singleton uniqueInstance = new Singleton(); //생성자를 private로 선언했기 때문에 Singleton에서.. 더보기
[안드로이드]타이틀바, 액션바 커스터마이징(full screen) 안드로이드 액션바와 상태바는 다음과 같이 구성되어 있다. 상태바와 액션바는 메니페스트와 소스상에서 수정할 수 있다. 1. 소스상에서 없애기public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //상태바 없애기 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //타이틀바 없애기 requestWindowFeature(Window.FEATURE_N.. 더보기
[안드로이드]ndk란? NDKjava만 사용하여 필요한 기능과 성능을 모두 만족시키기는 힘들다. 그래서 C나 C++ 언어로 작성된 프로그램을 java에서 사용할 수 있도록 JDK에서 제공하는 것이 JNI(Java Native Interface) 이다. 그리고 NDK는 Developer문서에서도 볼 수 있듯이The Android NDK is a toolset that lets you implement parts of your app using native-code languages such as C and C++. For certain types of apps, this can help you reuse code libraries written in those languages.[출처] JNI 구현을 위한 사용순서|작성자 스시왕.. 더보기
[안드로이드]Media 클래스MediaPlayer 미디어 재생MediaRecord 미디어 생성AudioManager : 볼륨설정작업 AudioRecord : 음성녹음작업ExifInterface : jpeg에서 사진의 부가정보(exif)를 읽거나 씀. 부가정보란 사진의 날짜나 위도,경도 등의 정보를 헤더에 넣은것. -미디어파일을 재생하는 클래스를 생성.미디어 플레이어는 미디어플레이 장치와 앱을 연결한다. -데이터소스 설정 data source : file, streaming, resource, uri -play준비미디어데이터 : 재생을 위한 정보와 데이터미디어 장치에 이러한 설정을 하는것 -play -stop다시 play하려면 play준비로 간다. -미디어플레이어 반납 미디어 재생 절차 reset() 함수를 호출하면 idle상태.. 더보기
[안드로이드] NFC사용하기 NFC : Near Field Communication10cm 이하의 거리에서 데이터를 주고 받는 기술 동작방식card Emulation : 단말을 태그처럼 동작하게 한다. 프로그램으로 태그를 만들어서 신용카드나 버스카드등을 넣을 수 있다.Reader/Writer : 종이딱지같은 태그에 단말을 갖다 대면 태그에 있는 정보를 read하거나 write할 수 있다.peer-to-peer : 단말 두개를 붙여서 데이터를 전송 (안드로이드 빔) 블루투스에 비해서 가장 적은 에너지를 사용한다. NDEF메시지를 태그로부터 읽는다. 사용방법1. 메니패스트 설정2. 단말기 설정에서 NFC활성화 NfcAdapter객체를 얻어서 지원여부를 확인한다. if(!mNfcAdapter.isEnabled() : 단말에서 NFC가 활.. 더보기
nodejs npm오류 -bash: /usr/local/bin/npm: No such file or directory npm을 사용하다가-bash: /usr/local/bin/npm: No such file or directory를 만났을때! npm을 재설치 해야 한다. stack overflow에서 찾은 방법 You will need to install npm again. If you use git, this is the easiest way:git clone http://github.com/isaacs/npm.git cd npm sudo make install요기 3줄을 통째로 복사해서 mac 터미널에 복붙하면 알아서 다시 설치된다!Otherwise, there is an install script too:curl http://npmjs.org/install.sh | sh(possibly you will need t.. 더보기
[아두이노]ESP8266 esp8266 펌웨어 => http://deneb21.tistory.com/269 http://nashorn.tistory.com/category/%EC%95%84%EB%91%90%EC%9D%B4%EB%85%B8 더보기
[안드로이드]GCM이란? node.js로 푸시알람 구현하기 GCM(Google Cloud Message)이란? Google Cloud Messaging(GCM)개발자에게 서버에서 안드로이드 디바이스의 application으로 데이터를 전송하는 것을 도와주는 무료 서비스이다.3rd-party 에서 새로운 데이터가 있을 경우 gcm 서비스를 통하여 message를 특정 device의 특정 application으로 전송해준다. Message는 최대 4kb의 경량 메시지이다.GCM 서비스는 message를 큐잉하며 이를 단말에 전달해주는 처리를 담당한다.GCM connection Servers는 http / xmpp 지원.GCM Architecturalapp은 message를 받기위해 GCM으로부터 device를 register함. 이 register를 3rd-part.. 더보기
[mac]터미널로 mac 제어하기 터미널은 Mac에서 사용되는 프로그램으로 각종 명령어를 입력하여 Mac을 제어할 수 있습니다.쉘 스크립트라는 것을 마스터 하였다면, 간단한 문구로 Mac을 자유자재로 제어할 수 있죠. 마우스와 키보드로 제어할 수 있는 일반적인 방법이 아닌, 또 하나의 다른 방법이라고 표현할 수 있겠습니다.실제 이 터미널이라는것이 정확하게 무엇인지 인지하고 이해하려면 UNIX, LINUX, 쉘 개념까지 등장해서 복잡합니다.쉽게 MS-DOS의 명령프롬포트 Mac 버전이라고 생각하시면 되겠습니다. '유틸리티' 폴더에서 찾을 수 있으며, 실행할 수 있습니다. 터미널, 어떻게 사용할까..? 우선 터미널을 실행해보면 아래와 같은 화면이 나타납니다. 마지막 로그인 기록을 보여주며, 현재 상태를 나타냅니다.bash 라는 것은, 쉘의 .. 더보기