当前位置: 首页 > news >正文

个人博客网站制作教程/seo关键词排优化软件

个人博客网站制作教程,seo关键词排优化软件,兰州道路建设情况网站,网站开发的步骤过程1. 目的在Android开发中,MVP模式的开发为大多数人所使用,在MVP模式中,一般需要在Activity中创建与之对应的Presenter类。之前项目中实现的方法比较繁琐,通过查资料以后,进行了部分优化,特此记录。2. 老的实…

1. 目的

在Android开发中,MVP模式的开发为大多数人所使用,在MVP模式中,一般需要在Activity中创建与之对应的Presenter类。之前项目中实现的方法比较繁琐,通过查资料以后,进行了部分优化,特此记录。

2. 老的实现方式

不废话,直接上代码。

public abstract class BaseActivity extends Activity{

protected T mPresenter;

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mPresenter = createPresenter();

}

/**

* 定义一个抽象方法,由继承BaseActivity的子类去实现

*/

protected abstract T createPresenter();

}

class TestActivity extends BaseActivity {

/**

* 在每个继承BaseActivity的子Activity去实现createPresenter方法

*/

@Override

protected TestPresenter createPresenter() {

return new TestPresenter(this);

}

}

3. 改进以后的实现方式

/*

* 这里在base内部实现了createPresenter方法,当然还有可能有其他的抽象方法,所以这里的类暂时还是用一个抽象类

* 来表示

*/

public abstract class BaseActivity extends Activity{

protected T mPresenter;

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mPresenter = createPresenter();

}

/**

* 直接在createPresenter中拿到当前类的泛型的class,利用反射制造一个对象并返回

*/

protected T createPresenter(){

//这里获得到的是类的泛型的类型

ParameterizedType type = (ParameterizedType) getClass().getGenericSuperclass();

if (type != null) {

Type[] actualTypeArguments = type.getActualTypeArguments();

Class tClass = (Class) actualTypeArguments[0];

mPresenter = PresenterFactory.creatPresenter(tClass);

}

};

/**

* presenter 的工厂类

*/

public class PresenterFactory {

public static T creatPresenter(Class tClass) {

T t = null;

try {

t = tClass.newInstance();

} catch (InstantiationException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

}

return t;

}

}

/*

* 继承了BaseActivity的子类,不再需要实现createPresenter方法,可以直接使用mPresenter进行操作

*/

class TestActivity extends BaseActivity {

@Override

protected void onCreate(@Nullable Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//直接使用presenter类(不再需要通过实现createPresenter方法来得到presenter的对象)

mPresenter.doSth();

}

}

3. 总结

这里拿Activity和Presenter类来举例,其实在开发中还有其他的场景,需要在一个公共的父类下,有一个可变的参数类型的对象,在具体的子类中去指定这个可变参数类型的类型的场景。当然了,以上只是个人的一些体会与经验,如果有错误之处,还望读者予以指正。

http://www.lbrq.cn/news/843013.html

相关文章:

  • 营销网站/百度seo关键词怎么做
  • 网站商业授权/软文广告经典案例
  • 开发网站需要多少人/百度软文推广怎么做
  • 响应式网站怎么做/俄罗斯搜索引擎入口
  • 没有基础学做网站/sem和seo是什么职业岗位
  • 北京做百度网站建设/中视频自媒体平台注册
  • 动态网站系统的5个组成部分/深圳整站seo
  • 湖南网红网站建设有限公司/最经典的营销案例
  • asp网站免费完整源码/药品销售推广方案
  • wordpress+vps建站/刷赞业务推广网站
  • 深圳网站建设十强/app拉新平台
  • vue.js 可以做网站吗/什么都不懂能去干运营吗
  • 网站开发进阶/专业网页设计和网站制作公司
  • 政府机构网站开发价格/互联网推广有哪些方式
  • 不符合网站外链建设原则的是/最新行业动态
  • 北京网站建设是什么意思/近三天发生的重要新闻
  • 网站集约建设报告/seo短期培训班
  • 东莞网站建设_东莞网页设计】/百度公司官网
  • 韦恩图在线制作网站/网络营销的核心是什么
  • 阿里巴巴做网站多少钱/百度seo优化关键词
  • 来宾建设网站/西藏自治区seo 标题 关键词优化
  • 微网站的链接怎么做/搜狗收录查询
  • 欧美做爰爰爰爰网站/百度有免费推广广告
  • 网站开发端口查询/南宁在哪里推广网站
  • 做网站的新闻/优化大师免费安装下载
  • 手机和pc网站/巨量引擎
  • 源码交易平台网站源码/seo软件工具
  • wordpress less/百度搜索优化
  • 象客企业网站做优化排名/百度贴吧官网入口
  • 网页网站设计培训/怎么注册网站免费的
  • 基于conda包的环境创建、激活、管理与删除
  • 已知均数与标准差,如何生成一组正态分布数据?
  • 李宏毅《生成式人工智能导论》 | 第11讲-第14讲:大型语言模型的可解释性、能力评估、安全性
  • AI-Compass LLM训练框架生态:整合ms-swift、Unsloth、Megatron-LM等核心框架,涵盖全参数/PEFT训练与分布式优化
  • 设备发出、接收数据帧的工作机制
  • 修改主机名颜色脚本