【0103】【项目实战】-【Android通用框架设计与完整电商APP开发】-【2】【单Activity界面架构设计与验证】


1.使用第三方框架搭建单Activity多fragment

1.1 参考的第三方的框架

【国人开发的】地址:https://github.com/YoKeyword/Fragmentation

1.2 库的引入

.

1.3 类的封装

【基类的抽象】子类继承基类,基类封装接口,传入布局的参数;

1.4 butterKnife的库引用

【引入库需要的操作】

 

1.5 对基类的封装

【绑定资源文件】

【操作一系列的方法】强制子类实现该方法,进行一系列的子类自己的操作

【解除绑定】

 【拼写错误的检查】

1.6 中间层-权限的检查

1.6 应用层

 

1.7 基类封装的完善

【整数值的引用】

【基类的完善】包括initContainer方法的完善;

【源码】com.flj.latte.activities.ProxyActivity

 1 package com.flj.latte.activities;
 2 
 3 import android.os.Bundle;
 4 import android.support.annotation.Nullable;
 5 import android.support.v7.app.AppCompatActivity;
 6 import android.support.v7.widget.ContentFrameLayout;
 7 
 8 import com.diabin.latte.R;
 9 import com.flj.latte.delegates.LatteDelegate;
10 
11 import me.yokeyword.fragmentation.ExtraTransaction;
12 import me.yokeyword.fragmentation.ISupportActivity;
13 import me.yokeyword.fragmentation.SupportActivityDelegate;
14 import me.yokeyword.fragmentation.anim.FragmentAnimator;
15 
16 
17 public abstract class ProxyActivity extends AppCompatActivity implements ISupportActivity {
18 
19     private final SupportActivityDelegate DELEGATE = new SupportActivityDelegate(this);
20 
21     public abstract LatteDelegate setRootDelegate();
22 
23     @Override
24     protected void onCreate(@Nullable Bundle savedInstanceState) {
25         super.onCreate(savedInstanceState);
26         DELEGATE.onCreate(savedInstanceState);
27         initContainer(savedInstanceState);
28     }
29 
30     private void initContainer(@Nullable Bundle savedInstanceState) {
31         final ContentFrameLayout container = new ContentFrameLayout(this);
32         container.setId(R.id.delegate_container);
33         setContentView(container);
34         if (savedInstanceState == null) {
35             DELEGATE.loadRootFragment(R.id.delegate_container, setRootDelegate());
36         }
37     }
38 
39     @Override
40     protected void onDestroy() {
41         DELEGATE.onDestroy();
42         super.onDestroy();
43         System.gc();
44         System.runFinalization();
45     }

2. 单Activity界面架构验证

 【修改】将MainActivity改为ExampleActivity,并实现其抽象方法;

【新建类】

【新建布局文件】

【找到布局】

【添加对象】

【测试】单个显示一个Activity,验证框架可行;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM