package com.dazhongcun.merchants.fragment; import com.dazhongcun.application.BaseApplication; import com.dazhongcun.baseactivity.BaseFragment; import com.dazhongcun.meifa.merchants.R; import com.dazhongcun.merchants.adapter.RecyclerViewAdapter; import com.dazhongcun.merchants.adapter.RecyclerViewGalleyAdapter; import com.dazhongcun.merchants.application.AppApplication; import com.dazhongcun.merchants.database.BaseAppDbHelper; import com.dazhongcun.merchants.entity.Status; import com.dazhongcun.merchants.entity.UserEntity; import com.dazhongcun.merchants.user.BasicMember; import com.dazhongcun.merchants.user.LoginActivity; import com.dazhongcun.merchants.user.SettingActivity; import com.dazhongcun.merchants.utils.ImageOptions; import com.dazhongcun.merchants.utils.ParseJson; import com.dazhongcun.merchants.utils.RequestUri; import com.dazhongcun.views.Toaster; import com.dazhongcun.widget.SwipeRefreshLayoutImp; import com.loopj.android.http.AsyncHttpResponseHandler; import com.loopj.android.http.RequestParams; import com.umeng.analytics.MobclickAgent; import roboguice.inject.InjectView; import android.app.ProgressDialog; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener; import android.support.v7.widget.DefaultItemAnimator; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; /** * 任务管理的fragmetn * * @author LT * */ public class MyFragment extends BaseFragment implements OnRefreshListener { @InjectView(R.id.swipe) SwipeRefreshLayout layout; @InjectView(R.id.more) View moreView; @InjectView(R.id.name) TextView name; @InjectView(R.id.address) TextView address; @InjectView(R.id.storeAddress) TextView storeAddress; @InjectView(R.id.storeName) TextView storeName; @InjectView(R.id.userImage) ImageView img; // 头像 @InjectView(R.id.service) TextView service; // 服务 @InjectView(R.id.praise) TextView praise; // 点赞 @InjectView(R.id.profile) TextView profile; // 个人简介 @InjectView(R.id.recycler_img) RecyclerView recycler_img; // 作品集 private BaseAppDbHelper<UserEntity> dbHelper = new BaseAppDbHelper<UserEntity>(); @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); System.out.println("onActivityCreated"); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { System.out.println("onCreateView"); return inflater.inflate(R.layout.fragment_my, null); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); System.out.println("onViewCreated"); layout.setColorScheme(android.R.color.holo_red_light, android.R.color.holo_green_light, android.R.color.holo_blue_bright, android.R.color.holo_orange_light); layout.setOnRefreshListener(this); LinearLayoutManager linearLayoutManager = new LinearLayoutManager( getActivity()); linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); recycler_img.setLayoutManager(linearLayoutManager); // recycler_img.setHasFixedSize(true); // recycler_img.setItemAnimator(new DefaultItemAnimator()); // recycler_img.setLayoutManager(new // LinearLayoutManager(getActivity())); // recycler_img.addItemDecoration(new // DividerItemDecoration(getActivity(), // DividerItemDecoration.HORIZONTAL_LIST)); // UserEntity dblogin = new UserEntity(); // dblogin = dbHelper.queryObjForEq(UserEntity.class, // UserEntity.JSON_ID, LoginActivity.getLoginKey()); // if(dblogin != null){ // name.setText(dblogin.getName()); // address.setText(dblogin.getAddress()); // storeAddress.setText(dblogin.getAddress()); // // } if (LoginActivity.getLoginKey() == -1) { // 尚未登录 Intent it = new Intent(); it.setAction(BaseApplication.EXIT_APP); getActivity().sendBroadcast(it); getActivity().startActivity(new Intent(getActivity(),LoginActivity.class)); getActivity().finish(); } else { // 已经是登录状态 获取详细信息 getInfo(); } moreView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { getActivity().startActivity( new Intent(getActivity(), SettingActivity.class)); } }); } private void getInfo() { RequestParams params = new RequestParams(); params.put(BasicMember.PARAMS_USERID, LoginActivity.getLoginKey() + ""); params.put(RequestUri.CODE, RequestUri.INFO_CODE); // 不确定的dialog Log.d("aaaliua", RequestUri.BASE_URL + "?" + params.toString()); AppApplication.getHttpClient().get(RequestUri.BASE_URL, params, new AsyncHttpResponseHandler() { private boolean isSuc = false; final ProgressDialog progressDialog = new ProgressDialog( getActivity()); @Override public void onStart() { // 网络请求开始 progressDialog.setMessage("正在拉取数据"); progressDialog.setCancelable(false); progressDialog.show(); } @Override @Deprecated public void onSuccess(String content) { parseUserJson(content); Log.d("aaaliua", content); isSuc = true; } @Override @Deprecated public void onFailure(Throwable error) { isSuc = false; if (progressDialog != null && progressDialog.isShowing()) { progressDialog.dismiss(); } } @Override public void onFinish() { if (!isSuc) { Toaster.showDefToast(getActivity(), "数据请求失败"); } if (progressDialog != null && progressDialog.isShowing()) { progressDialog.dismiss(); } } }); } private void parseUserJson(String json) { UserEntity bean = ParseJson.get_loginJSON(json); if (bean != null) { UserEntity dblogin = new UserEntity(); dblogin = dbHelper.queryObjForEq(UserEntity.class, UserEntity.JSON_ID, LoginActivity.getLoginKey()); if (dblogin == null) { // 没有的话就创建对象 插入一条数据 int i = dbHelper.create(bean); } else { // 如果有的话 吧数据库中的ID引用到请求后解析完成后的对象 bean.setId(dblogin.getId()); // 如果有localID就跟新数据库 否则插入数据库 dbHelper.createOrUpdate(bean); } name.setText(bean.getName()); address.setText(bean.getAddress()); storeAddress.setText(bean.getAddress()); service.setText("服务" + bean.getServicefraction()); praise.setText(bean.getPraise()); profile.setText(bean.getSpecialty()); storeName.setText(bean.getShopname()); AppApplication.getImageLoader().displayImage(bean.getImagePath(), img, ImageOptions.defaultOptions); if (bean.getWorks() != null) { String[] datas = bean.getWorks().split("##"); RecyclerViewGalleyAdapter adapter = new RecyclerViewGalleyAdapter( getActivity(), datas, getActivity()); recycler_img.setAdapter(adapter); } } else { Status st = ParseJson.getStatus(json); Toaster.showOneToast(st.getMsg()); } } @Override public void onRefresh() { new Handler().postDelayed(new Runnable() { @Override public void run() { getInfo(); layout.setRefreshing(false); } }, 1000); } public static final String TAG = "MyFragment"; public void onResume() { super.onResume(); MobclickAgent.onPageStart(TAG); } public void onPause() { super.onPause(); MobclickAgent.onPageEnd(TAG); } }