Browse Source

1:调整目录结构,增加Fragment组件化示例;

guiying712 8 years ago
parent
commit
fdd6dd38d6
25 changed files with 146 additions and 60 deletions
  1. 1 0
      module_news/build.gradle
  2. 1 1
      module_news/src/main/AndroidManifest.xml
  3. 1 1
      module_news/src/main/java/com/guiying/module/news/Constants.java
  4. 36 0
      module_news/src/main/java/com/guiying/module/news/MyDelegate.java
  5. 32 0
      module_news/src/main/java/com/guiying/module/news/NewsFragment.java
  6. 4 4
      module_news/src/main/java/com/guiying/module/news/data/NewsDataSource.java
  7. 1 1
      module_news/src/main/java/com/guiying/module/news/data/bean/MessageDetail.java
  8. 1 1
      module_news/src/main/java/com/guiying/module/news/data/bean/Story.java
  9. 1 1
      module_news/src/main/java/com/guiying/module/news/data/bean/StoryList.java
  10. 9 9
      module_news/src/main/java/com/guiying/module/news/data/source/RemoteNewsDataSource.java
  11. 2 2
      module_news/src/main/java/com/guiying/module/news/detail/NewsDetailActivity.java
  12. 4 4
      module_news/src/main/java/com/guiying/module/news/detail/NewsDetailContract.java
  13. 5 5
      module_news/src/main/java/com/guiying/module/news/detail/NewsDetailPresenter.java
  14. 3 3
      module_news/src/main/java/com/guiying/module/news/detail/NewsDetailView.java
  15. 3 3
      module_news/src/main/java/com/guiying/module/news/main/NewsCenterActivity.java
  16. 4 4
      module_news/src/main/java/com/guiying/module/news/main/NewsListAdapter.java
  17. 4 4
      module_news/src/main/java/com/guiying/module/news/main/NewsListContract.java
  18. 5 5
      module_news/src/main/java/com/guiying/module/news/main/NewsListPresenter.java
  19. 3 3
      module_news/src/main/java/com/guiying/module/news/main/NewsListView.java
  20. 1 1
      module_news/src/main/java/com/guiying/module/news/main/NewsListViewAdapter.java
  21. 1 1
      module_news/src/main/java/debug/LauncherActivity.java
  22. 6 6
      module_news/src/main/java/debug/NewsApplication.java
  23. 1 1
      module_news/src/main/module/AndroidManifest.xml
  24. 14 0
      module_news/src/main/res/layout/fragment_news.xml
  25. 3 0
      module_news/src/main/res/values/strings.xml

+ 1 - 0
module_news/build.gradle

@@ -42,4 +42,5 @@ dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
     annotationProcessor "com.alibaba:arouter-compiler:$rootProject.annotationProcessor"
     compile project(':lib_common')
+    compile 'com.android.support:support-v4:25.3.1'
 }

+ 1 - 1
module_news/src/main/AndroidManifest.xml

@@ -1,5 +1,5 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.guiying.news">
+    package="com.guiying.module.news">
 
     <application android:theme="@style/AppTheme">
         <activity

+ 1 - 1
module_news/src/main/java/com/guiying/news/Constants.java → module_news/src/main/java/com/guiying/module/news/Constants.java

@@ -1,4 +1,4 @@
-package com.guiying.news;
+package com.guiying.module.news;
 
 /**
  * 保存项目中用到的常量

+ 36 - 0
module_news/src/main/java/com/guiying/module/news/MyDelegate.java

@@ -0,0 +1,36 @@
+package com.guiying.module.news;
+
+import com.guiying.module.common.base.ApplicationDelegate;
+import com.guiying.module.common.base.ViewManager;
+
+/**
+ * <p>类说明</p>
+ *
+ * @author 张华洋 2017/9/20 22:29
+ * @version V2.8.3
+ * @name MyDelegate
+ */
+
+
+public class MyDelegate implements ApplicationDelegate {
+
+    @Override
+    public void onCreate() {
+        ViewManager.getInstance().addFragment(0, new NewsFragment());
+    }
+
+    @Override
+    public void onTerminate() {
+
+    }
+
+    @Override
+    public void onLowMemory() {
+
+    }
+
+    @Override
+    public void onTrimMemory(int level) {
+
+    }
+}

+ 32 - 0
module_news/src/main/java/com/guiying/module/news/NewsFragment.java

@@ -0,0 +1,32 @@
+package com.guiying.module.news;
+
+
+import android.os.Bundle;
+import android.support.v4.app.Fragment;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import com.guiying.module.common.base.BaseFragment;
+
+
+/**
+ * A simple {@link Fragment} subclass.
+ */
+public class NewsFragment extends BaseFragment {
+
+
+    public NewsFragment() {
+        // Required empty public constructor
+    }
+
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+                             Bundle savedInstanceState) {
+        // Inflate the layout for this fragment
+        return inflater.inflate(R.layout.fragment_news, container, false);
+    }
+
+
+}

+ 4 - 4
module_news/src/main/java/com/guiying/news/data/NewsDataSource.java → module_news/src/main/java/com/guiying/module/news/data/NewsDataSource.java

@@ -1,8 +1,8 @@
-package com.guiying.news.data;
+package com.guiying.module.news.data;
 
-import com.guiying.common.base.InfoCallback;
-import com.guiying.news.data.bean.MessageDetail;
-import com.guiying.news.data.bean.StoryList;
+import com.guiying.module.common.base.InfoCallback;
+import com.guiying.module.news.data.bean.MessageDetail;
+import com.guiying.module.news.data.bean.StoryList;
 
 /**
  * <p>类说明</p>

+ 1 - 1
module_news/src/main/java/com/guiying/news/data/bean/MessageDetail.java → module_news/src/main/java/com/guiying/module/news/data/bean/MessageDetail.java

@@ -1,4 +1,4 @@
-package com.guiying.news.data.bean;
+package com.guiying.module.news.data.bean;
 
 import java.util.List;
 

+ 1 - 1
module_news/src/main/java/com/guiying/news/data/bean/Story.java → module_news/src/main/java/com/guiying/module/news/data/bean/Story.java

@@ -1,4 +1,4 @@
-package com.guiying.news.data.bean;
+package com.guiying.module.news.data.bean;
 
 /**
  * 日报新闻实体类

+ 1 - 1
module_news/src/main/java/com/guiying/news/data/bean/StoryList.java → module_news/src/main/java/com/guiying/module/news/data/bean/StoryList.java

@@ -1,4 +1,4 @@
-package com.guiying.news.data.bean;
+package com.guiying.module.news.data.bean;
 
 import java.util.List;
 

+ 9 - 9
module_news/src/main/java/com/guiying/news/data/source/RemoteNewsDataSource.java → module_news/src/main/java/com/guiying/module/news/data/source/RemoteNewsDataSource.java

@@ -1,13 +1,13 @@
-package com.guiying.news.data.source;
+package com.guiying.module.news.data.source;
 
-import com.guiying.common.base.InfoCallback;
-import com.guiying.common.http.DataType;
-import com.guiying.common.http.HttpClient;
-import com.guiying.common.http.OnResultListener;
-import com.guiying.news.Constants;
-import com.guiying.news.data.NewsDataSource;
-import com.guiying.news.data.bean.MessageDetail;
-import com.guiying.news.data.bean.StoryList;
+import com.guiying.module.common.base.InfoCallback;
+import com.guiying.module.common.http.DataType;
+import com.guiying.module.common.http.HttpClient;
+import com.guiying.module.common.http.OnResultListener;
+import com.guiying.module.news.Constants;
+import com.guiying.module.news.data.NewsDataSource;
+import com.guiying.module.news.data.bean.MessageDetail;
+import com.guiying.module.news.data.bean.StoryList;
 
 /**
  * <p>类说明</p>

+ 2 - 2
module_news/src/main/java/com/guiying/news/detail/NewsDetailActivity.java → module_news/src/main/java/com/guiying/module/news/detail/NewsDetailActivity.java

@@ -1,9 +1,9 @@
-package com.guiying.news.detail;
+package com.guiying.module.news.detail;
 
 import android.os.Bundle;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
-import com.guiying.common.base.BaseActivity;
+import com.guiying.module.common.base.BaseActivity;
 
 /**
  * <p>类说明</p>

+ 4 - 4
module_news/src/main/java/com/guiying/news/detail/NewsDetailContract.java → module_news/src/main/java/com/guiying/module/news/detail/NewsDetailContract.java

@@ -1,8 +1,8 @@
-package com.guiying.news.detail;
+package com.guiying.module.news.detail;
 
-import com.guiying.common.base.BasePresenter;
-import com.guiying.common.base.BaseView;
-import com.guiying.news.data.bean.MessageDetail;
+import com.guiying.module.common.base.BasePresenter;
+import com.guiying.module.common.base.BaseView;
+import com.guiying.module.news.data.bean.MessageDetail;
 
 /**
  * <p>类说明</p>

+ 5 - 5
module_news/src/main/java/com/guiying/news/detail/NewsDetailPresenter.java → module_news/src/main/java/com/guiying/module/news/detail/NewsDetailPresenter.java

@@ -1,9 +1,9 @@
-package com.guiying.news.detail;
+package com.guiying.module.news.detail;
 
-import com.guiying.common.base.InfoCallback;
-import com.guiying.news.data.NewsDataSource;
-import com.guiying.news.data.bean.MessageDetail;
-import com.guiying.news.data.source.RemoteNewsDataSource;
+import com.guiying.module.common.base.InfoCallback;
+import com.guiying.module.news.data.NewsDataSource;
+import com.guiying.module.news.data.bean.MessageDetail;
+import com.guiying.module.news.data.source.RemoteNewsDataSource;
 
 /**
  * <p>类说明</p>

+ 3 - 3
module_news/src/main/java/com/guiying/news/detail/NewsDetailView.java → module_news/src/main/java/com/guiying/module/news/detail/NewsDetailView.java

@@ -1,4 +1,4 @@
-package com.guiying.news.detail;
+package com.guiying.module.news.detail;
 
 import android.content.Context;
 import android.graphics.Bitmap;
@@ -17,8 +17,8 @@ import android.widget.TextView;
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.request.animation.GlideAnimation;
 import com.bumptech.glide.request.target.SimpleTarget;
-import com.guiying.news.R;
-import com.guiying.news.data.bean.MessageDetail;
+import com.guiying.module.news.R;
+import com.guiying.module.news.data.bean.MessageDetail;
 
 /**
  * <p>类说明</p>

+ 3 - 3
module_news/src/main/java/com/guiying/news/main/NewsCenterActivity.java → module_news/src/main/java/com/guiying/module/news/main/NewsCenterActivity.java

@@ -1,4 +1,4 @@
-package com.guiying.news.main;
+package com.guiying.module.news.main;
 
 import android.os.Bundle;
 import android.support.design.widget.TabLayout;
@@ -6,8 +6,8 @@ import android.support.v4.view.ViewPager;
 import android.support.v7.widget.Toolbar;
 
 import com.alibaba.android.arouter.facade.annotation.Route;
-import com.guiying.common.base.BaseActivity;
-import com.guiying.news.R;
+import com.guiying.module.common.base.BaseActivity;
+import com.guiying.module.news.R;
 
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;

+ 4 - 4
module_news/src/main/java/com/guiying/news/main/NewsListAdapter.java → module_news/src/main/java/com/guiying/module/news/main/NewsListAdapter.java

@@ -1,4 +1,4 @@
-package com.guiying.news.main;
+package com.guiying.module.news.main;
 
 import android.content.Context;
 import android.content.Intent;
@@ -9,9 +9,9 @@ import android.widget.TextView;
 
 import com.bumptech.glide.Glide;
 import com.bumptech.glide.load.engine.DiskCacheStrategy;
-import com.guiying.news.R;
-import com.guiying.news.data.bean.Story;
-import com.guiying.news.detail.NewsDetailActivity;
+import com.guiying.module.news.R;
+import com.guiying.module.news.data.bean.Story;
+import com.guiying.module.news.detail.NewsDetailActivity;
 import com.jude.easyrecyclerview.adapter.BaseViewHolder;
 import com.jude.easyrecyclerview.adapter.RecyclerArrayAdapter;
 

+ 4 - 4
module_news/src/main/java/com/guiying/news/main/NewsListContract.java → module_news/src/main/java/com/guiying/module/news/main/NewsListContract.java

@@ -1,8 +1,8 @@
-package com.guiying.news.main;
+package com.guiying.module.news.main;
 
-import com.guiying.common.base.BasePresenter;
-import com.guiying.common.base.BaseView;
-import com.guiying.news.data.bean.StoryList;
+import com.guiying.module.common.base.BasePresenter;
+import com.guiying.module.common.base.BaseView;
+import com.guiying.module.news.data.bean.StoryList;
 
 /**
  * <p>类说明</p>

+ 5 - 5
module_news/src/main/java/com/guiying/news/main/NewsListPresenter.java → module_news/src/main/java/com/guiying/module/news/main/NewsListPresenter.java

@@ -1,9 +1,9 @@
-package com.guiying.news.main;
+package com.guiying.module.news.main;
 
-import com.guiying.common.base.InfoCallback;
-import com.guiying.news.data.NewsDataSource;
-import com.guiying.news.data.bean.StoryList;
-import com.guiying.news.data.source.RemoteNewsDataSource;
+import com.guiying.module.common.base.InfoCallback;
+import com.guiying.module.news.data.NewsDataSource;
+import com.guiying.module.news.data.bean.StoryList;
+import com.guiying.module.news.data.source.RemoteNewsDataSource;
 
 /**
  * <p>类说明</p>

+ 3 - 3
module_news/src/main/java/com/guiying/news/main/NewsListView.java → module_news/src/main/java/com/guiying/module/news/main/NewsListView.java

@@ -1,4 +1,4 @@
-package com.guiying.news.main;
+package com.guiying.module.news.main;
 
 import android.content.Context;
 import android.support.v4.content.ContextCompat;
@@ -6,8 +6,8 @@ import android.support.v4.widget.SwipeRefreshLayout;
 import android.support.v7.widget.LinearLayoutManager;
 import android.util.AttributeSet;
 
-import com.guiying.news.R;
-import com.guiying.news.data.bean.StoryList;
+import com.guiying.module.news.R;
+import com.guiying.module.news.data.bean.StoryList;
 import com.jude.easyrecyclerview.EasyRecyclerView;
 import com.jude.easyrecyclerview.adapter.RecyclerArrayAdapter;
 import com.jude.easyrecyclerview.decoration.DividerDecoration;

+ 1 - 1
module_news/src/main/java/com/guiying/news/main/NewsListViewAdapter.java → module_news/src/main/java/com/guiying/module/news/main/NewsListViewAdapter.java

@@ -1,4 +1,4 @@
-package com.guiying.news.main;
+package com.guiying.module.news.main;
 
 import android.support.v4.view.PagerAdapter;
 import android.view.View;

+ 1 - 1
module_news/src/main/java/debug/LauncherActivity.java

@@ -4,7 +4,7 @@ import android.content.Intent;
 import android.os.Bundle;
 import android.support.v7.app.AppCompatActivity;
 
-import com.guiying.news.detail.NewsDetailActivity;
+import com.guiying.module.news.detail.NewsDetailActivity;
 
 /**
  * <p>组件开发模式下,用于传递数据的启动Activity,集成模式下无效</p>

+ 6 - 6
module_news/src/main/java/debug/NewsApplication.java

@@ -1,11 +1,11 @@
 package debug;
 
-import com.guiying.common.base.BaseApplication;
-import com.guiying.common.http.DataType;
-import com.guiying.common.http.HttpClient;
-import com.guiying.common.http.OnResultListener;
-import com.guiying.news.Constants;
-import com.guiying.news.data.bean.StoryList;
+import com.guiying.module.common.base.BaseApplication;
+import com.guiying.module.common.http.DataType;
+import com.guiying.module.common.http.HttpClient;
+import com.guiying.module.common.http.OnResultListener;
+import com.guiying.module.news.Constants;
+import com.guiying.module.news.data.bean.StoryList;
 import com.orhanobut.logger.Logger;
 
 /**

+ 1 - 1
module_news/src/main/module/AndroidManifest.xml

@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-    package="com.guiying.news">
+    package="com.guiying.module.news">
 
     <application
         android:name="debug.NewsApplication"

+ 14 - 0
module_news/src/main/res/layout/fragment_news.xml

@@ -0,0 +1,14 @@
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:tools="http://schemas.android.com/tools"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    tools:context="com.guiying.module.news.NewsFragment">
+
+    <!-- TODO: Update blank fragment layout -->
+    <TextView
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:gravity="center"
+        android:text="这里是新闻 " />
+
+</FrameLayout>

+ 3 - 0
module_news/src/main/res/values/strings.xml

@@ -3,4 +3,7 @@
 
     <string name="news_activity_title">News</string>
 
+    <!-- TODO: Remove or change this placeholder text -->
+    <string name="hello_blank_fragment">Hello blank fragment</string>
+
 </resources>