안드로이드 스튜디오( 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 합니다.

 




 이제 실행하시면 됩니다.






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






 


<a.php>

<?php

echo '감자';

?>



a.php라는 php 파일을 불러오기위해서는 include 라는 명령문을


 쓰신후 뒤에 경로를 입력하시면 됩니다.


include '[파일경로]'



<b.php>

<?php

include 'a.php';

echo '고구마';

?>



이후에 localhost/b.php 를 호출하시면 화면상에


 감자고구마


 라고 쓰여지는 페이지가 뜨는 것을 확인 하실수 있습니다.

http://sqlitebrowser.org/






사이트로 이동하여 os에 맞는 파일을 다운로드 이후 설치합니다.




 


open Database를 선택한 이후 [파일명].db 파일을 선택합니다.





 Browse Data 탭을 선택하시면 db를 확인하실수 있습니다.




 테이블을 선택하시면 만들어져있는 테이블을 확인하실수 있습니다.




 안드로이드 스튜디오에서 타겟에있는 DB 확인하는 방법.


 



아이콘 클릭.





DB 내용을 확인할 타겟을 지정합니다.








이후 File Explorer 를 선택하여 타겟 내부정보를 확인합니다.



경로 data/data/[어플리케이션 패키지]/databases/[지정한 db명].db 선택






db 파일을 선택하여 db 내용을 로컬로 가져와서 확인하시면 됩니다.


db 파일을 확인하는 방법이 궁금하시면,


sqlite database browse사용하기 



으로 가시면 됩니다.






build.gradle 파일 수정





buildscript {

    repositories {

        mavenCentral()

    }

    dependencies {

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

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

    }

}


repositories {

    mavenCentral()

    mavenLocal()

}


apply plugin: 'com.android.application'



dependencies {

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

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

    compile 'org.springframework.android:spring-android-rest-template:1.0.1.RELEASE'

}


apt {

    arguments {

        androidManifestFile variant.outputs[0].processResources.manifestFile

        resourcePackageName 'tc.wo.mbseo.springtest'

    }

}


android {

    compileSdkVersion 21

    buildToolsVersion "22.0.1"


    defaultConfig {

        applicationId "tc.wo.mbseo.springtest"

        minSdkVersion 9

        targetSdkVersion 21

        versionCode 2

        versionName "1.1"

    }


    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'

    }

Structure

    sourceSets {

        main {

        }

    }

}



 이후 Build -> Rebuild Project 




Idpi , mdpi , hdpi , xhdpi 의 해상도별 사이즈

  • ldpi: 200x320
  • mdpi: 320x480
  • hdp: 480x800
  • xhdpi: 720x1280
  • ldpi landscape
  • mdpi landscape
  • hdp landscape
  • xhdpi landscape


출처 : http://blog.iolo.kr/archive/201401



Idpi , mdpi , hdpi , xhdpi 의 해상도별 비율.




ldpi | mdpi | hdpi | xhdpi | xxhdpi | xxxhdpi
0.75 | 1    | 1.5  | 2     | 3      | 4


출처 : http://developer.android.com/guide/practices/screens_support.html


 

Resizer_1.3.1.exe



 

 안드로이드를 해상도별로 대응하다보면 하나의 이미지를 다른 해상도에 맞게 변환하여


 mdpi , Idpi , hdpi xhdpi xxhdpi 등의 사이즈로 변하여 넣어주게 되는데,


 이미지를 하나하나 작업하다보면 시간이 너무 오래 걸리기 마련이죠,


 그래서 괜찮은 툴이 있어 소개해드립니다.


 





9Patch Resizer 인데요, 사용법은 간단합니다.


이미지를 작업할때 기준이 된 사이즈를 Input density에 선택한후


내가 필요한 사이즈를 체크하시면 됩니다.






이후에 drag하여 하나의파일 또는 선택된 여러 파일을 Drop xhdpi image here에 가져다 놓으면 됩니다.


그러면, 모든 작업은 완료됩니다.






이제 이미지를 붙여 넣으시면 됩니다.






Error:(1) Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCompat.Light.DarkActionBar'.





build.gradle (Module: app) 에서 dependencies 값에 


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

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


값 추가하면 정상 동작합니다.


dependencies {

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

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

}




우선 안드로이드 스튜디오에 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'
        }
    }



geter or seter : 단축키 Alt + Insrt -> geter and seter


오버라이딩 (Override) : 단축키 Alt + Insert -> Override method

+ Recent posts