BaseMVP
a mvp frame page base for android app.
Install / Use
/learn @jiajunhui/BaseMVPREADME
简介
该项目是基于MVP封装的页面基类,包含了页面的状态管理。使用kotlin编写。
示例
Activity
class MainActivity : BaseAppActivity<MainPresenter, IMainPresenter.IMainView>(),IMainPresenter.IMainView {
private var mPresenter:MainPresenter?=null
//...
override fun onInitViews() {
}
override fun getPresenterFactory(): PresenterFactory<MainPresenter> {
return MainPresenterFactory()
}
override fun onPresenterPrepared(presenter: MainPresenter) {
mPresenter = presenter
}
override fun onInitData() {
mPresenter?.loadData()
}
override fun onSuccess() {
switchScreenFillState(this, true, false)
}
override fun onErrorRetry() {
super.onErrorRetry()
mPresenter?.loadData()
}
override fun onCreateContentView(): View {
return LayoutInflater.from(this).inflate(R.layout.activity_main, null)
}
//...
}
Fragment
class TestFragment : BaseAppFragment<TestFragmentPresenter, ITestFragmentPresenter.ITestFragmentView>()
, ITestFragmentPresenter.ITestFragmentView{
private var mPresenter:TestFragmentPresenter?=null
//...
companion object {
fun createInstance(bundle: Bundle?):TestFragment{
val fragment = TestFragment()
fragment.arguments = bundle
return fragment
}
}
override fun getPresenterFactory(): PresenterFactory<TestFragmentPresenter> {
return TestFragmentPresenterFactory()
}
override fun onPresenterPrepared(presenter: TestFragmentPresenter) {
mPresenter = presenter
}
override fun onInitViews() {
}
override fun onInitData() {
mPresenter?.loadData()
}
override fun onCreateContentView(inflater: LayoutInflater, container: ViewGroup?): View {
return inflater.inflate(R.layout.fragment_test, null)
}
//...
}
Related Skills
node-connect
350.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
350.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
350.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
