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

如何查看一个网站是用什么程序做的如何将网站指向404

如何查看一个网站是用什么程序做的,如何将网站指向404,室内设计公司排名一览表,沈阳模板 网站建设前言在做Android开发时,我们通常为了更合理,更高效,优质的开发项目,并不是直接上来就开始开发功能,而是先搭建好自己的一个开发框架,一个好的开发框架,通常会让我们事倍功半,它就好比我们去建造一个房子,如果你的地基打的越深,越牢固,那么就可以建造出很高很大的房子.在搭建一个…前言在做Android开发时,我们通常为了更合理,更高效,优质的开发项目,并不是直接上来就开始开发功能,而是先搭建好自己的一个开发框架,一个好的开发框架,通常会让我们事倍功半,它就好比我们去建造一个房子,如果你的地基打的越深,越牢固,那么就可以建造出很高很大的房子.在搭建一个框架前,我们先要考虑一下,这个框架要达到一个什么样的效果,主要从下面三点来进行考虑:降低项目的复杂度易扩展,易修改,可用性强,可维护性强职责单一,功能清晰Mvp模式介绍优势分离了视图逻辑和业务逻辑降低了耦合。Activity只处理生命周期的任务代码变得更加简洁。视图逻辑和业务逻辑分别抽象到了View和Presenter的接口中提高代码的阅读性。Presenter被抽象成接口可以有多种具体的实现所以方便进行单元测试。把业务逻辑抽到Presenter中去避免后台线程引用着Activity导致Activity的资源无法被系统回收从而引起内存泄露和OOM。实际应用框架图此图是我搭建Mvp模式的一个架构图,V层与M层分离,通过P层来建立联系,V层主要显示UI,M层进行网络请求,数据库等操作,P层作为一个中心管理器,连接M层和V层.分包如下图:image.pngbase 存放app的基类common 存放一些常量,接口,公用的东西contract 连接V层和P层的一个契约包model M层,数据库,网络请求,服务等业务操作presenter P层,负责连接V层和M层,中心管理器ui V层,负责UI的展示utils 存放工具类widget 存放自定义的一些组件步骤介绍第一步 编写基类BaseActivity,BasePresenter,IBasePresenter,IBaseViewIBasePresenter代码如下:public interface IBasePresenter {/*** 绑定View* param mView*/void attachView(V view);}IBaseView代码如下:public interface IBaseView {}BasePresenter代码如下:public abstract class BasePresenter implements IBasePresenter {//数据管理,负责M层的业务逻辑操作protected DataManager mDataManager;//V层的引用protected V mView;/*** 初始化DataManager*/public BasePresenter(){//数据库AppDbHelper appDbHelper new DbHelper();//共享参数存储AppPreferenceHelper appPreferenceHelper new PreferenceHelper();//网络请求AppApiHelper appApiHelper new ApiHelper();mDataManager new DataManager(appDbHelper, appApiHelper, appPreferenceHelper);}/*** 绑定view* param view*/Overridepublic void attachView(V view) {this.mView view;}}BaseActivity代码如下:public abstract class BaseActivity extends AppCompatActivity implements IBaseView{//P层的应用protected P mPresenter;Overrideprotected void onCreate(Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(getLayoutId());//初始化mPresenterinitPresenter();//绑定viewif(mPresenter ! null){mPresenter.attachView(this);}//初始化initView();}/*** 初始化mPresenter*/protected abstract void initPresenter();/*** 初始化*/protected abstract void initView();/*** 获取布局id* return*/protected abstract int getLayoutId();}第二步 编写测试类MainActivity(V),MainContract(契约),MainPresenter(P),DataManager(M)MainActivity代码如下:public class MainActivity extends BaseActivity implements MainContract.View {Overrideprotected void initPresenter() {mPresenter new MainPresenter();}Overrideprotected void initView() {mPresenter.testGetMpresenter();mPresenter.testDb();mPresenter.testRequestNetwork();mPresenter.testPreference();}Overrideprotected int getLayoutId() {return R.layout.activity_main;}Overridepublic void testGetMview() {Log.d(print, 我是V层的引用);}}MainPresenter代码如下:public class MainPresenter extends BasePresenter implements MainContract.Presenter{Overridepublic void testGetMpresenter() {Log.d(print, 我是P层的引用);mView.testGetMview();}Overridepublic void testDb() {mDataManager.testDb();}Overridepublic void testRequestNetwork() {mDataManager.testRequestNetwork();}Overridepublic void testPreference() {mDataManager.testPreference();}}MainContract代码如下:public interface MainContract {interface View extends IBaseView{void testGetMview();}interface Presenter extends IBasePresenter{void testGetMpresenter();void testDb();void testRequestNetwork();void testPreference();}}DataManager代码如下:public class DataManager implements AppDbHelper,AppApiHelper,AppPreferenceHelper{private AppDbHelper mAppDbHelper;private AppApiHelper mAppApiHelper;private AppPreferenceHelper mAppPreferenceHelper;public DataManager(AppDbHelper mAppDbHelper, AppApiHelper appApiHelper, AppPreferenceHelper appPreferenceHelper) {this.mAppDbHelper mAppDbHelper;this.mAppApiHelper appApiHelper;this.mAppPreferenceHelper appPreferenceHelper;}Overridepublic void testDb() {mAppDbHelper.testDb();}Overridepublic void testRequestNetwork() {mAppApiHelper.testRequestNetwork();}Overridepublic void testPreference() {mAppPreferenceHelper.testPreference();}}第三步 编写数据库,网络请求等类AppDbHelper代码如下:public interface AppDbHelper {void testDb();}DbHelper代码如下:public class DbHelper implements AppDbHelper{Overridepublic void testDb() {Log.d(print, 数据库操作);}}AppApiHelper代码如下:public interface AppApiHelper {void testRequestNetwork();}ApiHelper代码如下:public class ApiHelper implements AppApiHelper{Overridepublic void testRequestNetwork() {Log.d(print, 网络请求操作);}}AppPreferenceHelper代码如下:public interface AppPreferenceHelper {void testPreference();}PreferenceHelper代码如下:public class PreferenceHelper implements AppPreferenceHelper{Overridepublic void testPreference() {Log.d(print, 共享参数存储操作);}}运行效果图:效果图总结Mvp模式在Android开发中被使用的越来越多,尤其是配合RxJavaRetrofitOkhttpDagger2Glide等第三方开源库,好处不用多说,所以大家赶紧都用起来吧,最后附上Mvp模式Demo如果大家对我的文章感兴趣的话,请给我点个赞!!!
http://www.huolong8.cn/news/72914/

相关文章:

  • 网站规划书的内容有哪些新闻门户网站建设
  • 桐柏网站建设网站建设方案书 下载
  • 做网站的软件高中 通用技术加快网站速度吗
  • 建设网站怎么创建数据库私域流量管理工具
  • 做网站图标的软件wordpress 主题设置
  • 网站浏览器兼容问题wordpress nginx配置
  • 网站建设制作开发什么网站的新闻做参考文献
  • 网站开发费用做账鸿运通网站建设怎么样
  • wordpress网站如何播放视频播放器某公司网络设计方案
  • 赣州网站开发公司腾讯云可视化wordpress
  • 网站开发前台实训三明seo
  • 谷谷互联建的网站如何把qq在线wordpress扫码下载
  • 后台企业网站模板网站制作公司怎么找
  • 网站空间商是什么意思公司网站模板内容
  • 深圳住房和建设局网站 申请男女怎样做那个视频网站
  • 建设网站的意义作用是什么意思怎么查看自己网站是否被收录
  • 美丽寮步网站建设高性能网站安装源码
  • 网站开发报告参考文献网站建设技术风险分析
  • 什么是灰色网站青岛建设网站企业
  • 做名片赞机器人电脑网站是多少wordpress 主题 家居
  • 为什么做图书管理网站让你有做黑客感觉的网站
  • 桂林有名网站制作公司wordpress同分类文章
  • 网站开发方案怎么写wordpress 3.0.1
  • 网站建设培训班学费网站建设项目设计书
  • 酒店电子商务网站建设流程营口市住房建设保障办官方网站
  • dw用ps切片做网站专业网站策划公司
  • 抽奖怎么做网站广西南宁云尚网络科技有限公司
  • 个人做哪方面网站为什么用花生壳做的网站老刷新
  • 班级网站开发报告做英文企业网站
  • php 网站建设 教学wordpress 评论 头像