일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 안드로이드
- web3js
- kotlin
- firebase
- fabric-sdk-java
- ethereum
- bigquery
- log
- quick-start
- Exception
- Hyperledger
- Realm
- Glide
- vuepress
- error
- test
- coroutines
- C
- dataginding
- 스트리밍
- porterduff
- Gradle
- hardwareacceleration
- null safety
- 컴파일
- 다윈
- convert
- fabic
- Android
- LAYER_TYPE_SOFTWARE
- Today
- Total
목록프로그래밍 (155)
날마다 새롭게 또 날마다 새롭게
■ Adapter와 View 우리들이 흔히 보는 리스트 뷰, 그리드 뷰 등과 같이 여러 항목들을 나열하여 볼 수 있는 클래스들을 AdapterView 라고 부른다. Adapter는 전기 콘센트를 여러개 꽂을 수 있는 장치를 말한다. AdapterView는 Adapter를 통해 여러 개의 ChildView 를 가질 수 있다. 항목의 개수가 무한대일 수 있고 실행 중에 목록이 바뀔 수도 있으며 데이터 원본도 다양하다. 이런 복잡한 데이터를 위젯이 직접 관리하는 것은 효율적이지 못하므로 화면에 표시하는 일은 View가 원본으로부터 얻은 데이터를 관리하는 일은 Adaper 각각 나누어 맡는다.
탭을 눌러 페이지를 전환하는 화면은 탭 호스트 위젯으로 만든다.TabHost 클래스가 탭 화면을 구성하며 이 안에 탭별로 페이지들이 배치된다. TabHost 는 상단의 탭과 중앙의 프레임 등 두개의 차일드로 구성된다. 탭 화면으로 된 액티비티를 구성하는 가장 쉬운 방법은 TabActivity 로부터 상속을 받는 것이다. 1. TabActivity를 상속받는다.public class MainActivity extends TabActivity { @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); 2. 탭 호스트 위젯을 만들 TabHost 클래스 객체를 생성한다.TabHost mTab =..
1. Manifest - 카메라를 사용하겠다는 Permission 받기 2. Main.java - Camera 객체 생성 및 영상 Preview 띄우기 // 미리보기 표면 클래스 class MyCameraSurface extends SurfaceView implements SurfaceHolder.Callback { SurfaceHolder mHolder; Camera mCamera; ① Surface Class 생성 (SURFACE_TYPE_PUSH_BUFFERS 설정) public MyCameraSurface(Context context, AttributeSet attrs) { super(context, attrs); mHolder = getHolder(); mHolder.addCallback(thi..
■ adb devices adb server에 연결된 emulator / devices 를 보여줌. 명령어 입력 결과는 다음과 같은 형태로 출력된다.. [serial number] [state] List of devices attached 015E00029FFC00000A3BA0CD08033024 device emulator-5554 device ※ state offline : 연결되어 있지 않음 device : 현재 연결된 상태 no device : 장비가 없음 ※ 장비 : emulator / device ■ adb -s 현재 돌리고 있는 장비가 여러개 일 때 특정 장비를 선택하여 명령을 내릴 수 있다. ■ adb install app을 장비에 인스톨함. ■ adb forward 장비의 port를 fo..
이클립스 디버깅 출처 : http://blog.naver.com/yswon72?Redirect=Log&logNo=107533541
■ 필요파일 ARToolkit-2.72.1-bin-win32.zip OpenVRML-0.14.3-win32.zip jpeg-6b-4 libpng-1.2.8 libpng-1.2.81 glut-3.7.6-bin.zip ※ AR : Augmented Reality : 증강현실 ※ VRML : Virtual Reality Modeling Language ※ GLUT : OpenGL Utility Toolkit 주요한 기능 : 창의 크기와 형태를 정의하고 제어 기능 키보드와 마우스 입력을 감지하는 기능 기하학적인 기본객체(geometric primitives)를 그려주는 기능 팝업 메뉴를 생성하는 기능 출처 : http://blog.naver.com/PostView.nhn?blogId=hamstery&logNo=..
구글 API 인증하는 법 : http://gxgsung.blog.me/140121649176
폰갭 설치하고 예제 실행하기 : http://coronasdk.tistory.com/219PhoneGap으로 index.html 띄우기 : http://http://millo.tistory.com/43AVD Device 설정 : http://cafe.naver.com/gogoomas/202958phoneGap 설명 : http://helloworld.naver.com/helloworld/8180하이브리드 앱 개발 솔루션, 스마트폰 크로스 플랫폼으로 HTML과 Javascript 개발 지원 총 정리 : http://androphil.tistory.com/351
객체 간 대입연산 시 대입 연산자를 정의하지 않으면 디폴트 대입 연산자가 삽입된다. 디폴트 대입 연산자는 멤버 대 멤버의 복사가 얕은 복사로 진행 된다. 그렇기 때문에 연산자를 동적 할당하고 있는 객체를 디폴트 대입 연산자로 연산하게 되면 메모리 누수와 메모리 중복 해제하는 문제가 발생한다. 그러므로 문제가 발생하지 않도록 직접 대입 연산자를 정의하도록 한다. 연산자를 동적 할당하는 경우 대입 연산자를 다음과 같은 형태로 정의한다.■ 깊은 복사를 진행하도록 정의한다.■ 메모리 누수가 발생하지 않도록, 깊은 복사에 앞서 메모리 해제의 과정을 거친다. ※ 상속 구조에서의 대입 연산자 호출 유도 클래스의 생성자에는 아무런 명시를 하지 않아도 기초 클래스의 생성자가 호출되지만 유도 클래스의 대입 연산자에는 아무..
클래스 중에서 객체 생성을 목적으로 하지 않는 클래스도 존재한다. 이러한 클래스는 객체가 생성되지 않도록 하기 위해서 '순수 가상함수'를 선언한다. '순수 가상함수'는 함수의 몸체가 정의되지 않은 함수로 명시적으로 몸체를 정의하지 않았다고 컴파일러에게 알려주는 역할을 한다. '순수 가상함수' 선언이 되어 있는 클래스를 생성하려고 하면 컴파일 에러가 발생한다. 이렇게 '순수 가상함수'를 선언하여 객체 생성이 불가능한 클래스를 추상 클래스라고 한다.