Programming

    Please remove usages of `jcenter()` Maven repository from your build scripts and migrate your build to other Maven repositories.

    Please remove usages of `jcenter()` Maven repository from your build scripts and migrate your build to other Maven repositories.

    Please remove usages of `jcenter()` Maven repository from your build scripts and migrate your build to other Maven repositories. developer.android.com/studio/build/jcenter-migration JCenter 지원 중단 및 서비스 종료 | Android 개발자 | Android Developers JCenter에서 Android 종속 항목 이전 developer.android.com

    Dagger 대거 (의존성 주입)

    Dagger 대거 (의존성 주입)

    DI Dependency Injection 의존성 주입 소프트웨어를 레고의 블럭 처럼 쪼개서 여러 부분으로 나눠 사용하는 개념으로 보면 된다. 사실, 레고라는 개념보다 자동화 시스템이 적용된 레고라? 보는게 맞는거 같다. 즉, 엄청나게 큰 물체를 레고로 만들었다. 그런데 가장 깊숙하게 있는 부품을 바꾸려면 모든 레고의 겉면을 까내야 하는데 SW에서는 이렇지 않고 새로운 부품을 정의해주고, 주입만해주면 간편하게 변경이 된다는 것이다. 더 똑똑하고 간편한 방법이다. 물리적인 변형이 아니여서 설계만 잘한다면, 간편하게 수정이 가능하다는 의미이다. 의존성 주입을 왜 하나? 핵심은 이렇게 하면 새로운 기능을 업데이트 하거나 코드를 수정할 때 빠르고 간편하게 수정과 변형이 가능하기 때문이다. 이 점을 분명하게 인식..

    [Ad] 광고 도구

    [Ad] 광고 도구

    Google Adsence 와 Google AdMob 의 차이 ( 바로가기 ) 애드센스 1. 광고 수익 창출 목적으로 사용한다. 2. 나의 웹사이트에서 적용해서 사용한다. ( 블로그, 사이트 등) 3. 광고 게재 쉽고 빠르다. 4. 실적 보고서 볼 수 있다. 애드몹 1. 광고 수익 창출 목적으로 사용한다. 2. 나의 앱에 적용해서 사용한다. 3. 인앱 구매와 광고 수익 분류해주는 솔루션 제공한다. 4. 앱 개발자에게 특화된 광고 플랫폼이다. Google Ad Manager 1. 규모가 좀 커지면 사용한다. ( 대규모 서비스 ) 2. 애드센스, Ad Exchange, 타사 네트워크 및 타사 광고 거래소와 네트워크 지원한다. 3. 웹, 앱, 동영상, 게임에서 수익을 창출하는데 하나의 관리장소로 활용할 수 있..

    [Android] AVD/Physical Device Error

    [Android] AVD/Physical Device Error

    갑자기 애뮬레이터 혹은 USB 디바이스 테스터가 먹통이 될 때! 상황: 화면을 추가하던 중 모르고 wearable 화면을 추가했다가 삭제를 완료했다. 매니페스트 파일에 등록된 액티비티 코드도 삭제하고 완전히 완료 한 줄 알고 Run을 하였는데, 가동이 안되고 위와 같은 애러가 갑자기 떴다. 그리고 아래와 같이 멀쩡하던 디바이스의 상태가 빨간 불이 뜨고 missing feature : WATCH 가 뜨고 있었다. 해결 : ( 검색결과 보러가기 ) 매니페스트의 코드를 좀 더 상세히 지웠어야 했다. ( 한번에 지우는 기능이 있는 듯한데, ...) 일단 액티비티를 지웠고, wearable이라고 띄어져 있던 부분을 삭제한다. ( 의심되고 없던 것은 다 삭제 ) 그리고 상단에 아래와 같은 뜬금포 코드가 한줄 들어가..

    [Android] Dagger2

    [Android] Dagger2

    Dagger Java 진영에서 Guice가 있었지만, 단점이 많아서 Dagger1('대걸, 대거' 라 부른다.)이 2012년 Square사에 의해 등장한다. Dagger1는 Annotation을 기반으로 코드를 생성하고, API를 갖지만 Guice보다는 빨랐다. 이후, Dagger 최조 개발자와 구글의 코어 라이브러리 팀이 Dagger2를 만들고 현재까지 발전시키고 있다. Dagger는 어렵다. 중도포기자가 많다. Annotation 기반의 코드 생성방식이 익숙하지 않다. 다른 DI(의존성주입) 라이브러리보다 공부양이 많다. Dagger에서만 사용하는 용어로 혼란을 준다. But, Dagger는 장점이 더 많기에 사용한다. 자원 공유 단순화되어 있고, 지정 범위내에 생명주기에서는 동일 인스턴스를 제공한다..

    [Android] Plugin Error

    [Android] Plugin Error

    Plugin Error Plugin "플러그인 이름" is incompatible (supported only in Intellij IDEA). 상황 : 프로젝트를 열었을때, 해당 내용이 EventLog에 뜬다. 프로젝트를 사용할 때는 별 문제가 안되었고, Plugin 설치 창을 가도 해당 플러그인이 보이지 않는데 계속해서 이러한 error가 뜬다. 불편.... 해서 검색해서 해결했다. 해결 : 해결방안은 해당 폴더/파일을 지워주면된다. (해결방안 링크바로가기) 1. window + r : 실행창을 열어준다. 2. 아래의 경로로 이동해주면된다. (본인 컴터명 수정후!) - 아니면 천천히 AppData까지만 가서 클릭으로 이동 C:\Users\Your pc name\AppData\Roaming\Google..

    [Android] java.lang.NullPointerException: Attempt to invoke virtual method ' jav

    [Android] java.lang.NullPointerException: Attempt to invoke virtual method ' jav

    상황: EditText 10개 선언하여 인텐트로 정보를 담아서 사용하려 했는데, 갑자기 화면이동이 안된다.??? 이게 무슨일인가 싶었습니다. 혹시나, 이러한 문제에 직면하셨다면 운이 좋으시네요. 해결할 수 있습니다!!! 저는 EditText를 10여개 정도 선언을 하여, 입력을 받은 텍스트를 변환하여 화면이동을 하려했습니다. 물론, 인텐트 사용법을 알고 있었기에, 간단하게 할 수 있는 작업이라 생각했습니다. 변수를 주구장창 써서 선언을 하고,,, onCreate()에서 변수를 할당해주었습니다. 그리고 이 입력창에 오기전에 메인 화면에서 이동하기 위해 버튼을 누르면 인텐트로 화면 전환이 되게 하였습니다. 그런데, 여기서, 문제였습니다. 인텐트는 분명 제가 변수를 많이 생성한 액티비티에 와있다고 하는데, 화..

    [Flutter] Project 01-01

    [Flutter] Project 01-01

    Flutter Project NoOneMad 메인 홈 화면 만들기 1. 프로젝트 생성 - 기타 버전, 실행 문제는 알아서 했다. (껏다 켰다, 테스트기기 연결했다 안했다. 등등 하다보면 된다.) - 해당 문제점들은 bugs life에 정리되어있음. (만약 발생하면) 2. 첫 메인 코드 및 화면 구성 void main() => runApp(MainPage()); //앱이 실행되면 처음 실행할 클래스 class MainPage extends StatelessWidget { //화면 변화가 필요없다? 나중에 바꿔야하려나 @override Widget build(BuildContext context) { return MaterialApp( //머터리얼 앱이다. title: '하고싶은 이름', theme: The..