unresolved reference for ViewModelProviders 문제 해결하기



Just add these 2 lines to the proper build.gradle:

1
2
implementation "android.arch.lifecycle:extensions:1.1.1"
annotationProcessor "android.arch.lifecycle:compiler:1.1.1"


사이트

안드로이드 색깔 정해주는 사이트

Color Tool - Material Design
An interactive tool to create, share, and apply color palettes to your UI, as well as measure the accessibility level…material.io

머티리얼 아이콘 다운로드 사이트

Material icons - Material Design
Material icons are beautifully crafted, delightful, and easy to use in your web, Android, and iOS projects.material.io

안드로이드 앱 아이콘 만드는 사이트

Android Material Icon Generator
The icon, the material shadow and all effects are created in SVG!android-material-icon-generator.bitdroid.de

Android Asset Studio
A collection of tools to easily generate assets such as launcher icons for your Android app.romannurik.github.io

아이콘 라이브러리

Orion Icon Library
The best Icon Tool. 6507 Free SVG & PNG Icons. Search, organize, edit and download our highly flexible Icons.orioniconlibrary.com

구글 머티리얼 디자인 가이드 라인 (영어)

영어를 몰라도 Components 탭으로 가시면 많은 정보를 알 수 있을겁니다.

Introduction - Material Design
Create a visual language that synthesizes classic principles of good design with the innovation and possibility of…material.io

사진 최적화 사이트 (.png / .jpg)

TinyPNG - Compress PNG images while preserving transparency
Make your website faster and save bandwidth. TinyPNG optimizes your PNG images by 50-80% while preserving full…tinypng.com

온라인 이미지 편집 툴

iLoveIMG | 쉽고 빠른 온라인 무료 이미지 편집 툴
신속하게 파일 수정이 가능한 무료 이미지 편집 툴 iLoveIMG. 잘라내기, 크기 조정, 압축, 변환 등의 작업을 진행해 보세요!www.iloveimg.com

다양한 아이콘들을 모아둔 사이트

Icongram: icons on the fly 🚀
Icongram serves you 5114 icons from your favourite icon library on the fly 🚀.icongr.am

Font Awesome 5
Font Awesome makes it easy to add vector icons and social logos to your website. And version 5 is redesigned and built…fontawesome.com

68,700 Free Icons - The Largest Icon Pack Ever
Single icon pack with 68,700 free icons. Each icon is in 5 flat styles. Download as PNG, SVG, or as a font.ko.icons8.com

사람이 봤을 때 조화로운 색

ColorBrewer: Color Advice for Maps
Edit descriptioncolorbrewer2.org

머티리얼 컬러 파레트

Colorion
Curated Color Palettes with Search and Tags Supportmaterial.colorion.co

머티리얼 테마 에디터

Theme Editor Home
The Material Theme Editor helps you make your own branded symbol library and apply global style changes to color…material.io

Gallery

개발자와 디자이너 간 협업 툴

Gallery Home
Gallery is a collaborative tool for uploading design work, getting feedback, and tracking revisions - quickly and…material.io

머티리얼 컴포넌트 + 사용법(Docs)

Develop for Android
Build beautiful, usable products faster. Material Design is an adaptable system-backed by open-source code-that helps…material.io


오픈소스 모음 사이트

오픈소스 라이브러리 Best 27

초보 개발자를 위한 안드로이드 오픈 소스 라이브러리 Best 27
어플리케이션(프로그램)을 개발할 때 오픈 소스를 사용하는 것은 시간을 절약할 수 있으며 버그를 줄일 수 있는 효과적인 방법 입니다. 자동차를 만드는것에 비유하자면, 바퀴부터 발명해서 자동차를 만드는 것 보다 이미…aedi.tistory.com

징그럽게 많음 렉 주의;;

wasabeef/awesome-android-ui
awesome-android-ui - A curated list of awesome Android UI/UX librariesgithub.com

깔끔하게 정리 되있음

Android UI OpenSource
Collection of OpenSource for Android UI.kmshack.github.io


 

 

 

 

출처: https://medium.com/wasd/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EA%B0%9C%EB%B0%9C%EC%97%90-%EB%8F%84%EC%9B%80-%EB%90%AC%EC%9C%BC%EB%A9%B4-%ED%95%98%EB%8A%94-%EA%B2%83%EB%93%A4-%EC%82%AC%EC%9D%B4%ED%8A%B8-da84e2d60f0f

출처: https://comoi.io/156 [코모스튜디오]

 

Gradle에서 이 에러가 나온다면 

Plugin with id 'com.android.application' not found.

 

build.gradle에

buildscript {

    repositories {

        jcenter() // or mavenCentral()

    }

 

    dependencies {

        classpath 'com.android.tools.build:gradle:1.5.0'

    }

}

 

를 추가 해주면 된다.

 

그래도 에러가 계속 난다면?

 

 

위 노랑이의 위치를 

 

apply plugin: "com.android.application"

바로 위로 옮기면 된다.



출처: https://comoi.io/156 [코모스튜디오]

출처: https://coding-factory.tistory.com/209

프로그램을 혼자 개발할려고 하면 힘들죠. 특히 개발을 하면서 디자인도 같이 병행해야 하는 어플리케이션을 만들어야 할 경우에는 더 그렇습니다. 기능보다 디자인이 더 암걸려요. 하지만 오픈소스를 사용하면 개발과 디자인을 쉽게 만들고 개발시간도 짧게 만들어줍니다. 소프트웨어가 꾸준히 발전하고 있는 이유는 바로 이런 오픈소스 덕이 아닐까요? 이번 포스팅에서는 제가 주로 사용하는 안드로이드 오픈소스 사이트에 대해서 알려드리고자 합니다.

 

오픈소스 라이브러리 

1. Android 개발자 포털

 

안드로이드 라이브러리 오픈소스 무료/유료/데모 버전이 있습니다. 오래된 사이트임에도 불구하고 최근까지도 계속 업데이트되고 있는 사이트입니다.

 

2. 초보 개발자를 위한 안드로이드 오픈소스 라이브러리 Best27

 

aedi님께서 정리해놓은 오픈소스들인데 굉장히 정리를 깔끔하게 해놓으셔서 들고왔습니다. 어플리케이션을 개발하면서 굉장히 유용하게 쓰일만한 기능들이 많이있습니다.

 

오픈소스 UI

1. Android UI OpenSource

 

각종 UI들이 있는 깃허브입니다. 움짤형식으로 보기좋게 나열되어있어 자신이 원하는 기능을 쉽게 찾을 수 있게 되어있더라구요. 제가 굉장히 선호하는 곳이기도 합니다.

 

2. 깃허브 UI 오픈소스 모음집

 

위의 리스트와 같이 각종 UI가 있는 깃허브 페이지입니다.

 

안드로이드 앱 프로젝트 오픈소스

1. 개발 기술을 향상시키는 20개 이상의 멋진 오픈 소스 Android 앱

 

안드로이드 어플리케이션을 만들때 참고할만한 어플리케이션들 모아놓은 사이트입니다. 프로그래밍을 공부하기에 있어 이론과 실기를 공부하는것보다 어쩌면 완성되어있는 프로젝트의 소스를 보는것이 더 도움이 될 때가 있습니다. 이 페이지에서는 프로젝트가 난이도별로 분류되어 있어 자신의 역량에 맞게 소스를 확인해볼 수 있게 되어있습니다.

 

출처:https://citynetc.tistory.com/221


안드로이드 스튜디오 업데이트 후 못보던 경고 메시지가 떴습니다.






Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.

It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html


Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'.

It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html


Configuration 'testApi' is obsolete and has been replaced with 'testImplementation'.

It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html


Configuration 'testCompile' is obsolete and has been replaced with 'testImplementation' and 'testApi'.

It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html



에러를 해석해보면 대부분 "더 이상 A는 구현되지 않으니 B를 사용해라"는 뜻입니다.


build.gradle(app)에서 그대로 해주면 됩니다.


저는 아래처럼 되어있네요.


dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})

//andorid
compile 'com.android.support:support-v4:24.2.0'
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.android.support:design:24.2.0'
testCompile 'junit:junit:4.12'
}



Configuration 'androidTestCompile' is obsolete and has been replaced with 'androidTestImplementation' and 'androidTestApi'.

It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html

=> androidTestCompile 를 androidTestImplementation로 바꾸어 줍니다.


Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.

It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html

=> compile을 implementation로 바꾸어 줍니다.


Configuration 'androidTestApi' is obsolete and has been replaced with 'androidTestImplementation'.

It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html

=> 두번째 에러를 해결하면 자연스럽게 해결되더군요..


Configuration 'testApi' is obsolete and has been replaced with 'testImplementation'.

It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html

=> 이것도 두번째 에러를 해결하면 자연스럽게 해결되더군요..


Configuration 'testCompile' is obsolete and has been replaced with 'testImplementation' and 'testApi'.

It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html

=> testCompile를 testImplementation로 바꾸어 줍니다.



dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})

//andorid
implementation 'com.android.support:support-v4:24.2.0'
implementation 'com.android.support:appcompat-v7:25.3.1'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.android.support:design:24.2.0'
testImplementation 'junit:junit:4.12'
}
짠~ 이렇게 설정후 Sync를 누르니 모든 에러가 없어졌습니다.

끝!



출처: https://citynetc.tistory.com/221 [cITy & ETC]

출처: https://software-creator.tistory.com/11

 

플러터를 빠르게 배우려면

어떻게 UI를 코드로 만드는지 알아야합니다.

다트를 공부하고 플러터를 배우는 것도 좋지만

플러터를 갖고 위젯을 조금씩 수정하고, 핫리로딩해보다가

모르는 게 나올 면 그때 다트를 찾아보는 게 효율적입니다.

제가 추천하는 학습 순서는 다음과 같습니다.

일단 위젯과 레이아웃의 사용법에 익숙해지고,

그 다음에 구글이 제공한 풍부한 예제를 분석해보고

실제 앱을 만들어보는 겁니다.

 

추천 사이트 학습 순서

1.코드랩 2.플러터 레이아웃 튜토리얼 문서 3.구글 플러터 예제 (갤러리) 분석 4.플러터 행성 만들기 튜토리얼 5.실제 제작

1. 코드랩- 첫 플러터 앱 만들기 1, 2

  • 구글 코드랩은 정말 설명이 깔끔한 편이고, 플러터 튜토리얼도 잘 되어 있습니다.

  • 배울 수 있는 것 : 첫 플러터앱 만들기, 위젯 개념 잡기, 리스트뷰 만들어보기, 버튼 클릭(Interactivity), 다른 페이지로 넘어가기 (Routing)

     

2. 플러터 레이아웃 튜토리얼 문서

  • 플러터도 위젯과 레이아웃의 종류가 다양한데요. 그 차이를 알아야 플러터를 자연스럽게 쓸 수 있죠. 이 문서를 보면 Row, Column, Expanded의 차이부터 시작해, 각종 레이아웃들(GridView, ListView, Stack )이 다 나와 있습니다. 무엇보다 예제 코드가 짧아서 바로 실행해 보기 좋죠.
  • 배울 수 있는 것 : 레이아웃에 대한 깊은 이해

 

3. 구글 예제 분석

  • 이런 게 있었나 싶은 위젯이나 기능들이 정말 많습니다. 꼭 폰에 넣어서 확인하면서 소스 분석해보세요.
  • 배울 수 있는 것 : 쿠퍼티노 디자인, 구글 표준 코드

 

4. 행성 정보 앱 만들기 (미디엄 글)

  • 5개의 포스트에 걸쳐 플러터의 기본 기능을 알려줍니다.
  • 디자인이 깔끔한데다가 2페이지로 구성된 앱이라 어떻게 페이지를 이동하는지 알 수 있습니다.
  • 배울 수 있는 것 : 이쁘게 레이아웃 잡기, Routing(페이지 이동), 애니메이션, 전반적인 복습

 

마무리

사실 여기까지 했으면 기본적으로 UI만드는 건 무리가 없습니다.

이제 제대로 앱을 만드려면 아래의 것들을 천천히 찾아보시면 되요.

  • 안드로이드, ios 네이티브 코드 쓰기
  • 웹에서 데이터 받아서 파싱하기
  • 각종 플러그인(로컬 데이터 베이스, 파이어베이스, 지도) 써보기
  • 위젯 깊이 알기 (렌더링 과정, inheritedWidget)

 

저도 이 글에서 소개한 글을 통해 플러터를 배웠고, 같은 순서로 튜토리얼을 만들어보려고 합니다~!

아, 그리고 전 유데미 플러터 과정은 좀 안 맞더군요. 별로 안 배웠는데 문제를 풀어야되서요.

 

영상으로 배우실 거면 유튜브 TensorProgramming도 좋습니다.

설명이 깔끔합니다.

세부적인 것도 다 풀어서 이야기해줍니다.

여기는 왜 async를 쓰고, isolate는 왜 쓰고, 왜 모델을 쓰는지 등 차근차근 말해주죠.

이해가 잘 됩니다. 단점은 영어란 거죠.

그래도 무료 영상 중에 이정도 퀄리티인 곳은 없습니다.

 

그럼 플러터 개발을 즐기실 수 있기를 바라며 글을 마치도록 하겠습니다.

flutter에서 생성한 폴더에 이동 후 실행 하면 정상적으로 실행된다. 

출처: https://pragp.tistory.com/entry/Mac-OS-X에서-루트-사용자su-활성화-및-사용 [Pragmatic Programming]

 

처음 맥에서 su 명령어를 사용하려고 패스워드를 입력하면 

su: Sorry

라고 나오면서 들어가 않습니다.

이는 비밀번호 초기 설정이 안되어있어서 나오는 것인데 이렇게 하면 설정할 수 있습니다.

'sudo -s' 를 치고 비밀번호를 입력해 bash-3.2# 을 들어갑니다. (경고창은 무시해도 괜찮습니다.)

그 후 'passwd root' 를 입력해서 root 의 비밀번호를 설정해 줍니다.

 

 

이제 su를 치고 설정된 비밀번호를 입려하면 루트 사용자로 들어갈 수 있습니다.



출처: https://pragp.tistory.com/entry/Mac-OS-X에서-루트-사용자su-활성화-및-사용 [Pragmatic Programming]

+ Recent posts