美文网首页【FastDev4Android框架开发】android经典收录程序员
【FastDev4Android框架开发】Android快速开发

【FastDev4Android框架开发】Android快速开发

作者: 江清清 | 来源:发表于2015-11-02 10:40 被阅读573次

    转载请标明出处:

    http://www.jianshu.com/p/67dffeedc6ad

    本文出自:【江清清博客-代号独狼】

            本项目是Android快速开发框架,采用AndroidStudio进行开发。 随着公司项目的不断深入,也相信每个公司都有自己的项目开发框架,同时也在不断的完善,本人在工作中也在不断总结,喜欢技术,热爱开源,也乐于和各种技术牛人一起交流。同时一直有一个想法可以做一套相对快速的开发框架用于工作中。所以就有了下面这个项目,各种工具方法都会再接下来的时间中慢慢加入进入,也非常欢迎和我同样想法的牛人加入进来,一起把这个项目完善好~Thankyou

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

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

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

    1:开发工具类;

    2:ORM;

    3:网络请求(HTTPClint,Volley,OkHttps);

    4:数据解析;

    5:依赖注入;

    6:xutils;

    7:图片异步加载;

    8:二维码扫描;

    9:自定义控件;

    10:传感器相关功能等等 后续会进行逐步添加。

    模块详解如下:

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

    一.Utils工具类加入(1.DataUtils 时间日期处理

    2.GuideUtils 是否启动引导处理标志管理

    3.IoUtils 网络请求工具类【特别注意】这边采用HTTPClient 由于Android 6.0已经删除该类,

    这边libs目录需要加入org.apache.http.legcy.jar依赖包

    4.JudgeNetWorker 网络状态判断工具类

    5.Log 日志自定义管理

    6.ManagerActivity Activity管理工具类

    7.StrUtils 字符串相关处理工具类,系统信息获取工具类)

    二.sperferences加入SharePerferences加入封装工具可以快速使用SP进行数据保存配置文件

    三.Activity基类简单封装BaseActivity和BaseFrameActivity 暂时主要为Toast,LayoutInFlater,打开指定的Activity工具类封装

    (三):实例代码

    1:SharedPerference模块封装类:

    SharedPreferencesHelper.java

    package com.chinaztt.fda.spreference;

    import android.content.Context;

    import android.content.SharedPreferences;

    /**

    * 当前类注释:当前为SharedPerferences进行封装基本的方法,SharedPerferences已经封装成单例模式

    * 可以通过SharedPreferences sp=SharedPreferencesHelper.getInstances(FDApplication.getInstance())进行获取当前对象

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

    * 项目名:FastDev4Android

    * 包名:com.chinaztt.fda.spreference

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

    * 邮箱:jiangqqlmj@163.com

    * QQ: 781931404

    * 公司:江苏中天科技软件技术有限公司

    */

    public class SharedPreferencesHelper {

    private static final String SHARED_PATH = "fda_shared";

    private static SharedPreferencesHelper instance;

    private SharedPreferences sp;

    private SharedPreferences.Editor editor;

    public static SharedPreferencesHelper getInstance(Context context) {

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

    instance = new SharedPreferencesHelper(context);

    }

    return instance;

    }

    private SharedPreferencesHelper(Context context) {

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

    editor = sp.edit();

    }

    public long getLongValue(String key) {

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

    return sp.getLong(key, 0);

    }

    return 0;

    }

    public String getStringValue(String key) {

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

    return sp.getString(key, null);

    }

    return null;

    }

    public int getIntValue(String key) {

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

    return sp.getInt(key, 0);

    }

    return 0;

    }

    public int getIntValueByDefault(String key)

    {

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

    return sp.getInt(key, 0);

    }

    return 0;

    }

    public boolean getBooleanValue(String key) {

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

    return sp.getBoolean(key, false);

    }

    return true;

    }

    public float getFloatValue(String key) {

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

    return sp.getFloat(key, 0);

    }

    return 0;

    }

    public void putStringValue(String key, String value) {

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

    editor = sp.edit();

    editor.putString(key, value);

    editor.commit();

    }

    }

    public void putIntValue(String key, int value) {

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

    editor = sp.edit();

    editor.putInt(key, value);

    editor.commit();

    }

    }

    public void putBooleanValue(String key, boolean value) {

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

    editor = sp.edit();

    editor.putBoolean(key, value);

    editor.commit();

    }

    }

    public void putLongValue(String key, long value) {

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

    editor = sp.edit();

    editor.putLong(key, value);

    editor.commit();

    }

    }

    public void putFloatValue(String key, Float value) {

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

    editor = sp.edit();

    editor.putFloat(key, value);

    editor.commit();

    }

    }

    }

    SharedPerferencesTag.java

    package com.chinaztt.fda.spreference;

    /**

    * 当前类注释:当前类用户SharedPreferences进行save的时候 配置key常量

    * 项目名:FastDev4Android

    * 包名:com.chinaztt.fda.spreference

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

    * 邮箱:jiangqqlmj@163.com

    * QQ: 781931404

    * 公司:江苏中天科技软件技术有限公司

    */

    public class SharedPreferencesTag {

    public static final String DEMO_KEY="demo_key";

    }

    2.日志管理类封装

    package com.chinaztt.fda.utils;

    /**

    * 当前类注释:重写系统日志管理类

    * 使用方法:还是和平时Log.v(key,value)这样使用,需要导入当前类,该类会打印比系统更多的日志信息,

    * 例如:类名称,当前运行的方法,行数,和日志信息

    * 项目名:FastDev4Android

    * 包名:com.chinaztt.fda.utils

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

    * 邮箱:jiangqqlmj@163.com

    * QQ: 781931404

    * 公司:江苏中天科技软件技术有限公司

    */

    public class Log {

    public static boolean mIsShow=true;

    /**

    * 设置是否打开log日志开关

    * @param pIsShow

    */

    public static void setShow(boolean pIsShow)

    {

    mIsShow=pIsShow;

    }

    /**

    * 根据tag打印相关v信息

    * @param tag

    * @param msg

    */

    public static void v(String tag,String msg)

    {

    if(mIsShow){

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

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

    traceInfo += ste.getMethodName();

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

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

    }

    /**

    * 根据tag打印v信息,包括Throwable的信息

    * * @param tag

    * @param msg

    * @param tr

    */

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

    {

    if(mIsShow){

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

    }

    }

    /**

    * 根据tag打印输出debug信息

    * @param tag

    * @param msg

    */

    public static void d(String tag,String msg)

    {

    if(mIsShow){

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

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

    traceInfo += ste.getMethodName();

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

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

    }}

    /**

    * 根据tag打印输出debug信息 包括Throwable的信息

    * * @param tag

    * @param msg

    * @param tr

    */

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

    {

    if(mIsShow){

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

    }}

    /**

    * 根据tag打印输出info的信息

    * * @param tag

    * @param msg

    */

    public static void i(String tag,String msg)

    {

    if(mIsShow){

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

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

    traceInfo += ste.getMethodName();

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

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

    }}

    /**

    * 根据tag打印输出info信息 包括Throwable的信息

    * @param tag

    * @param msg

    * @param tr

    */

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

    {

    if(mIsShow){

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

    }}

    /**

    * 根据tag打印输出error信息

    * @param tag

    * @param msg

    */

    public static void e(String tag,String msg)

    {

    if(mIsShow){

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

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

    traceInfo += ste.getMethodName();

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

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

    }}

    /**

    * 根据tag打印输出的error信息 包括Throwable的信息

    * @param tag

    * @param msg

    * @param tr

    */

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

    {

    if(mIsShow){

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

    }}

    }

    以上是部分工具类封装模块,有兴趣的童鞋可以去(https://github.com/jiangqqlmj/FastDev4Android)进行clone,也同时欢迎大家star或者fork一下哈,项目会不断更新,同时如果有兴趣一起完善项目的小伙伴联系我哈~博客资料有联系方式!

    相关文章

      网友评论

      • LostAbaddon:有代码的文章请使用markdown编辑器,并采用代码块语法:
        ```code-lang
        blablabla
        ```

      本文标题:【FastDev4Android框架开发】Android快速开发

      本文链接:https://www.haomeiwen.com/subject/lgrqhttx.html