posted by 생존본능 2015.05.04 14:49
크리에이티브 커먼즈 라이선스
Creative Commons License


 androidannotations 에서 많이 사용되는것 위주로 정리해 두겠습니다.





 1. @EActivity


 안드로이드에서 가장 많이 사용되는 어노텐션입니다.


 androidannotations 을 사용하는 activity를 명령하는 어노텐션 입니다.


@EActivity

public class MainActivity extends Activity {


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }

}


 위와 같이 명명 하시면 됩니다.


 또한 layout과 같이 사용하시려면 


 

@EActivity( R.layout.activity_main )

public class MainActivity extends Activity {


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }

}



 내용 처럼 @EActivity( R.layout.activity_main ) 으로 사용 하시면 됩니다.


 이렇게 적용하신 다음에


 mainifests에서 activity 명을 activity_ 으로 수정해주시면 됩니다.




 변경해 주시면 오류가 뜨는데 이때 Build > rebuild project 하시면 오류가 사라집니다.



 rebuild project를 하시면 보이지는 않지만 androidannotations에서 자동으로


 "activity_" 라는 클래스를 생성하기때문에 정상적으로 표시되는 것을 확인하실수있습니다.


 




 2. @AfterViews


@AfterViews는 view에 대한 모든 내용이 완료된 이후에 호출됩니다.



@EActivity( R.layout.activity_main )

public class MainActivity extends ActionBarActivity {



    @AfterViews

    protected void init()

    {

    }

}



 위 처럼 사용하시면 됩니다.


 주의 하실점은 androidannotations에서 MainActivity_라는 클래스를 생성하여


 MainActivity에 접근하기때문에 private를 사용할경우 오류가 발생합니다.


 public 또는 protected 만 사용이 가능합니다.





 3, @ViewById


 @ViewById는 안드로이드에서 사용했던 findViewById의 절차를 간소한 어노텐션입니다.


protected TextView tvMain;


    @Override

    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {

        super.onCreate(savedInstanceState, persistentState);

        tvMain = (TextView) findViewById( R.id.tvMain );

    }



 처럼 사용했던 기존에 방식에서 @ViewById를 사용함으로써 간소화 하는 방식입니다.



 사용법은


     @ViewById

    protected TextView tvMain;


 처럼 사용하시면 됩니다. 위처럼 사용하시면 R.id.tvMain 이란 객체를 찾아 tvMain 변수에 넣어줍니다.



    @ViewById ( R.id.tvMain )

    protected TextView tvMain;



 또한 위처럼도 사용이 가능합니다.




 4. @Click

 

 기존에 사용하던 버튼을 사용하던 방식에서 크게 간소화 되었습니다.


protected TextView tvMain;


    @Override

    public void onCreate(Bundle savedInstanceState, PersistableBundle persistentState) {

        super.onCreate(savedInstanceState, persistentState);

        tvMain = (TextView) findViewById( R.id.tvMain );

        tvMain.setOnClickListener( new View.OnClickListener(){

            @Override

            public void onClick(View v) {

                Log.i(TAG , "tvMainClick");

            }

        });

    }


 

 사용 방식은

 

@Click( R.id.tvMain )

    protected void tvMainClick()

    {

        Log.i(TAG , "tvMainClick");

    }


 입니다. 기존에 사용할때, 아이디 지정및 객체 생성등의 필요없는


 내용이 사라짐으로써 코드량이 확 주는 것을 확인 하실수 있습니다.



저작자 표시
신고
posted by 생존본능 2015.05.04 14:23
크리에이티브 커먼즈 라이선스
Creative Commons License



 안드로이드 스튜디오( Android Studio )에다가 androidannotations 적용하기가 여간 까다롭네요.


 이전에 올라왔던 글들을 보면 업데이트가 되서 그런지 않되는 경우가 많이 있구요,


 그래서 최신버전으로 다시 적용 방법을 보겠습니다.


 이글은 2015-05-04일에 작성되었습니다.


 

 우선 프로젝트를 생성한 이후 Gradle Scripts를 확인해 보시면 build에 관련하여


 두개의 gradle을 확인 하실 수있습니다.




 두개의 gradle중 Module: app 을 선택하여 진입합니다.



 


 프로젝트 생성시 기본적인 셋팅이 되어있는 것을 확인 하실수 있습니다.


 우리는 androidannotations를 셋팅하기위해서 gradle 의 내용을 바꾸어 줘야 합니다.


 


buildscript {

    repositories {

        mavenCentral()

    }

    dependencies {

        // replace with the current version of the Android plugin

        classpath 'com.android.tools.build:gradle:1.0+' // 버전에 맞게 변경.

        // the latest version of the android-apt plugin

        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'

    }

}


repositories {

    mavenCentral()

    mavenLocal()

}


apply plugin: 'android'

apply plugin: 'android-apt'

def AAVersion = '3.3' // 현재 최신버전 3.3으로 되어있으나 버전에 따라 변경.


dependencies {

    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:appcompat-v7:22.0.0'

    apt "org.androidannotations:androidannotations:$AAVersion"

    compile "org.androidannotations:androidannotations-api:$AAVersion"

    compile 'org.androidannotations:androidannotations:3.3'

}


apt {

    arguments {

        androidManifestFile variant.outputs[0].processResources.manifestFile

        resourcePackageName '[현재 프로젝트의 패키지]'

    }

}


android {

    compileSdkVersion 21

    buildToolsVersion '22.0.1'


    defaultConfig {

        applicationId "[현재 프로젝트의 패키지]"

        minSdkVersion 9

        targetSdkVersion 21

        versionCode 1

        versionName "1.0"

    }


    buildTypes {

        release {

            minifyEnabled false

            proguardFiles getDefaultProguardFile('proguard-android.txt'),

                    'proguard-rules.txt'

        }

    }


    packagingOptions {

        exclude 'META-INF/ASL2.0'

        exclude 'META-INF/LICENSE'

        exclude 'META-INF/license.txt'

        exclude 'META-INF/NOTICE'

        exclude 'META-INF/notice.txt'

    }


    sourceSets {

        main {

//            manifest.srcFile 'src/main/AndroidManifest.xml'

//            java.srcDirs = ['src/main/java']

//            resources.srcDirs = ['src/main/resources']

//            res.srcDirs = ['src/main/res']

//            assets.srcDirs = ['src/main/assets']

        }

    }




위에 내용으로 바꾸어 줍니다.


 버전에 맞게 내용을 변경 하시면 됩니다.


 그리고 [현재 프로젝트의 패키지]를 자신의 프로젝트에 맞게 변경하시면 됩니다.


 제가 사용하는 패키지는 "tc.wo.mbseo.applyandroidannotations" 이기 때문에 맞게 변경합니다.



apt {

    arguments {

        androidManifestFile variant.outputs[0].processResources.manifestFile

        resourcePackageName 'tc.wo.mbseo.applyandroidannotations'

    }

}



defaultConfig {

        applicationId "tc.wo.mbseo.applyandroidannotations"

        minSdkVersion 9

        targetSdkVersion 21

        versionCode 1

        versionName "1.0"

    }

 


 

 저장한 이후 rebuild project 합니다.

 




 이제 실행하시면 됩니다.






 위와 같이 나오면 정상적으로 적용된것입니다.




저작자 표시
신고
posted by 생존본능 2015.04.07 18:41
크리에이티브 커먼즈 라이선스
Creative Commons License


우선 안드로이드 스튜디오에 androidAnnotations적용하기



위에 내용대로 진행하다 보면 아래 오류가 발생.




Error:(46, 0) Gradle DSL method not found: 'runProguard()' Possible causes:


내용을 찾아보니, 


build.gradle에서 내용중에 runProguard내용을 바꿔주면 됩니다.

buildTypes {
        release {
            runProguard false 
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }




buildTypes {
        release {
            minifyEnabled false //내용 수정
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }


저작자 표시
신고
posted by 생존본능 2015.02.10 14:08
크리에이티브 커먼즈 라이선스
Creative Commons License




안드로이드 스튜디오(Android Studio) 에서는 모듈( Module ) 을 그냥 delete로 삭제할수 없습니다.


삭제하기 위해서는 프로젝트에서 선택되어있는 프로젝트를 삭제하는 아래의 과정을 거쳐야 합니다.


 

 File - Project Structure - Modules 에서 삭제하고 싶은 모듈( Module ) 선택하고 좌측상단 


 ( - ) 버튼을 누른후 ok 버튼을 누르시면 됩니다.


 그러면 프로젝트에서 삭제됩니다.


 이후 파일 자체를 삭제하기 위해서는 안드로이드 스튜디오(Android Studio) 에서 좌측 상단


 android 로 선택되어있는것을 project로 변경하시면 파일 트리가 패키지에서


 폴더형태로 변경되어 거기서 샂게하고 싶으신 Module 을 삭제하시면 됩니다.

저작자 표시
신고
posted by 생존본능 2015.01.30 14:47
크리에이티브 커먼즈 라이선스
Creative Commons License


개발 환경 잡은 이후 가장 먼저 하는 폰트 변경 방법 공유합니다.






 안드로이드 스튜디오 안드로이드 스튜디오(android Studio)에서 폰트를 변경하기 위해서는,

 File-Settings 을 선택합니다.






 창이 뜨면 왼쪽 메뉴에서 Editor를 선택하여 하위창을 열고, Colors&Font를 선택합니다.







 이후 Scheme를 추가하여야 하므로 save as를 눌러 scheme를 추가합니다.






schmem를 선택한이후 폰트를 선택하여줍니다.




  File-Settings-Editor-Colors&Font- Scheme save as..- font



저작자 표시
신고
posted by 생존본능 2015.01.30 14:38
크리에이티브 커먼즈 라이선스
Creative Commons License



 eclipse에서 자주사용하는 자동 import (ctrl+shift+o)기능을 android stuido에서 조금더 편하게

자동으로 생성 관리를 해주는 방법이 있어 공유합니다.


android studio 에서  File -> Settings -> Editor -> Auto Import -> Java


으로 이동한 이후에,


Insert imports on paste 에 있는 값을 All 로 변경


Add unambigious imports on the fly 를 체크




단축키를 누를 필요없이 자동으로 사용하는 클래스가 없으면 import에서 삭제되고 추가됩니다.



http://stackoverflow.com/questions/16615038/what-is-the-shortcut-to-auto-import-all-in-android-studio



저작자 표시
신고
posted by 생존본능 2015.01.16 10:41
크리에이티브 커먼즈 라이선스
Creative Commons License


ADT 개발이 중단되고 안드로이드 스튜디오 android studio로 옮겨야 하는 상황에서 


 이번에 실행해보고 이것저것 하는데 이래저래 걸리는 부분이 많이있네요.ㅠ


 그러다 화면에 거슬리는 선이 있어서 없애려고하는데 없애지지도 않아


 한참을 찾은것같습니다.





 방법은


 File -> settings -> editor -> appearance -> show right margin 을 체크 해제하시면 됩니다.



출처 : 

 http://stackoverflow.com/questions/3480826/adding-a-column-guideline-to-the-editor-in-intellij

저작자 표시
신고

티스토리 툴바