전체 글 412

빌더 패턴 (Builder pattern)

빌더 패턴 (Builder pattern) -객체를 생성할 때 흔하게 사용하는 패턴이다. Member customer = Member.build() .name("홍길동") .age(30) .build(); 규칙. 생성자 인자가 많을 때에는 Build패턴 적용을 고려하라. 아이템. 생성자에 매개변수가 많다면 빌더를 고려하라. :객체를 깔끔하게 :점층적 생성자 패턴 1. 필수 인자를 받는 필수 생성자를 하나 만든다. 2. 1개의 선택적 인자를 받는 생성자를 추가한다. 3. 2개의 선택적 인자를 받는 생성자를 추가한다. 4. ..반복 5. 모든 선택적 인자를 다 받는 생성자를 추가한다. // 점층적 생성자 패턴 코드의 예 : 회원가입 관련 코드 public class Member { private final ..

코딩 2022.10.20

Aes란?

Aes란? 고급 암호화 표준이며 대칭키를 쓰는 블럭암호. 높은 안전성과 속도로 인해 인기를 얻어 전 세계적으로 사용. AES는 Rijndael(레인달)알고리즘을 가지고 만들어 졌으며, 레인달 알고리즘의 여러 가능성 중, 암호화 블럭의 크기가 128비트이며 암호화 키의 길이가 128, 192, 256비트인 세가지 종류가 AES표준으로 지정. AES 특징 대칭형, 블럭 암호화 알고리즘이다. 대칭형 암호화 알고리즘 중 가장 유명, 암호화 키는 128, 192, 256중 하나가 된다. 암호화 키의 길이에 따라 실행하는 라운드 수가 다른데, 각각 10, 12, 14라운드를 실행. AES 안전성 미국 정부가 채택하여 기밀문서를 암호화 했을 정도로, 신뢰가는 알고리즘. 키 없이 해독하는 것이 거의 불가능, 최신 Ci..

개발 2022.10.20

[Android] 키보드 이벤트(Show/Hide)에 대해 알아보자

Android 키보드 이벤트(Show/Hide)에 대해 알아보자 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mLlEdit = (LinearLayout) findViewById(R.id.ll_edit); InputMethodManager controlManager = (InputMethodManager) getSystemService(Service.INPUT_METHOD_SERVICE); mSoftKeyboard = new SoftKeyboard(mLlEdit, controlManager); mSoftK..

안드로이드 2022.10.20

[Android] 카톡 스토리 공유(kakao story share)

/** * 카카오 스토리 공유 관련 */ public void sendPostingLink() { Map urlInfoAndroid = new Hashtable(1); urlInfoAndroid.put("title", "(광해) 실제 역사적 진실은?"); urlInfoAndroid.put("desc", "(광해 왕이 된 남자)의 역사성 부족을 논하다."); urlInfoAndroid.put("imageurl", new String[] {"http://m1.daumcdn.net/photo-media/201209/27/ohmynews/R_430x0_20120927141307222.jpg"}); urlInfoAndroid.put("type", "article"); // Recommended: Use appli..

안드로이드 2022.10.20

[Android] 인앱 개발에 대해 알아보자 (실전)

Android 인앱 개발에 대해 알아보자 인앱 실전!! 1. SDK/extras/google/play_billing/IInAppBillingService.aidl -aidl파일 복사 2. SDK/extras/google/play_billing/samples/TrivialDrive/src/com/example/android/trivialdrivesample/util -util파일 복사 3. 복사 폴더위치 프로젝트/apps/src/main/aidl/com/android/vending/billing/IInAppBillingService.aidl 프로젝트/apps/src/main/java/com/yj/consulting/inapp/(util파일들) 4. AndoridManifest.xml 수정 5. Applic..

안드로이드 2022.10.20

[Android] 인앱 결제(inapp billing) 순서

Android 인앱 결제(inapp billing) 순서 1. 구글 인앱 빌링 라이브러리 설치 및 임포트 2. aidl, util부분 가져온다. 3. 매니페트스트 수정 - -V2에 비해 AndroidManifest.xml이 쉬워졌습니다. 위와같이 빌링 관련된 권한만 추가해주면 됩니다. 4. 인앱 빌링 초기화 및 인벤토리 요청 static final int RC_REQUEST = 1001//IabHelper용 콜백 결과를 구분하기 위한 상수 private IabHelper mHelper; /* strPublicKey는 구글 개발자 콘솔 -> 출시 앱 선택 -> 서비스 및 API -> 라이선스 및 인앱 결제 라이선스 키를 사용하여 앱의 무단 배포를 방지할 수 있습니다. 이 키를 사용하여 인앱 결제로 구매한 ..

안드로이드 2022.10.20

[Android] 문자 보내기 (SEND_SMS)

문자보내기 EX) 1.Manifest 2.브로드캐스트 리시버 등록 3.브로드캐스트 @Override public void onReceive(Context mContext, Intent intent) { String action = intent.getAction(); if("android.provider.Telephony.SMS_RECEIVED".equals(action)){ /** * SMS메세지 파싱 */ Bundle bundle = intent.getExtras(); Object messages[] = (Object[])bundle.get("pdus"); SmsMessage smsMessage[] = new SmsMessage[messages.length]; for(int i = 0; i < mess..

안드로이드 2022.10.20