Android 빠른 점프 도구
자동 페이지
버전 번호 v1.0.2
Kotlin 및 Java를 지원하는 빠른 점프 도구
코드 주소: Version number v1.0.2
문서 주소: Version number v1.0.2
중국어 문서 주소: 中文文档地址 版本 v1.0.2
버전 번호 v1.0.8
업데이트 콘텐츠: (kotlin용으로 특별히 설계된 빠른 점프 도구. 프로젝트가 Java 언어만 지원하는 경우 이 버전을 사용하지 마세요.)
자동 페이지 v1.0.8
괜찮다고 생각하시면 별점 드려요
Android 활동 쉬운 점프
中文说明
日本語
액티비티 또는 프래그먼트가 값을 전달하기 위해 점프할 때마다 매개변수 전달에 지쳤습니까?
데이터가 너무 많으면 좋은 디자인이라도 코드가 형편없게 됩니다. 그래서 오늘은 도구를 추천합니다
원래 점프와 비교
비교:
Intenti=new Intent(this,MainActivity.class);
startActivity(i);
대
ApMainActivity.newInstance().start(this)
//send
Intenti=new Intent(this,MainActivity.class);
Bundle bundle = new Bundle();
bundle.putInt("message", "123");
i.putExtra("Bundle", bundle);
startActivity(i);
//back
String s=bundle.getString("message","");
대
//send
ApMainActivity.newInstance().apply {
message = "123"
} .start(this)
//back
AutoJ.inject(this);
소포 발송
//send
ApAllDataActivity.newInstance().apply {
message = "123"
myData = MyData("hfafas",true,21)
} .start(this)
//back
AutoJ.inject(this);
자동 페이지
Android 활동 쉬운 점프
~ 해야 하다
지원 전송 유형
번들에서 지원하는 모든 기본 유형(ShortArray 제외)
다음 유형이 모두 지원됩니다. 유형이 다음이 아닌 경우 kapt 오류가 보고될 수 있습니다.
:Parcelable
String
Long
Int
Boolean
Char
Byte
Float
Double
Short
CharSequence
CharArray
IntArray
LongArray
BooleanArray
DoubleArray
FloatArray
ByteArray
ArrayList<Int>
ArrayList<String>
ArrayList<CharSequence>
ArrayList<:Parcelable>
Array<:Parcelable>
###사용
5월 1일 이후 jcenter 서비스가 종료되므로 프로젝트는 jitpack으로 마이그레이션되며 동시에 버전 번호는 1.0.8로 변경됩니다.
프로젝트 : build.gradle
buildscript {
repositories {
maven { url 'https://www.jitpack.io' }
}
구성
당신의 모듈
코 틀린 캡
프로젝트에서 @Parcelize 주석을 지원해야 합니다. 즉, 'kotlin Android extensions' 애플리케이션 플러그인을 추가해야 합니다.
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
androidExtensions {
experimental = true
}
}
kapt com.github.smartbackme.AutoPage:autopage-processor:1.0.8
implementation com.github.smartbackme.AutoPage:autopage:1.0.8
가리키다
:Parcelable
String
Long
Int
Boolean
Char
Byte
Float
Double
Short
CharSequence
CharArray
IntArray
LongArray
BooleanArray
DoubleArray
FloatArray
ByteArray
ArrayList<Int>
ArrayList<String>
ArrayList<CharSequence>
ArrayList<:Parcelable>
Array<:Parcelable>
buildscript {
repositories {
maven { url 'https://www.jitpack.io' }
}
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
android {
androidExtensions {
experimental = true
}
}
kapt com.github.smartbackme.AutoPage:autopage-processor:1.0.8
implementation com.github.smartbackme.AutoPage:autopage:1.0.8
코틀린:
자바:
###활동 사용
예시 1
간단한 활동으로 이동
@AutoPage
class SimpleJump1Activity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_simple_jump1)
}
}
그 다음에
ApSimpleJump1Activity.newInstance().start(this)
예 2
활동 및 메시지로의 간단한 이동
class MainActivity2 : AppCompatActivity() {
@AutoPage
@JvmField
var message:String? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main2)
AutoJ.inject(this)
findViewById<TextView>(R.id.text).text = message
}
}
그 다음에
ApMainActivity2.newInstance().apply {
message = "123"
} .start(this)
예 3:
활동 및 결과로 이동
@AutoPage
class SimpleJumpResultActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_simple_jump_result)
}
override fun onBackPressed() {
var intent = Intent()
intent.putExtra("message","123")
setResult(RESULT_OK,intent)
super.onBackPressed()
}
}
그 다음에
ApSimpleJumpResultActivity.newInstance().apply {
requestCode = 1
}.start(this)
예 4:
소포 가능
포조
'''
@파셀라이즈
데이터 클래스 MyData(var message:String,var hehehe: Boolean,var temp :Int):Parcelable
'''
class AllDataActivity : AppCompatActivity() {
@AutoPage
@JvmField
var myData:MyData? = null
@AutoPage
@JvmField
var message:String? = "this is default value"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_all_data)
AutoJ.inject(this)
Toast.makeText(this,myData?.toString()+message,Toast.LENGTH_LONG).show()
}
}
그 다음에
ApAllDataActivity.newInstance().apply {
message = "123"
myData = MyData("hfafas",true,21)
예 5:
기본값
class DefaultValueActivity : AppCompatActivity() {
@AutoPage
@JvmField
var message:String? = "this is default value"
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_default_value)
AutoJ.inject(this)
// var args = intent.getParcelableExtra<ArgsData>("123")
findViewById<Button>(R.id.button6).text = message
}
}
그 다음에
ApDefaultValueActivity.newInstance().apply {
} .start(this)
###Fragment 사용
class FragmentSimpleFragment : Fragment() {
@AutoPage
@JvmField
var message:String? = null
companion object {
fun newInstance() = FragmentSimpleFragment()
}
private lateinit var viewModel: SimpleViewModel
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View {
return inflater.inflate(R.layout.simple_fragment, container, false)
}
override fun onActivityCreated(savedInstanceState: Bundle?) {
super.onActivityCreated(savedInstanceState)
AutoJ.inject(this)
viewModel = ViewModelProvider(this).get(SimpleViewModel::class.java)
view?.findViewById<TextView>(R.id.message)?.text = message
}
}
그 다음에
ApFragmentSimpleFragment.newInstance().apply {
message = "123"
}.build()
문서
기다리다...
특허
MIT License
Copyright (c) 2021 zhonghua
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.
Reference
이 문제에 관하여(Android 빠른 점프 도구), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/smartbackme/android-fast-jump-tool-62j
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
MIT License
Copyright (c) 2021 zhonghua
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.
Reference
이 문제에 관하여(Android 빠른 점프 도구), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/smartbackme/android-fast-jump-tool-62j텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)