Proteus는 Android의 LayoutInflater
즉시 대체할 수 있도록 만들어졌습니다. 그러나 APK에 번들로 포함된 컴파일된 XML 레이아웃과 달리 Proteus는 런타임에 레이아웃을 확장합니다. Proteus를 사용하면 백엔드에서 앱 레이아웃을 제어할 수 있습니다(WebView 없음). findViewById
에 대한 상용구 코드를 잊어버리고 이를 TextView
로 캐스팅한 다음 setText()
로 변환합니다. Proteus에는 런타임 데이터 바인딩과 포맷터가 있습니다. 당신의 요구 사항에 맞게 Proteus를 맛보기 위해 당신만의 커스텀 뷰와 속성, 기능을 플러그인하세요.
// Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
google ( )
jcenter ( )
maven { url 'https://jitpack.io' }
}
}
// Add in your app level dependency
dependencies {
implementation 'com.github.flipkart-incubator.proteus:proteus-core:5.0.1'
implementation 'com.github.flipkart-incubator.proteus:gson-adapter:5.0.1'
implementation 'com.github.flipkart-incubator.proteus:cardview-v7:5.0.1'
implementation 'com.github.flipkart-incubator.proteus:design:5.0.1'
implementation 'com.github.flipkart-incubator.proteus:recyclerview-v7:5.0.1'
implementation 'com.github.flipkart-incubator.proteus:support-v4:5.0.1'
}
XML
로 레이아웃을 작성하는 대신 proteus 레이아웃은 런타임에 기본 Android UI를 확장하는 데 사용할 수 있는 JSON
으로 설명됩니다. JSON
레이아웃은 어디에서나(장치, 서버 등) 호스팅될 수 있습니다.
레이아웃은 XML과 마찬가지로 뷰 계층 구조를 정의합니다.
데이터 (선택 사항)는 데이터 바인딩을 정의합니다. 이러한 데이터 바인딩은 Android의 데이터 바인딩 라이브러리와 유사합니다.
ProteusLayoutInflater
에 layout
과 data
제공하고 기본 뷰 계층 구조를 다시 가져옵니다.
이 비디오를 시청하여 실제로 작동하는 모습을 확인하세요.
{
"type" : "LinearLayout" ,
"orientation" : "vertical" ,
"padding" : "16dp" ,
"children" : [ {
"layout_width" : "200dp" ,
"gravity" : "center" ,
"type" : "TextView" ,
"text" : "@{user.profile.name}"
} , {
"type" : "HorizontalProgressBar" ,
"layout_width" : "200dp" ,
"layout_marginTop" : "8dp" ,
"max" : 6000 ,
"progress" : "@{user.profile.experience}"
} ]
}
{
"user" : {
"profile" : {
"name" : "John Doe" ,
"experience" : 4192
}
}
}
ProteusView view = proteusLayoutInflater . inflate (< layout >, < data >);
container . addView ( view . getAsView ());
데모 앱을 사용하면 Proteus를 가지고 놀 수 있을 뿐만 아니라 내부를 더 잘 이해하는 데 도움이 됩니다.
npm start
실행땜질 준비
기여하는 가장 쉬운 방법은 리포지토리를 포크하고 변경하고 풀 요청을 생성하는 것입니다.
아파치 v2.0
프로테우스를 사용하는 경우 캔, 할 수 없음, 필수 항목을 확인하세요.
여기에서 기여자를 확인할 수 있지만, 저희에게 연락하고 싶다면; 그냥 메일로 보내세요.
Proteus의 StackOverflow에서 우리를 찾아보세요.
Android Studio용 플러그인(베타)을 다운로드하세요. 활성화되면 Android XML 리소스 파일을 선택하고 도구 > Proteus > XML을 JSON으로 변환 으로 이동할 수 있습니다.