【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