개발

· 개발/Java
일반적으로 thread 를 실행하는 방법 일반적으로 thread 를 실행하는 방법은 다음과 같다 final static int AAV_GET_MSG_BUFFER_MAX = 301; int mySend(String msg) { final int[] r = new int[1]; r[0] = 0; Thread th = new Thread(new Runnable() { @Override public void run() { CGMessage cgMsg = new CGMessage(7); cgMsg.setMsgStatus(AAV_CG_MSG_START_END); cgMsg.setOut(getConnectedOutStream()); cgMsg.setIn(getConnectedInStream()); r[0] = cgM..
Aidl 로 class 옮기기 크게 보내는 함수 .aidl 생성 보내는 함수 .java 를 parcelable 로 implement 전송하는 .aidl 에 임포트 및 in 추가 정도로 정리할 수 있다. CGMessage.aidl (보내고자 하는 클래스) 우선 해당하는 Class 를 aidl 로 만들어야 한다 // CGMessage.aidl package com.ahope.test_ga; // Declare any non-default types here with import statements import com.ahope.test_ga.CGMessage; parcelable CGMessage; 단, 이때는 인터페이스를 의미하는 I 를 앞에 붙이면 안된다. CGMessage.java 보내고자 하는 cla..
PackageManager 란 앱 관리를 담당하는 시스템 서비스입니다. 설치된 앱에 대한 정보를 쿼리할 뿐만 아니라 앱을 설치, 업데이트 및 제거하기 위한 프레임워크를 제공합니다. PackageManager는 시스템 패키지 및 타사 응용 프로그램을 포함하여 장치에 설치된 모든 패키지의 데이터베이스를 유지하고 업데이트를 관리하며 패키지 간의 종속성이 충족되는지를 확인합니다. 패키지 설치 및 제거: PackageManager를 사용하여 Android 장치에서 패키지를 설치 및 제거할 수 있습니다. 이것은 PackageManager API를 사용하거나 장치의 설정 메뉴를 통해 프로그래밍 방식으로 수행할 수 있습니다. 패키지에 대한 정보 쿼리: PackageManager는 버전 번호, 패키지 이름 및 권한을 포..
activity 를 intent 로 실행 activity 를 intent 로 실행하는데는 두개 함수가 존재한다. startActivity startActivityForResult 차이는 startActivity 이벤트형식으로 실행만 시키고 끝나는가, startActivityForResult 는 실행을 시킨 다음에 실행시킨 activity 와 상호작용을 하는가로 나뉜다. startActivity 는 그래서 activity 를 실행할때보다는 intent 를 실행해 원하는 데이터를 보낼때 사용한다. 이때 intent.putExtra 와 intent.getStringExtra 를 함께 사용한다 startActivity public void startActivity(new Intent(MainActivity.th..
sharedpreference 란 SharedPreferences는 소량의 데이터를 키-값 쌍으로 저장하고 검색할 수 있는 Android API입니다. 사용자 설정, 사용자 인증 토큰 또는 기타 소량의 데이터와 같은 간단한 사용자 기본 설정을 저장하는 데 자주 사용됩니다. SharedPreferences는 Android 파일 시스템 위에 구축되어 기기의 로컬 파일 시스템에 데이터를 저장합니다. 데이터는 동일한 패키지 내의 여러 applications에서 액세스할 수 있는 XML 파일에 저장됩니다. SharedPreferences 예시 // Get the SharedPreferences object SharedPreferences sharedPref = getSharedPreferences("my_pref..
부팅시 서비스를 구동하게 하기위해선 크게 권한설정, 부팅시 실행될 class, register receiver 로 action등록 이 필요하다. 권한설정 (AndroidManifest.xml) // 부팅 완료 후 호출 두개로 권한을 열어준다. intent filter 는 저 intent 는 저 함수에 들어갈 수 있다는 필터역할. 부팅시 실행될 class (BootReceiver) public class BootReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent){ checkSocketService(context); } public static void checkSocketServ..
Context 란 Android Studio에서 Context는 '맥락' 이라는 의미 그대로 응용프로그램의 현재 상태를 나타냅니다. 또한 데이터베이스, 기본 설정 및 문자열 및 이미지와 같은 정보를 제공합니다. 안드로이드 개발의 기본 개념이며 안드로이드 앱의 많은 부분에서 요구됩니다. Context는 응용 프로그램이 기본 운영 체제와 상호 작용하고 다양한 리소스에 액세스할 수 있도록 하는 Android 시스템의 핸들로 생각할 수도 있습니다. 애플리케이션의 현재 상태를 나타낸다. 액티비티와 어플리케이션의 정보를 얻기 위해 사용할 수 있다. 리소스, 데이터베이스, shared preference 등에 접근하기 위해 사용할 수 있다. 액티비티와 애플리케이션 클래스는 Context 클래스를 확장한 클래스이다. ..
IPC 란 IPC는 프로세스 간 통신(Inter-Process Communication)의 약자로, 컴퓨터 시스템에서 여러 프로세스가 서로 통신할 수 있도록 하는 방법과 메커니즘을 의미한다. IPC를 통해 서로 다른 프로세스가 정보를 공유하고, 활동을 동기화하며, 운영을 조정하여 공통의 목표를 달성할 수 있습니다. IPC 방법 공유 메모리: 프로세스는 메모리의 일부를 공유할 수 있으므로 동일한 메모리 위치에 읽고 쓰는 방식으로 정보를 교환할 수 있습니다. 메시지 전달: 프로세스는 통신 채널을 통해 메시지를 주고받음으로써 통신할 수 있습니다. 파이프 및 FIFO: 프로세스는 공통 파일 설명자에 쓰고 읽음으로써 통신할 수 있습니다. 소켓: 프로세스는 서로 다른 컴퓨터 간의 통신을 위한 표준 인터페이스를 제공..
Parcel이란 Android에서 Parcel은 Java 객체를 마샬링 및 마샬링 해제하기 위한 고성능 메커니즘입니다. 객체를 바이트 스트림으로 직렬화하여 프로세스 경계를 넘어 전송할 수 있습니다. 또는 파일 또는 데이터베이스에 저장할 수 있습니다. Android는 사용자 정의 객체를 Parcel로 직렬화하는 데 사용되는 Parcelable 인터페이스도 제공합니다. Parcel 클래스는 기본 데이터 유형, 배열 및 기타 객체를 쓰고 읽을 수 있는 메서드를 제공합니다. Parcelable 인터페이스를 구현하려면 개체의 상태를 소포에 쓰고 다시 읽는 코드를 작성해야 합니다. 다음은 Parcelable 인터페이스를 구현하는 클래스의 예입니다. public class Person implements Parcel..
· 개발/Java
추상화란 (구현숨기기, class 앞쪽 성질변환) 추상화는 Java에서 객체 지향 프로그래밍(OOP)의 네 가지 기본 개념 중 하나입니다. 사용자에게 꼭 필요한 정보만 보여주면서 구현 내용을 숨기는 과정을 말합니다. Java에서 추상화는 추상 클래스와 인터페이스를 통해 이루어집니다. 추상 클래스는 인스턴스화할 수 없고 다른 클래스에 의해 서브클래싱되도록 설계된 클래스입니다. 추상 메서드와 비추상 메서드를 모두 가질 수 있습니다. 추상 메서드는 본문이 없는 메서드이며 추상 클래스를 확장하는 모든 하위 클래스에 의해 구현되어야 합니다. 다음은 Java에서 추상 클래스의 예입니다. public abstract class Shape { public abstract double getArea(); public a..
· 개발/Java
상속 (부모꺼 갖다쓰기) 상속은 Java에서 객체 지향 프로그래밍(OOP)의 기본 개념 중 하나입니다. 이를 통해 클래스는 수퍼 클래스 또는 부모 클래스라고 하는 다른 클래스의 속성과 동작을 상속할 수 있습니다. 슈퍼클래스에서 상속되는 서브클래스를 정의하기 위해 클래스 정의에서 extends 키워드를 사용합니다. 그런 다음 서브클래스는 슈퍼클래스의 속성과 메서드를 자신의 것처럼 사용할 수 있습니다. 예를 들면 다음과 같습니다. public class Animal { private String name; private int age; public Animal(String name, int age) { this.name = name; this.age = age; } public void eat() { Sys..
· 개발/Java
다형성이란 다형성은 객체 지향 프로그래밍의 기본 개념이며 Java의 기능입니다. 서로 다른 클래스의 개체를 동일한 유형인 것처럼 처리할 수 있습니다. 이는 각 개체의 정확한 클래스를 알 필요 없이 균일한 방식으로 서로 다른 클래스의 개체에 대해 작업할 수 있는 코드를 작성하려는 경우에 유용할 수 있습니다. Java에서 다형성은 메서드 재정의(Overloading)와 메서드 오버로딩(Overriding)이라는 두 가지 메커니즘을 통해 달성됩니다. Overloading (output 다양화) Java에서 메서드 오버로딩은 클래스가 이름은 같지만 매개 변수가 다른 여러 메서드를 가질 수 있도록 하는 기술입니다. 메서드 오버로드를 사용하면 개발자가 클래스에서 동일한 이름을 가진 둘 이상의 메서드를 만들 수 있으..
yeonlee
'개발' 카테고리의 글 목록 (2 Page)