溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【FastDev4Android框架開發(fā)】Android快速開發(fā)框架介紹(一)

發(fā)布時間:2020-07-20 14:08:38 來源:網(wǎng)絡 閱讀:737 作者:jiangqq900826 欄目:移動開發(fā)

          本項目是Android快速開發(fā)框架,采用AndroidStudio進行開發(fā)。 隨著公司項目的不斷深入,也相信每個公司都有自己的項目開發(fā)框架,同時也在不斷的完善,本人在工作中也在不斷總結(jié),喜歡技術,熱愛開源,也樂于和各種技術牛人一起交流。同時一直有一個想法可以做一套相對快速的開發(fā)框架用于工作中。所以就有了下面這個項目,各種工具方法都會再接下來的時間中慢慢加入進入,也非常歡迎和我同樣想法的牛人加入進來,一起把這個項目完善好~Thankyou

           項目地址:https://github.com/jiangqqlmj/FastDev4Android

              文章主頁地址:http://blog.csdn.net/developer_jiangqq

           (一):初步想法集成如下:

               1:開發(fā)工具類;

               2:ORM;

               3:網(wǎng)絡請求(HTTPClint,Volley,OkHttps);

      4:數(shù)據(jù)解析;

              5:依賴注入;

              6:xutils;

              7:圖片異步加載;

              8:二維碼掃描;

             9:自定義控件;

             10:傳感器相關功能等等 后續(xù)會進行逐步添加。

        【FastDev4Android框架開發(fā)】Android快速開發(fā)框架介紹(一)

        模塊詳解如下:

         【FastDev4Android框架開發(fā)】Android快速開發(fā)框架介紹(一)

        (二):V1.0_001版本功能如下: 

一.Utils工具類加入(1.DataUtils 時間日期處理
2.GuideUtils 是否啟動引導處理標志管理
3.IoUtils 網(wǎng)絡請求工具類【特別注意】這邊采用HTTPClient 由于Android 6.0已經(jīng)刪除該類,
這邊libs目錄需要加入org.apache.http.legcy.jar依賴包
4.JudgeNetWorker 網(wǎng)絡狀態(tài)判斷工具類
5.Log 日志自定義管理
6.ManagerActivity Activity管理工具類
7.StrUtils 字符串相關處理工具類,系統(tǒng)信息獲取工具類)
二.sperferences加入SharePerferences加入封裝工具可以快速使用SP進行數(shù)據(jù)保存配置文件
三.Activity基類簡單封裝BaseActivity和BaseFrameActivity 暫時主要為Toast,LayoutInFlater,打開指定的Activity工具類封裝

       (三):實例代碼

         1:SharedPerference模塊封裝類:

SharedPreferencesHelper.java

[java] view plaincopy

  1. package com.chinaztt.fda.spreference;  

  2.   

  3. import android.content.Context;  

  4. import android.content.SharedPreferences;  

  5.   

  6. /** 

  7.  * 當前類注釋:當前為SharedPerferences進行封裝基本的方法,SharedPerferences已經(jīng)封裝成單例模式 

  8.  * 可以通過SharedPreferences sp=SharedPreferencesHelper.getInstances(FDApplication.getInstance())進行獲取當前對象 

  9.  * sp.putStringValue(key,value)進行使用 

  10.  * 項目名:FastDev4Android 

  11.  * 包名:com.chinaztt.fda.spreference 

  12.  * 作者:江清清 on 15/10/22 09:25 

  13.  * 郵箱:jiangqqlmj@163.com 

  14.  * QQ: 781931404 

  15.  * 公司:江蘇中天科技軟件技術有限公司 

  16.  */  

  17. public class SharedPreferencesHelper {  

  18.     private static final String SHARED_PATH = "fda_shared";  

  19.     private static SharedPreferencesHelper instance;  

  20.     private SharedPreferences sp;  

  21.     private SharedPreferences.Editor editor;  

  22.   

  23.     public static SharedPreferencesHelper getInstance(Context context) {  

  24.         if (instance == null && context != null) {  

  25.             instance = new SharedPreferencesHelper(context);  

  26.         }  

  27.         return instance;  

  28.     }  

  29.   

  30.     private SharedPreferencesHelper(Context context) {  

  31.         sp = context.getSharedPreferences(SHARED_PATH, Context.MODE_PRIVATE);  

  32.         editor = sp.edit();  

  33.     }  

  34.   

  35.     public long getLongValue(String key) {  

  36.         if (key != null && !key.equals("")) {  

  37.             return sp.getLong(key, 0);  

  38.         }  

  39.         return 0;  

  40.     }  

  41.   

  42.     public String getStringValue(String key) {  

  43.         if (key != null && !key.equals("")) {  

  44.             return sp.getString(key, null);  

  45.         }  

  46.         return null;  

  47.     }  

  48.   

  49.     public int getIntValue(String key) {  

  50.         if (key != null && !key.equals("")) {  

  51.             return sp.getInt(key, 0);  

  52.         }  

  53.         return 0;  

  54.     }  

  55.   

  56.     public int getIntValueByDefault(String key)  

  57.     {  

  58.         if (key != null && !key.equals("")) {  

  59.             return sp.getInt(key, 0);  

  60.         }  

  61.         return 0;  

  62.     }  

  63.     public boolean getBooleanValue(String key) {  

  64.         if (key != null && !key.equals("")) {  

  65.             return sp.getBoolean(key, false);  

  66.         }  

  67.         return true;  

  68.     }  

  69.   

  70.     public float getFloatValue(String key) {  

  71.         if (key != null && !key.equals("")) {  

  72.             return sp.getFloat(key, 0);  

  73.         }  

  74.         return 0;  

  75.     }  

  76.   

  77.     public void putStringValue(String key, String value) {  

  78.         if (key != null && !key.equals("")) {  

  79.             editor = sp.edit();  

  80.             editor.putString(key, value);  

  81.             editor.commit();  

  82.         }  

  83.     }  

  84.   

  85.     public void putIntValue(String key, int value) {  

  86.         if (key != null && !key.equals("")) {  

  87.             editor = sp.edit();  

  88.             editor.putInt(key, value);  

  89.             editor.commit();  

  90.         }  

  91.     }  

  92.   

  93.     public void putBooleanValue(String key, boolean value) {  

  94.         if (key != null && !key.equals("")) {  

  95.             editor = sp.edit();  

  96.             editor.putBoolean(key, value);  

  97.             editor.commit();  

  98.         }  

  99.     }  

  100.   

  101.     public void putLongValue(String key, long value) {  

  102.         if (key != null && !key.equals("")) {  

  103.             editor = sp.edit();  

  104.             editor.putLong(key, value);  

  105.             editor.commit();  

  106.         }  

  107.     }  

  108.   

  109.     public void putFloatValue(String key, Float value) {  

  110.         if (key != null && !key.equals("")) {  

  111.             editor = sp.edit();  

  112.             editor.putFloat(key, value);  

  113.             editor.commit();  

  114.         }  

  115.     }  

  116. }  

    SharedPerferencesTag.java


[java] view plaincopy

  1. package com.chinaztt.fda.spreference;  

  2.   

  3. /** 

  4.  * 當前類注釋:當前類用戶SharedPreferences進行save的時候 配置key常量 

  5.  * 項目名:FastDev4Android 

  6.  * 包名:com.chinaztt.fda.spreference 

  7.  * 作者:江清清 on 15/10/22 09:26 

  8.  * 郵箱:jiangqqlmj@163.com 

  9.  * QQ: 781931404 

  10.  * 公司:江蘇中天科技軟件技術有限公司 

  11.  */  

  12. public class SharedPreferencesTag {  

  13.     public static final String DEMO_KEY="demo_key";  

  14.   

  15. }  

    2.日志管理類封裝


[java] view plaincopy

  1. package com.chinaztt.fda.utils;  

  2.   

  3. /** 

  4.  * 當前類注釋:重寫系統(tǒng)日志管理類 

  5.  * 使用方法:還是和平時Log.v(key,value)這樣使用,需要導入當前類,該類會打印比系統(tǒng)更多的日志信息, 

  6.  * 例如:類名稱,當前運行的方法,行數(shù),和日志信息 

  7.  * 項目名:FastDev4Android 

  8.  * 包名:com.chinaztt.fda.utils 

  9.  * 作者:江清清 on 15/10/22 09:35 

  10.  * 郵箱:jiangqqlmj@163.com 

  11.  * QQ: 781931404 

  12.  * 公司:江蘇中天科技軟件技術有限公司 

  13.  */  

  14. public class Log {  

  15.     public static boolean mIsShow=true;  

  16.   

  17.     /** 

  18.      * 設置是否打開log日志開關 

  19.      * @param pIsShow 

  20.      */  

  21.     public static void setShow(boolean pIsShow)  

  22.     {  

  23.         mIsShow=pIsShow;  

  24.     }  

  25.   

  26.     /** 

  27.      * 根據(jù)tag打印相關v信息 

  28.      * @param tag 

  29.      * @param msg 

  30.      */  

  31.     public static void v(String tag,String msg)  

  32.     {  

  33.         if(mIsShow){  

  34.             StackTraceElement ste = new Throwable().getStackTrace()[1];  

  35.             String traceInfo = ste.getClassName() + "::";  

  36.             traceInfo += ste.getMethodName();  

  37.             traceInfo += "@" + ste.getLineNumber() + ">>>";  

  38.             android.util.Log.v(tag, traceInfo+msg);}  

  39.     }  

  40.   

  41.     /** 

  42.      * 根據(jù)tag打印v信息,包括Throwable的信息 

  43.      * * @param tag 

  44.      * @param msg 

  45.      * @param tr 

  46.      */  

  47.     public static void v(String tag,String msg,Throwable tr)  

  48.     {  

  49.         if(mIsShow){  

  50.             android.util.Log.v(tag, msg, tr);  

  51.         }  

  52.     }  

  53.   

  54.   

  55.     /** 

  56.      * 根據(jù)tag打印輸出debug信息 

  57.      * @param tag 

  58.      * @param msg 

  59.      */  

  60.     public static void d(String tag,String msg)  

  61.     {  

  62.         if(mIsShow){  

  63.             StackTraceElement ste = new Throwable().getStackTrace()[1];  

  64.             String traceInfo = ste.getClassName() + "::";  

  65.             traceInfo += ste.getMethodName();  

  66.             traceInfo += "@" + ste.getLineNumber() + ">>>";  

  67.             android.util.Log.d(tag, traceInfo+msg);  

  68.         }}  

  69.   

  70.     /** 

  71.      * 根據(jù)tag打印輸出debug信息 包括Throwable的信息 

  72.      * * @param tag 

  73.      * @param msg 

  74.      * @param tr 

  75.      */  

  76.     public static void d(String tag,String msg,Throwable tr)  

  77.     {  

  78.         if(mIsShow){  

  79.             android.util.Log.d(tag, msg, tr);  

  80.         }}  

  81.   

  82.     /** 

  83.      * 根據(jù)tag打印輸出info的信息 

  84.      * * @param tag 

  85.      * @param msg 

  86.      */  

  87.     public static void i(String tag,String msg)  

  88.     {  

  89.         if(mIsShow){  

  90.             StackTraceElement ste = new Throwable().getStackTrace()[1];  

  91.             String traceInfo = ste.getClassName() + "::";  

  92.             traceInfo += ste.getMethodName();  

  93.             traceInfo += "@" + ste.getLineNumber() + ">>>";  

  94.             android.util.Log.i(tag, traceInfo+msg);  

  95.         }}  

  96.   

  97.     /** 

  98.      * 根據(jù)tag打印輸出info信息 包括Throwable的信息 

  99.      * @param tag 

  100.      * @param msg 

  101.      * @param tr 

  102.      */  

  103.     public static void i(String tag,String msg,Throwable tr)  

  104.     {  

  105.         if(mIsShow){  

  106.             android.util.Log.i(tag, msg, tr);  

  107.         }}  

  108.   

  109.     /** 

  110.      * 根據(jù)tag打印輸出error信息 

  111.      * @param tag 

  112.      * @param msg 

  113.      */  

  114.     public static void e(String tag,String msg)  

  115.     {  

  116.         if(mIsShow){  

  117.             StackTraceElement ste = new Throwable().getStackTrace()[1];  

  118.             String traceInfo = ste.getClassName() + "::";  

  119.             traceInfo += ste.getMethodName();  

  120.             traceInfo += "@" + ste.getLineNumber() + ">>>";  

  121.             android.util.Log.e(tag, traceInfo+msg);  

  122.         }}  

  123.   

  124.     /** 

  125.      * 根據(jù)tag打印輸出的error信息 包括Throwable的信息 

  126.      * @param tag 

  127.      * @param msg 

  128.      * @param tr 

  129.      */  

  130.     public static void e(String tag,String msg,Throwable tr)  

  131.     {  

  132.         if(mIsShow){  

  133.             android.util.Log.e(tag, msg, tr);  

  134.         }}  

  135. }  

    以上是部分工具類封裝模塊,有興趣的童鞋可以去(https://github.com/jiangqqlmj/FastDev4Android)進行clone,也同時歡迎大家star或者fork一下哈,項目會不斷更新,同時如果有興趣一起完善項目的小伙伴聯(lián)系我哈~博客資料有聯(lián)系方式!


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI