@Override public void get(String url, Map<String, String> map, final ICallBack iCallBack) { Log.e("aaa",map.size()+""); if (map!=null&&map.size()>0){ StringBuffer sb=new StringBuffer(url); sb.append("?"); Set<String> keys = map.keySet(); for (String key:keys) { String s = map.get(key); sb.append(key).append("=").append(s).append("&"); } url=sb.substring(0,sb.length()-1); } Log.e("url",url); Request build = new Request.Builder().url(url).build(); Call call = okHttpClient.newCall(build); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { iCallBack.fail("失败"); } @Override public void onResponse(Call call, Response response) throws IOException { final String string = response.body().string(); App.context.runOnUiThread(new Runnable() { @Override public void run() { iCallBack.sucess(string); } }); } });}
BaseActivity
public abstract class BaseActivity extends AppCompatActivity { private BaseFragment baseFragment; private BaseFragment lastFragment; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getLayoutId()); App.context=this; init(); inData(); } protected abstract View getLayoutId(); protected abstract void init(); protected abstract void inData(); public void changeFragment(int containerId,Class<? extends BaseFragment> fragmentclass,Bundle bundle,boolean isReplace,boolean isBack ){ FragmentManager fragmentManager = getSupportFragmentManager(); String canonicalName = fragmentclass.getSimpleName(); FragmentTransaction transaction = fragmentManager.beginTransaction(); BaseFragment fragmentByTag = (BaseFragment) fragmentManager.findFragmentByTag(canonicalName); if (fragmentByTag==null){ try { fragmentByTag = fragmentclass.newInstance(); transaction.add(containerId,fragmentByTag,canonicalName); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } } if (isReplace){ Log.e("TAG","111111"); transaction.replace(containerId,fragmentByTag,canonicalName); }else{ if (lastFragment!=null){ transaction.hide(lastFragment); transaction.show(fragmentByTag); } } if(bundle != null) { fragmentByTag.setParmas(bundle); } if (isBack){ transaction.addToBackStack(canonicalName); } transaction.commit(); lastFragment=fragmentByTag; } }BaseFragment
public abstract class BaseFragment extends Fragment { private Bundle parmas; @Nullable @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View layoutId = getLayoutId(); return layoutId; } @Override public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); init(); loadData(); } /** * 用于加载Activity布局 * @return */ protected abstract View getLayoutId(); /** * 统一管理数据的初始化 */ protected abstract void init(); /** * 统一做数据加载 */ protected abstract void loadData(); /** * 当Fragment隐藏、显示时改方法会被调用 * @param hidden 当Fragment被隐藏时为true */ @Override public void onHiddenChanged(boolean hidden) { super.onHiddenChanged(hidden); if(hidden) onHide(); else onShow(); } /** * 当Fragment可见时调用 可以在该方法中可以做数据刷新的操作 */ protected void onShow(){}; /** * 当Fragment不可见时调用 可以做一下资源释放的操作 */ protected void onHide(){}; public Bundle getParmas() { return parmas; } public void setParmas(Bundle parmas) { this.parmas = parmas; } }
OkHttp参数拼接
最新推荐文章于 2023-08-06 08:50:03 发布