Android源代码.docx

上传人:b****6 文档编号:7078053 上传时间:2023-01-17 格式:DOCX 页数:97 大小:42.02KB
下载 相关 举报
Android源代码.docx_第1页
第1页 / 共97页
Android源代码.docx_第2页
第2页 / 共97页
Android源代码.docx_第3页
第3页 / 共97页
Android源代码.docx_第4页
第4页 / 共97页
Android源代码.docx_第5页
第5页 / 共97页
点击查看更多>>
下载资源
资源描述

Android源代码.docx

《Android源代码.docx》由会员分享,可在线阅读,更多相关《Android源代码.docx(97页珍藏版)》请在冰豆网上搜索。

Android源代码.docx

Android源代码

Android源代码。

packagecom.byt.framlib.base;

importandroid.app.AlertDialog;

importandroid.content.Context;

importandroid.content.DialogInterface;

importandroid.content.Intent;

importandroid.content.pm.ActivityInfo;

importandroid.graphics.Color;

importandroid.os.Bundle;

importandroid.support.annotation.NonNull;

importandroid.support.v4.content.ContextCompat;

importandroid.text.TextUtils;

importandroid.view.LayoutInflater;

importandroid.view.View;

importandroid.view.Window;

importcom.byt.framlib.BuildConfig;

importcom.byt.framlib.R;

importcom.byt.framlib.baseapp.AppManager;

importmonutils.PermissionReq;

importmonutils.ToastUitl;

importmonutils.rx.RxBus;

importmonwidget.LoadingDialog;

importmonwidget.StatusBarCompat;

importponents.support.RxAppCompatActivity;

importcom.umeng.analytics.MobclickAgent;

importbutterknife.ButterKnife;

importbutterknife.Unbinder;

importrx.Subscription;

importrx.subscriptions.CompositeSubscription;

/**

*基类Actvity

*/

publicabstractclassBaseActivityextendsRxAppCompatActivity{

protectedintexpertsColorInt=Color.parseColor("#79d6db");

protectedintuserColorInt=Color.parseColor("#fe6f95");

protectedinttransparentColorInt=Color.parseColor("#00000000");

privateUnbindermBinder;

publicContextmContext;

protectedBundlemSavedInstanceState;

privateCompositeSubscriptionsCompositeSubscription;

protectedSubscriptionsubscribe=null;

protectedViewconentView;

@Override

publicvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

if(sCompositeSubscription==null||sCompositeSubscription.isUnsubscribed()){

sCompositeSubscription=newCompositeSubscription();

}

doBeforeSetcontentView();

setContentView(getLayoutId());

LayoutInflaterinflater=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);

conentView=inflater.inflate(getLayoutId(),null);

mBinder=ButterKnife.bind(this);

MobclickAgent.setScenarioType(mContext,MobclickAgent.EScenarioType.E_DUM_NORMAL);

mContext=this;

this.mSavedInstanceState=savedInstanceState;

this.initPreData();

this.initView();

}

@Override

publicvoidonStart(){

super.onStart();

}

@Override

publicvoidonStop(){

super.onStop();

}

/**

*设置layout前配置

*/

privatevoiddoBeforeSetcontentView(){

//把actvity放到application栈中管理

AppManager.getAppManager().addActivity(this);

//无标题

requestWindowFeature(Window.FEATURE_NO_TITLE);

//设置竖屏

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

//默认着色状态栏

SetStatusBarColor();

//SetStatusBarColor(Color.parseColor("#00000000"));

}

/**

*添加Subscription

*

*@paramsubscription

*/

publicvoidaddSubscription(Subscriptionsubscription){

sCompositeSubscription.add(subscription);

}

/*********************子类实现*****************************/

//获取布局文件

publicabstractintgetLayoutId();

//实例化前端的数据

publicabstractvoidinitPreData();

//初始化view

publicabstractvoidinitView();

/**

*着色状态栏(4.4以上系统有效)

*/

protectedvoidSetStatusBarColor(){

StatusBarCompat.setStatusBarColor(this,ContextCompat.getColor(this,Rmon_tabbar_color));

}

/**

*着色状态栏(4.4以上系统有效)

*/

protectedvoidSetStatusBarColor(intcolor){

StatusBarCompat.setStatusBarColor(this,color);

}

/**

*沉浸状态栏(4.4以上系统有效)

*/

protectedvoidSetTranslanteBar(){

StatusBarCompat.translucentStatusBar(this);

}

/**

*显示单选对话框

*

*@paramtitle标题

*@parammessage提示信息

*@paramcheckedItem默认选中

*@paramstrings选项数组

*@paramonClickListener点击事件的监听

*/

publicvoidshowRadioButtonDialog(Stringtitle,Stringmessage,String[]strings,intcheckedItem,DialogInterface.OnClickListeneronClickListener){

AlertDialog.Builderbuilder=newAlertDialog.Builder(this);

builder.setTitle(title);

if(!

TextUtils.isEmpty(message)){

builder.setMessage(message);

}

builder.setSingleChoiceItems(strings,checkedItem,onClickListener);

builder.create();

builder.show();

}

/**

*通过Class跳转界面

**/

publicvoidopenActivity(Class

>cls){

openActivity(cls,null);

}

/**

*通过Class跳转界面

**/

publicvoidstartActivityForResult(Class

>cls,intrequestCode){

startActivityForResult(cls,null,requestCode);

}

/**

*含有Bundle通过Class跳转界面

**/

publicvoidstartActivityForResult(Class

>cls,Bundlebundle,

intrequestCode){

Intentintent=newIntent();

intent.setClass(this,cls);

if(bundle!

=null){

intent.putExtras(bundle);

}

startActivityForResult(intent,requestCode);

//this.overridePendingTransition(R.anim.fade_in,

//R.anim.fade_out);

}

/**

*含有Bundle通过Class跳转界面

**/

publicvoidopenActivity(Class

>cls,Bundlebundle){

Intentintent=newIntent();

intent.setClass(this,cls);

if(bundle!

=null){

intent.putExtras(bundle);

}

startActivity(intent);

//this.overridePendingTransition(R.anim.fade_in,

//R.anim.fade_out);

}

/**

*含有Bundle通过Class跳转界面

**/

publicvoidopensActivity(Class

>cls,Bundlebundle){

Intentintent=newIntent();

intent.setClass(this,cls);

if(bundle!

=null){

intent.putExtras(bundle);

}

startActivity(intent);

}

/**

*回调

*

*@parambundle

*/

publicvoidsetResultOk(Bundlebundle){

Intentintent=newIntent();

if(bundle!

=null);

intent.putExtras(bundle);

setResult(RESULT_OK,intent);

finish();

this.overridePendingTransition(R.anim.fade_in,

R.anim.fade_out);

}

/**

*开启浮动加载进度条

*/

publicvoidstartProgressDialog(){

LoadingDialog.showDialogForLoading(this);

}

/**

*开启浮动加载进度条

*

*@parammsg

*/

publicvoidstartProgressDialog(Stringmsg){

LoadingDialog.showDialogForLoading(this,msg,true);

}

/**

*停止浮动加载进度条

*/

publicvoidstopProgressDialog(){

LoadingDialog.cancelDialogForLoading();

}

/**

*短暂显示Toast提示(来自String)

**/

publicvoidshowShortToast(Stringtext){

ToastUitl.showShort(text);

}

/**

*短暂显示Toast提示(id)

**/

publicvoidshowShortToast(intresId){

ToastUitl.showShort(resId);

}

/**

*长时间显示Toast提示(来自res)

**/

publicvoidshowLongToast(intresId){

ToastUitl.showLong(resId);

}

/**

*长时间显示Toast提示(来自String)

**/

publicvoidshowLongToast(Stringtext){

ToastUitl.showLong(text);

}

/**

*带图片的toast

*

*@paramtext

*@paramres

*/

publicvoidshowToastWithImg(Stringtext,intres){

ToastUitl.showToastWithImg(text,res);

}

/**

*网络访问错误提醒

*/

publicvoidshowNetErrorTip(){

ToastUitl.showToastWithImg(getText(R_error).toString(),R.drawable.ic_wifi_off);

}

publicvoidshowNetErrorTip(Stringerror){

ToastUitl.showToastWithImg(error,R.drawable.ic_wifi_off);

}

@Override

protectedvoidonResume(){

super.onResume();

//debug版本不统计crash

if(!

BuildConfig.DEBUG){

MobclickAgent.onPageStart("BaseActivity");

MobclickAgent.onResume(mContext);

}

}

@Override

protectedvoidonPause(){

super.onPause();

//debug版本不统计crash

if(!

BuildConfig.DEBUG){

MobclickAgent.onPageEnd("BaseActivity");

MobclickAgent.onPause(mContext);

}

}

@Override

protectedvoidonDestroy(){

super.onDestroy();

if(sCompositeSubscription!

=null){

sCompositeSubscription.unsubscribe();

}

mBinder.unbind();

AppManager.getAppManager().finishActivity(this);

if(subscribe!

=null){

if(!

subscribe.isUnsubscribed()){

subscribe.unsubscribe();

RxBus.getDefault().removeAllStickyEvents();

}

}

}

@Override

publicvoidonRequestPermissionsResult(intrequestCode,@NonNullString[]permissions,@NonNullint[]grantResults){

super.onRequestPermissionsResult(requestCode,permissions,grantResults);

PermissionReq.onRequestPermissionsResult(requestCode,permissions,grantResults);

}

//权限的用法

/*PermissionReq.with(this)

.permissions(Manifest.permission.READ_PHONE_STATE,Manifest.permission.READ_EXTERNAL_STORAGE)

.result(newPermissionReq.Result(){

@Override

publicvoidonGranted(){

}

@Override

publicvoidonDenied(){

}

})

request();*/

@Override

publicvoidonBackPressed(){

super.onBackPressed();

}

}

packagecom.byt.framlib.base;

importandroid.app.Activity;

importandroid.content.Intent;

importandroid.os.Bundle;

importandroid.support.annotation.NonNull;

importandroid.support.annotation.Nullable;

importandroid.view.LayoutInflater;

importandroid.view.View;

importandroid.view.ViewGroup;

importcom.byt.framlib.BuildConfig;

importcom.byt.framlib.R;

importmonutils.PermissionReq;

importmonutils.ToastUitl;

importmonutils.rx.RxBus;

importmonwidget.LoadingDialog;

importponents.support.RxFragment;

importcom.umeng.analytics.MobclickAgent;

importbutterknife.ButterKnife;

importbutterknife.Unbinder;

importrx.Subscription;

/**

*des:

基类fragment

*/

publicabstractclassBaseFragmentextendsRxFragment{

privateUnbindermUnbinder;

protectedViewrootView;

privateBaseActivitymActivity;

protectedActivitycontext;

protectedBundlemSavedInstanceState;

protectedSubscriptionsubscribe=null;

@Nullable

@Override

publicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){

if(rootView==null)

rootView=inflater.inflate(getLayoutResource(),container,false);

mSavedInstanceState=savedInstanceState;

mUnbinder=ButterKnife.bind(this,rootView);

context=getActivity();

MobclickAgent.setScenarioType(context,MobclickAgent.EScenarioType.E_DUM_NORMAL);

initPresenter();

initView();

returnrootView;

}

//获取布局文件

protectedabstractintgetLayoutResource();

//简单页面无需mvp就不用管此方法即可,完美兼容各种实际场景的变通

publicabstractvoidinitPresenter();

//初始化view

prote

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1