【FastDev4Android框架开发】Android快速开发框架介绍(一)
本项目是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
[java]view plaincopy
packagecom.chinaztt.fda.spreference;
importandroid.content.Context;
importandroid.content.SharedPreferences;
/**
*当前类注释:当前为SharedPerferences进行封装基本的方法,SharedPerferences已经封装成单例模式
*可以通过SharedPreferencessp=SharedPreferencesHelper.getInstances(FDApplication.getInstance())进行获取当前对象
*sp.putStringValue(key,value)进行使用
*项目名:FastDev4Android
*包名:com.chinaztt.fda.spreference
*作者:江清清on15/10/2209:25
*邮箱:jiangqqlmj@163.com
*QQ:781931404
*公司:江苏中天科技软件技术有限公司
*/
publicclassSharedPreferencesHelper{
privatestaticfinalStringSHARED_PATH="fda_shared";
privatestaticSharedPreferencesHelperinstance;
privateSharedPreferencessp;
privateSharedPreferences.Editoreditor;
publicstaticSharedPreferencesHelpergetInstance(Contextcontext){
if(instance==null&&context!=null){
instance=newSharedPreferencesHelper(context);
}
returninstance;
}
privateSharedPreferencesHelper(Contextcontext){
sp=context.getSharedPreferences(SHARED_PATH,Context.MODE_PRIVATE);
editor=sp.edit();
}
publiclonggetLongValue(Stringkey){
if(key!=null&&!key.equals("")){
returnsp.getLong(key,0);
}
return0;
}
publicStringgetStringValue(Stringkey){
if(key!=null&&!key.equals("")){
returnsp.getString(key,null);
}
returnnull;
}
publicintgetIntValue(Stringkey){
if(key!=null&&!key.equals("")){
returnsp.getInt(key,0);
}
return0;
}
publicintgetIntValueByDefault(Stringkey)
{
if(key!=null&&!key.equals("")){
returnsp.getInt(key,0);
}
return0;
}
publicbooleangetBooleanValue(Stringkey){
if(key!=null&&!key.equals("")){
returnsp.getBoolean(key,false);
}
returntrue;
}
publicfloatgetFloatValue(Stringkey){
if(key!=null&&!key.equals("")){
returnsp.getFloat(key,0);
}
return0;
}
publicvoidputStringValue(Stringkey,Stringvalue){
if(key!=null&&!key.equals("")){
editor=sp.edit();
editor.putString(key,value);
editor.commit();
}
}
publicvoidputIntValue(Stringkey,intvalue){
if(key!=null&&!key.equals("")){
editor=sp.edit();
editor.putInt(key,value);
editor.commit();
}
}
publicvoidputBooleanValue(Stringkey,booleanvalue){
if(key!=null&&!key.equals("")){
editor=sp.edit();
editor.putBoolean(key,value);
editor.commit();
}
}
publicvoidputLongValue(Stringkey,longvalue){
if(key!=null&&!key.equals("")){
editor=sp.edit();
editor.putLong(key,value);
editor.commit();
}
}
publicvoidputFloatValue(Stringkey,Floatvalue){
if(key!=null&&!key.equals("")){
editor=sp.edit();
editor.putFloat(key,value);
editor.commit();
}
}
}
SharedPerferencesTag.java
[java]view plaincopy
packagecom.chinaztt.fda.spreference;
/**
*当前类注释:当前类用户SharedPreferences进行save的时候配置key常量
*项目名:FastDev4Android
*包名:com.chinaztt.fda.spreference
*作者:江清清on15/10/2209:26
*邮箱:jiangqqlmj@163.com
*QQ:781931404
*公司:江苏中天科技软件技术有限公司
*/
publicclassSharedPreferencesTag{
publicstaticfinalStringDEMO_KEY="demo_key";
}
2.日志管理类封装
[java]view plaincopy
packagecom.chinaztt.fda.utils;
/**
*当前类注释:重写系统日志管理类
*使用方法:还是和平时Log.v(key,value)这样使用,需要导入当前类,该类会打印比系统更多的日志信息,
*例如:类名称,当前运行的方法,行数,和日志信息
*项目名:FastDev4Android
*包名:com.chinaztt.fda.utils
*作者:江清清on15/10/2209:35
*邮箱:jiangqqlmj@163.com
*QQ:781931404
*公司:江苏中天科技软件技术有限公司
*/
publicclassLog{
publicstaticbooleanmIsShow=true;
/**
*设置是否打开log日志开关
*@parampIsShow
*/
publicstaticvoidsetShow(booleanpIsShow)
{
mIsShow=pIsShow;
}
/**
*根据tag打印相关v信息
*@paramtag
*@parammsg
*/
publicstaticvoidv(Stringtag,Stringmsg)
{
if(mIsShow){
StackTraceElementste=newThrowable().getStackTrace()[1];
StringtraceInfo=ste.getClassName()+"::";
traceInfo+=ste.getMethodName();
traceInfo+="@"+ste.getLineNumber()+">>>";
android.util.Log.v(tag,traceInfo+msg);}
}
/**
*根据tag打印v信息,包括Throwable的信息
**@paramtag
*@parammsg
*@paramtr
*/
publicstaticvoidv(Stringtag,Stringmsg,Throwabletr)
{
if(mIsShow){
android.util.Log.v(tag,msg,tr);
}
}
/**
*根据tag打印输出debug信息
*@paramtag
*@parammsg
*/
publicstaticvoidd(Stringtag,Stringmsg)
{
if(mIsShow){
StackTraceElementste=newThrowable().getStackTrace()[1];
StringtraceInfo=ste.getClassName()+"::";
traceInfo+=ste.getMethodName();
traceInfo+="@"+ste.getLineNumber()+">>>";
android.util.Log.d(tag,traceInfo+msg);
}}
/**
*根据tag打印输出debug信息包括Throwable的信息
**@paramtag
*@parammsg
*@paramtr
*/
publicstaticvoidd(Stringtag,Stringmsg,Throwabletr)
{
if(mIsShow){
android.util.Log.d(tag,msg,tr);
}}
/**
*根据tag打印输出info的信息
**@paramtag
*@parammsg
*/
publicstaticvoidi(Stringtag,Stringmsg)
{
if(mIsShow){
StackTraceElementste=newThrowable().getStackTrace()[1];
StringtraceInfo=ste.getClassName()+"::";
traceInfo+=ste.getMethodName();
traceInfo+="@"+ste.getLineNumber()+">>>";
android.util.Log.i(tag,traceInfo+msg);
}}
/**
*根据tag打印输出info信息包括Throwable的信息
*@paramtag
*@parammsg
*@paramtr
*/
publicstaticvoidi(Stringtag,Stringmsg,Throwabletr)
{
if(mIsShow){
android.util.Log.i(tag,msg,tr);
}}
/**
*根据tag打印输出error信息
*@paramtag
*@parammsg
*/
publicstaticvoide(Stringtag,Stringmsg)
{
if(mIsShow){
StackTraceElementste=newThrowable().getStackTrace()[1];
StringtraceInfo=ste.getClassName()+"::";
traceInfo+=ste.getMethodName();
traceInfo+="@"+ste.getLineNumber()+">>>";
android.util.Log.e(tag,traceInfo+msg);
}}
/**
*根据tag打印输出的error信息包括Throwable的信息
*@paramtag
*@parammsg
*@paramtr
*/
publicstaticvoide(Stringtag,Stringmsg,Throwabletr)
{
if(mIsShow){
android.util.Log.e(tag,msg,tr);
}}
}
以上是部分工具类封装模块,有兴趣的童鞋可以去(https://github.com/jiangqqlmj/FastDev4Android)进行clone,也同时欢迎大家star或者fork一下哈,项目会不断更新,同时如果有兴趣一起完善项目的小伙伴联系我哈~博客资料有联系方式!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。