336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


MAC을 처음 사용하다보니,

뭐 하나 셋팅하기 힘들군요.^^ㅋ


1. MAC OS 사용자 계정 프로필 사진 변경 방법

 > 시스템 환경설정 > 사용자 및 그룹 패널을 열고 프로필 사진 란에 원하는 이미지 파일를 드랍다운으로 넣으면 됩니다.

(아래 사진은 캡쳐하기 귀찮아서 인터넷에서 찾은 캡쳐 이미지 입니다. 감사합니다)



블로그 이미지

차봉규

IT개발 공부하려고 만든 블로그 입니다^^ 부족한점 많더라고...도움 많이 부탁해요

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


1. UNIFYING 기술이란?

  • 로지텍 Unifying 수신기를 통하여, 여러 장치에 사용
  • 하나로 여러 장치 연결 : 하나의 초소형 수신기로 최대 6개의 Unifying 장치를 연결할 수 있습니다. 연결하기만 하면 한 대의 컴퓨터에 마우스 및 키보드를 추가로 연결할 수 있습니다.
  • 장치 연결 : 최대 6개의 Unifying 또는 Unifying 지원 장치를 하나의 수신기에 연결할 수 있습니다. Unifying 소프트웨어를 다운로드하여 하나의 수신기에 모든 장치를 빠르게 추가하십시오.


2. 소프트웨어 다운로드

https://support.logitech.com/ko_kr/software/unifying


블로그 이미지

차봉규

IT개발 공부하려고 만든 블로그 입니다^^ 부족한점 많더라고...도움 많이 부탁해요

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.


0. Error 메시지

SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.


1. 문제

Android Studio에서 github에서 다운받은 소스를 빌드할 때, Gradle이 SDK를 찾지 못한다는 의미이다.

.bash_profile 등을 다 확인을 해봐도 ANDROID_HOME 등이 잘 설정이 되었지만 계속 같은 증상 발생.ㅡ,.ㅡ

(만약 bash_profile 문제 및 설정이라면 인터넷에 많은 소스가 있으니 해결하면 된다)


2. 원인

인터넷을 장시간 뒤져보니, IntelliJ 버전업(13.0.3)이 되면서 local.properties을 기본적으로 작업하지않고

시스템 환경변수를 사용하게 변경되었다는 포스트를 발견하였다.

내 MAC 버전이 10.12.5에서 아래와 같이 환경설정을 하니 잘 동작을 하였습니다.

.bash_profile로 해결 안되시는 분들은 참고하세요.


3. 수정

아래 Command를 터미널에 직접 실행하시고 Android Studio를 재실행하시면 됩니다.


launchctl setenv ANDROID_HOME Users/(MY MAC USER NAME)/Library/Android/sdk
(SDK Path 입력)



출처 : 인터넷에서 검색하여 필요한 정보를 다양한 사이트에서 종합하여 작성된 것입니다. 많은 사이트 내용을 종합하여 공부하여 작성하다보니 일일이 나열하지 못하였습니다. ㅈㅅ(_ _) 이글은 자유롭게 퍼 가셔서 도움이 되었으면 좋겠습니다. 감사합니다.
 


블로그 이미지

차봉규

IT개발 공부하려고 만든 블로그 입니다^^ 부족한점 많더라고...도움 많이 부탁해요

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

인터넷을 찾아봐도 직적 Finder를 통해서 Android Studio App만 삭제하고 재설치를 하여도 설정 등 값이 초기화 되지 않는 문제가 있네요.

찾아본 결과, 

그냥 터미널을 통해서 아래 Command 를 순차적으로 입력하는 방법이 제일 간단합니다.

그렇게 되면, 완전 삭제가 가능하니 참고하세요.



rm -rf /Applications/Android\ Studio.app

rm -rf ~/Library/Preferences/AndroidStudio*

rm ~/Library/Preferences/com.google.android.studio.plist

rm -rf ~/Library/Application\ Support/AndroidStudio*

rm -rf ~/Library/Logs/AndroidStudio*

rm -rf ~/Library/Caches/AndroidStudio*

rm -rf ~/.android

rm -rf ~/Library/Android*

rm -rf ~/AndroidStudioProjects




출처 : 인터넷에서 검색하여 필요한 정보를 다양한 사이트에서 종합하여 작성된 것입니다. 많은 사이트 내용을 종합하여 공부하여 작성하다보니 일일이 나열하지 못하였습니다. ㅈㅅ(_ _) 이글은 자유롭게 퍼 가셔서 도움이 되었으면 좋겠습니다. 감사합니다.
 


블로그 이미지

차봉규

IT개발 공부하려고 만든 블로그 입니다^^ 부족한점 많더라고...도움 많이 부탁해요

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[목차]======================================================================

1. 안드로이드 스튜디오 사용시 Editor의 테마를 변경하고 싶을 때 유용한 사이트.

2. 안드로이드 스튜디오 적용 방법

===========================================================================



1. 안드로이드 스튜디오 사용시 Editor의 테마를 변경하고 싶을 때 유용한 사이트.

http://color-themes.com



2. 안드로이드 스튜디오 적용 방법

  • 위 사이트에서 원하는 테마의 라이브러리 파일을 다운로드
  • File -> Import Setting -> 다운받은 Jar파일 선택
  • File -> Setting -> Editor -> Colors & Fonts ->Scheme 에서 다운받은 테마를 선택 적용 or 자동 재시작 하면 반영이 됨



출처 : 인터넷에서 검색하여 필요한 정보를 다양한 사이트에서 종합하여 작성된 것입니다. 많은 사이트 내용을 종합하여 공부하여 작성하다보니 일일이 나열하지 못하였습니다. ㅈㅅ(_ _) 이글은 자유롭게 퍼 가셔서 도움이 되었으면 좋겠습니다. 감사합니다.
 





블로그 이미지

차봉규

IT개발 공부하려고 만든 블로그 입니다^^ 부족한점 많더라고...도움 많이 부탁해요

,
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

[목차]======================================================

1. Android ShineButton 소개

2. ShineButton 라이브러리 정보

  1) 라이브러리 다운로드 주소

  2) Installation and usage

  3) License

===========================================================


1. Android ShineButton 소개

버튼을 클릭하면 폭죽이 터지는 듯한 효과를 제공하는 라이브러리로 아래 그림 같은 효과를 제공한다.

This is a UI lib for Android. Effects like shining.

preview


2. ShineButton 라이브러리 정보

  1) 라이브러리 다운로드 주소

     https://github.com/ChadCSong/ShineButton 


  2) Installation and usage

    • Maven

    <dependency>

      <groupId>com.sackcentury</groupId>

      <artifactId>shinebutton</artifactId>

      <version>0.1.7</version>

      <type>aar</type>

    </dependency>

    • Gradle

    buildscript {

        repositories {

            mavenCentral()

        }

    }

    dependencies {

        compile 'com.sackcentury:shinebutton:0.1.7'

    }


    • Usage

     shineButton = (ShineButton) findViewById(R.id.shine_button);

     shineButton.init(activity);

    or

     ShineButton shineButtonJava = new ShineButton(this);

     shineButtonJava.setBtnColor(Color.GRAY);

     shineButtonJava.setBtnFillColor(Color.RED);

     shineButtonJava.setShapeResource(R.raw.heart);

     shineButtonJava.setAllowRandomColor(true);

     LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(100, 100);

     shineButtonJava.setLayoutParams(layoutParams);

     if (linearLayout != null) {

         linearLayout.addView(shineButtonJava);

     }


    • iOS lib fave-button Android implement. FaveButton was inspired by Twitter’s Like Heart Animation;

      3) License

    The MIT License (MIT)


    Copyright (c) 2016 Chad Song 


    Permission is hereby granted, free of charge, to any person obtaining a copy

    of this software and associated documentation files (the "Software"), to deal

    in the Software without restriction, including without limitation the rights

    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell

    copies of the Software, and to permit persons to whom the Software is

    furnished to do so, subject to the following conditions:


    The above copyright notice and this permission notice shall be included in all

    copies or substantial portions of the Software.


    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE

    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,

    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE

    SOFTWARE.






    출처 : 인터넷에서 검색하여 필요한 정보를 다양한 사이트에서 종합하여 작성된 것입니다. 많은 사이트 내용을 종합하여 공부하여 작성하다보니 일일이 나열하지 못하였습니다. ㅈㅅ(_ _) 이글은 자유롭게 퍼 가셔서 도움이 되었으면 좋겠습니다. 감사합니다. 

    블로그 이미지

    차봉규

    IT개발 공부하려고 만든 블로그 입니다^^ 부족한점 많더라고...도움 많이 부탁해요

    ,
    336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

    [목차]===========================================================

    1. android-flowlayout 소개

    2. android-flowlayout 라이브러리 정보

      1) 라이브러리 다운로드 주소

      2) Installation and usage

      3) Detailed parameters

      4) License

    ================================================================


    1. android-flowlayout 소개

    자바 GUI에는 FlowLayout이라는 유용한 레이아웃이 있는데, 안드로이드에는 없어서 만들어진 오픈소스입니다.

    UI를 배치하다가 공간이 부족한 경우, 줄바꿈하여 다음행에서 계속 UI를 배치하는 레이아웃임


    2. android-flowlayout 라이브러리 정보

      1) 라이브러리 다운로드 주소

         https://github.com/ApmeM/android-flowlayout 


      2) Installation and usage

    • Add it as dependency in Gradle as : compile 'org.apmem.tools:layouts:1.10@aar'
    • Or maven

        <dependency>

            <groupId>org.apmem.tools</groupId>

            <artifactId>layouts</artifactId>

            <version>1.10</version>

            <scope>provided</scope>

        </dependency>


    • Add the following xml code into your layout/something.xml:

    <org.apmem.tools.layouts.FlowLayout

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="fill_parent"

    android:layout_height="wrap_content"

    >

    </org.apmem.tools.layouts.FlowLayout>

    • Android gravity now supported (in combination with elements weight):

        f:weightDefault="1.0"

        android:gravity="fill"

    • To override default spacing between elements use default android margins in the child View element:

    android:layout_marginTop="32dip"

    android:layout_marginRight="32dip"

    • Also if you need to break line before some object even if there is enough space for it in the previous line - use the following LayoutParameter in the child view element:

    f:layout_newLine="true"


      3) Detailed parameters

    • android:orientation - line direction. Use one of the following values:


    * horizontal - line will be in horizontal direction, linebreak will create new line


    * vertical - line will be in vertical direction, linebreak will create new column


    •     android:gravity - standart android gravity supported
    • debugDraw - draw debug information
    • weightDefault - default weight value for child elements. Used to fill line in case of Gravity.FILL_HORIZONTAL | Gravity.FILL_VERTICAL
    • layoutDirection - direction of inner child elements:

                *  ltr - left to right direction


                *  rtl - right to left direction

    • android:layout_margin* - override default spacings
    • android:layout_gravity - standart aandroid gravity supported

        * layout_weight - weight of the element. If not specified "layout.defaultWight" is used.


    • layout_newLine - brake line before current element even if there is enough place in the current line.

      4) License

    Copyrights

    Copyright 2011, Artem Votincev (apmem.org)

    Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.



    출처 : 인터넷에서 검색하여 필요한 정보를 다양한 사이트에서 종합하여 작성된 것입니다. 많은 사이트 내용을 종합하여 공부하여 작성하다보니 일일이 나열하지 못하였습니다. ㅈㅅ(_ _) 이글은 자유롭게 퍼 가셔서 도움이 되었으면 좋겠습니다. 감사합니다.
     

    블로그 이미지

    차봉규

    IT개발 공부하려고 만든 블로그 입니다^^ 부족한점 많더라고...도움 많이 부탁해요

    ,
    336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

    [목차]======================================================

    1. Android 아이콘 뱃지 관련 라이브러리

      1) 오픈소스 주소

      2) 사용법
    2. Android 아이콘 뱃지 관련된 게시글 참고(주소 펴옴)

    ===========================================================


    1. Android 아이콘 뱃지 관련 라이브러리

      1) 오픈소스 주소

    https://github.com/leolin310148/ShortcutBadger


      2) 사용법

    • Add mavenCentral to your build script.
        repositories {
            mavenCentral()
        }
    • Add dependencies for ShortcutBadger, it's available from maven now.
        dependencies {
            compile "me.leolin:ShortcutBadger:1.1.16@aar"
        }
    • Add the codes below:
        int badgeCount = 1;
        ShortcutBadger.applyCount(context, badgeCount); //for 1.1.4+
        ShortcutBadger.with(getApplicationContext()).count(badgeCount); //for 1.1.3
    • If you want to remove the badge
        ShortcutBadger.removeCount(context); //for 1.1.4+
        ShortcutBadger.with(getApplicationContext()).remove();  //for 1.1.3
    or
        ShortcutBadger.applyCount(context, 0); //for 1.1.4+

        ShortcutBadger.with(getApplicationContext()).count(0); //for 1.1.3 



    2. Android 아이콘 뱃지 관련된 게시글 참고(주소 펴옴)

    [안드로이드 아이콘 뱃지 완전분해]

    =>  Android 아이콘 뱃지에 대한 분석 및 기본 개발에 대한 의견 참고

    https://medium.com/marojuns-android/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%95%84%EC%9D%B4%EC%BD%98-%EB%B1%83%EC%A7%80-%EC%99%84%EC%A0%84%EB%B6%84%ED%95%B4-c27028014e4d



    출처 : 인터넷에서 검색하여 필요한 정보를 다양한 사이트에서 종합하여 작성된 것입니다. 많은 사이트 내용을 종합하여 공부하여 작성하다보니 일일이 나열하지 못하였습니다. ㅈㅅ(_ _) 이글은 자유롭게 퍼 가셔서 도움이 되었으면 좋겠습니다. 감사합니다. 

    블로그 이미지

    차봉규

    IT개발 공부하려고 만든 블로그 입니다^^ 부족한점 많더라고...도움 많이 부탁해요

    ,
    336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

    MAC을 이제 시작하는 1인.. 다 좋은데 트랙패드와 마우스 스크롤 반전이라 너무 힘들다... 이 부분은 적응이 안됨.....ㅠㅠ


    역시 인터넷은 찾으면 다있음..ㅋㅋ

    (DownLoad Site : https://pilotmoon.com/scrollreverser/ )

    Scroll Reverser App을 설치하면 스크롤과 트랙패드의 방향을 자유 자재로 변경 가능함.^^ Good!!

    그런데.. 역시 좋은 앱을 만들어준 분들이 있더라는^^[바로가기]


    트랙패드와 마우스를 따로 설정할 수 있는 부분이 뜹니다^^ 감사..(_ _)



    출처: http://pinkwink.kr/993 [PinkWink]

    블로그 이미지

    차봉규

    IT개발 공부하려고 만든 블로그 입니다^^ 부족한점 많더라고...도움 많이 부탁해요

    ,
    336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

    [ButterKnife 목차]

    ====================================

    1. ButterKnife의 특징

    2. 사용법
    1) Gradle 파일 설정
    2) ButterKnife 라이브러리 bind

    3. 기능
    1) View를 담을 변수를 선언

    2) View Lists
    3) Listener Binding (onClickListener)
    4) Resource Binding
    5) Non-Activity Binding
    6) Binding Reset
    7) Adapter
    8) Multi-Method Listeners
    9) Optional Bindings
    10) ETC

    4. License

    ====================================

     


    1. ButterKnife의 특징

    1) 필드나 메소드를 안드로이드 뷰에 어노테이션(@)을 이용하여 편하게 접근할 수 있도록 도와주는 안드로이드 라이브러리

     => ButterKnife 공식 홈페이지 https://github.com/JakeWharton/butterknife

    2) 다수의 안드로이드 개발자들과 협업할때 View, Resource를 바인딩 하는 convention을 제공

     => 코드의 가독성 및 View ID 검색 및 효율성을 높여주는데 참 좋은것 같음

     

    ※ 자바 어노테이션(Annotation, @)이란?

    http://alltogetherwe.tistory.com/14

     

    2. 사용법

    1) Gradle 파일 설정

    build.gradle 파일을 열어 dependencies를 추가해주시면 라이브러리 추가

     

     dependencies {
        compile 'com.jakewharton:butterknife:7.0.1'
    }

     

    2) ButterKnife 라이브러리 bind

    onCreate메서드에서 setContentView(LayoutID);를 한 후에, 바인드를 해주어야 함

     Butternife.bind(this);

     

     

    3. 기능

    1) View를 담을 변수를 선언

    이때까지 귀찮게, findViewById(viewID)를 하는 것을 내부적으로 ButterKnife가 도와주게 됨

    @Bind(R.id.tv_info) TextView tv_info;

    @Bind(R.id.btn_method) Button btn_method;

    @Bind(R.id.btn_listener) Button btn_listener;

    @Bind(R.id.btn_implements) Button btn_implements;

     

     class ExampleActivity extends Activity {
     
    @BindView(R.id.title) TextView title;
     
    @BindView(R.id.subtitle) TextView subtitle;
     
    @BindView(R.id.footer) TextView footer;

     
    @Override public void onCreate(Bundle savedInstanceState) {
       
    super.onCreate(savedInstanceState);
        setContentView
    (R.layout.simple_activity);
       
    ButterKnife.bind(this);
       
    // TODO Use fields...
     
    }
    }

     

    2) View Lists

    여러 View를 (예제에서는 EditText) List로 관리하는 예제입니다. View들을 List에 담아 놓고 ButterKnife.apply()함수로 속성값을 일괄 적용하는 모습을 보여주고 있는데요 DISABLE, ENABLED와 같은 interface가 어떻게 되어 있는지 구현부 까지 보여주고 있습니다.

     // You can group multiple views into a List or array.

    @BindViews({ R.id.first_name, R.id.middle_name, R.id.last_name })

    List<EditText> nameViews;


    // The apply method allows you to act on all the views in a list at once.

    ButterKnife.apply(nameViews, DISABLE);

    ButterKnife.apply(nameViews, ENABLED, false);


    // Action and Setter interfaces allow specifying simple behavior.

    static final ButterKnife.Action<View> DISABLE = new ButterKnife.Action<View>() {

        @Override 

        public void apply(View view, int index) {

            view.setEnabled(false);

        }

    };

    static final ButterKnife.Setter<View, Boolean> ENABLED = new ButterKnife.Setter<View, Boolean>() {

        @Override 

        public void set(View view, Boolean value, int index) {

            view.setEnabled(value);

        }

    };


    // An Android Property can also be used with the apply method.

    ButterKnife.apply(nameViews, View.ALPHA, 0.0f);



    3) Listener Binding (onClickListener)

    @OnClick(R.id.btn_method)

    void methodButtonClick() {

    }

     

    @OnClick(R.id.btn_listener)

    void listenerButtonClick() {

    }

     

    @OnClick(R.id.btn_implements)

    void implementsButtonClick() {

    }

     

     

     @OnClick({R.id.btn_method, R.id.btn_listener, R.id.btn_implements})

    void buttonEvents(View v) {

     //이벤트를 처리할 로직...

    }

     

    4) Resource Binding

    Bind pre-defined resources with @BindBool, @BindColor, @BindDimen, @BindDrawable, @BindInt, @BindString, which binds an R.bool ID (or your specified type) to its corresponding field.

     class ExampleActivity extends Activity {
     
    @BindString(R.string.title) String title;
     
    @BindDrawable(R.drawable.graphic) Drawable graphic;
     
    @BindColor(R.color.red) int red; // int or ColorStateList field
     
    @BindDimen(R.dimen.spacer) Float spacer; // int (for pixel size) or float (for exact value) field
     
    // ...
    }

     

    5) Non-Activity Binding

    You can also perform binding on arbitrary objects by supplying your own view root.

     public class FancyFragment extends Fragment {
     
    @BindView(R.id.button1) Button button1;
     
    @BindView(R.id.button2) Button button2;

     
    @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
       
    View view = inflater.inflate(R.layout.fancy_fragment, container, false);
       
    ButterKnife.bind(this, view);
       
    // TODO Use fields...
       
    return view;
     
    }
    }

     

    6) Binding Reset

    Fragments have a different view lifecycle than activities. When binding a fragment in onCreateView, set the views to null in onDestroyView. Butter Knife returns an Unbinder instance when you call bind to do this for you. Call its unbind method in the appropriate lifecycle callback

     public class FancyFragment extends Fragment {
     
    @BindView(R.id.button1) Button button1;
     
    @BindView(R.id.button2) Button button2;
     
    private Unbinder unbinder;

     
    @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
       
    View view = inflater.inflate(R.layout.fancy_fragment, container, false);
        unbinder
    = ButterKnife.bind(this, view);
       
    // TODO Use fields...
       
    return view;
     
    }

     
    @Override public void onDestroyView() {
       
    super.onDestroyView();
        unbinder
    .unbind();
     
    }
    }

     

    7) Adapter

    Another use is simplifying the view holder pattern inside of a list adapter

     

    public class MyAdapter extends BaseAdapter {
     
    @Override

      public View getView(int position, View view, ViewGroup parent) {
       
    ViewHolder holder;
       
    if (view != null) {
          holder
    = (ViewHolder) view.getTag();
       
    } else {
          view
    = inflater.inflate(R.layout.whatever, parent, false);
          holder
    = new ViewHolder(view);
          view
    .setTag(holder);
       
    }

        holder
    .name.setText("John Doe");
       
    // etc...

       
    return view;
     
    }

     
    static class ViewHolder {
       
    @BindView(R.id.title) TextView name;
       
    @BindView(R.id.job_title) TextView jobTitle;

       
    public ViewHolder(View view) {
         
    ButterKnife.bind(this, view);
       
    }
     
    }
    }

     

    8) Multi-Method Listeners

    Method annotations whose corresponding listener has multiple callbacks can be used to bind to any one of them. Each annotation has a default callback that it binds to. Specify an alternate using the callback parameter.

     @OnItemSelected(R.id.list_view)
    void onItemSelected(int position) {
     
    // TODO ...
    }

    @OnItemSelected(value = R.id.maybe_missing, callback = NOTHING_SELECTED)
    void onNothingSelected() {
     
    // TODO ...
    }

     

    9) Optional Bindings

     

    @Nullable 

    @BindView(R.id.might_not_be_there) TextView mightNotBeThere;

    @Optional 

    @OnClick(R.id.maybe_missing) void onMaybeMissingClicked() {
     
    // TODO ...
    }

     

    10) ETC

    Also included are findById methods which simplify code that still has to find views on a View, Activity, or Dialog. It uses generics to infer the return type and automatically performs the cast.

    View view = LayoutInflater.from(context).inflate(R.layout.thing, null);
    TextView firstName = ButterKnife.findById(view, R.id.first_name);
    TextView lastName = ButterKnife.findById(view, R.id.last_name);
    ImageView photo = ButterKnife.findById(view, R.id.photo);

     

    Add a static import for ButterKnife.findById and enjoy even more fun.

     

    4. License

    Copyright 2013 Jake Wharton

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.

     

     

     

     

     

     

    출처 : 인터넷에서 RxAndroid 검색하여 필요한 정보를 다양한 사이트에서 종합하여 작성된 것입니다. 많은 사이트 내용을 종합하여 공부하여 작성하다보니 일일이 나열하지 못하였습니다. ㅈㅅ(_ _) 이글은 자유롭게 퍼 가셔서 도움이 되었으면 좋겠습니다. 감사합니다. 

    블로그 이미지

    차봉규

    IT개발 공부하려고 만든 블로그 입니다^^ 부족한점 많더라고...도움 많이 부탁해요

    ,