充电桩app代码

ChargingCoinsActivity.java 19KB

    package com.electric.chargingpile.activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.view.View; import android.webkit.WebView; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.TextView; import android.widget.Toast; import com.electric.chargingpile.R; import com.electric.chargingpile.adapter.DuiHuanAdapter; import com.electric.chargingpile.application.MainApplication; import com.electric.chargingpile.util.BarColorUtil; import com.electric.chargingpile.util.DES3; import com.electric.chargingpile.util.JsonUtils; import com.electric.chargingpile.util.OkHttpUtil; import com.squareup.okhttp.Request; import com.squareup.okhttp.Response; import com.umeng.analytics.MobclickAgent; import com.zhy.autolayout.AutoLayoutActivity; import com.zhy.http.okhttp.OkHttpUtils; import com.zhy.http.okhttp.callback.StringCallback; import org.json.JSONArray; import org.json.JSONObject; import java.net.URLEncoder; import java.util.ArrayList; import java.util.HashMap; import cn.sharesdk.framework.Platform; import cn.sharesdk.framework.PlatformActionListener; import cn.sharesdk.onekeyshare.OnekeyShare; import okhttp3.Call; public class ChargingCoinsActivity extends AutoLayoutActivity implements View.OnClickListener { private static final String TAG = "ChargingCoinsActivity"; private ImageView iv_back; ListView listview; private String integral, integral2; private TextView tv_chongdianbi, tv_shop, tv_guize; private LinearLayout ll_list; private LinearLayout rl_list; private DuiHuanAdapter duiHuanAdapter; ArrayList<JSONObject> datas = new ArrayList<JSONObject>(); private Handler handler = new Handler() { // 主线程通过这个方法处理消息 @Override public void handleMessage(Message msg) { switch (msg.what) { case 1: try { // JSONObject jsonObj = new JSONObject(msg.obj.toString()); String json = (String) msg.obj; Log.e("json===", json); String data = JsonUtils.getKeyResult(json, "data"); Log.e("data===", data); String rtnCode = JsonUtils.getKeyResult(msg.obj.toString(), "rtnCode"); Log.e("rtnCode===", rtnCode); // // String decode_data = DES3.decode(json); // Log.e("decode_data",decode_data); JSONArray jsonArray = new JSONArray(data); datas.clear(); for (int j = 0; j < jsonArray.length(); j++) { JSONObject jsonObject4 = (JSONObject) jsonArray .opt(j); datas.add(jsonObject4); } Log.d("11111", datas.size() + ""); System.out.print("1111:" + datas.size()); if (datas.size() == 0) { // listview.setVisibility(View.GONE); rl_list.setVisibility(View.GONE); ll_list.setVisibility(View.GONE); // ll_kong.setVisibility(View.VISIBLE); } else { rl_list.setVisibility(View.VISIBLE); ll_list.setVisibility(View.VISIBLE); } duiHuanAdapter = new DuiHuanAdapter(datas); listview.setAdapter(duiHuanAdapter); } catch (Exception e) { e.printStackTrace(); } break; case 2: try { JSONObject jsonObj = new JSONObject(msg.obj.toString()); //兑换用的积分 integral2 = jsonObj.getString("integral2"); //判断等级的积分 integral = jsonObj.getString("integral"); // Log.e("!!!",integral); int dengjiden = Integer.parseInt(integral); // Log.e("!!!",dengjiden+""); // if (dengjiden<100 && dengjiden>0){ // iv_rank.setImageResource(R.drawable.dengji1); // }else if (dengjiden >= 100 &&dengjiden<200){ // iv_rank.setImageResource(R.drawable.dengji2); // }else if (dengjiden >= 200 &&dengjiden<400){ // iv_rank.setImageResource(R.drawable.dengji3); // }else if (dengjiden >= 400 &&dengjiden<700){ // iv_rank.setImageResource(R.drawable.dengji4); // }else if (dengjiden >= 700 &&dengjiden<1000){ // iv_rank.setImageResource(R.drawable.dengji5); // }else if (dengjiden >= 1000){ // iv_rank.setImageResource(R.drawable.dengji6); // } // show_userPoints.setText("充电币:" + integral2); tv_chongdianbi.setText(integral2); return; } catch (Exception e) { e.printStackTrace(); } break; case 3: Toast.makeText(getApplication(), "服务器处理错误", Toast.LENGTH_SHORT).show(); break; default: break; } } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_charging_coins); BarColorUtil.initStatusBarColor(ChargingCoinsActivity.this); initViews(); // getIntegration(); } private void initViews() { iv_back = (ImageView) findViewById(R.id.iv_back); iv_back.setOnClickListener(this); tv_chongdianbi = (TextView) findViewById(R.id.tv_chongdianbi); listview = (ListView) this.findViewById(R.id.listview); tv_shop = (TextView) findViewById(R.id.tv_shop); tv_shop.setOnClickListener(this); ll_list = (LinearLayout) findViewById(R.id.ll_jilu); rl_list = (LinearLayout) findViewById(R.id.rl_list); tv_guize = (TextView) findViewById(R.id.tv_guize); tv_guize.setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.iv_back: finish(); break; case R.id.tv_shop: goShop(); break; case R.id.tv_guize: Intent intent = new Intent(getApplication(), IntegralDescriptionActivity.class); intent.putExtra("url", "http://evcharge.cc/cdz/coin-rule.html"); startActivity(intent); break; default: break; } } private void getData() { new Thread(new Runnable() { @Override public void run() { getitem("222222222222"); } }).start(); } private void getitem(String sms) { long appTime1 = System.currentTimeMillis() / 1000; Log.i("appTime(long)---", appTime1 + ""); long updatetime = appTime1 - MainMapActivity.cha - 3; Log.i("updatetime(long)---", updatetime + ""); Log.i("cha---", MainMapActivity.cha + ""); String token = String.valueOf(updatetime); String encode_token = null; try { encode_token = DES3.encode(token); } catch (Exception e) { e.printStackTrace(); } String replace = URLEncoder.encode(encode_token); String url = MainApplication.url + "/zhannew/basic/web/index.php/mall/record_v2?userid=" + MainApplication.userId + "&token=" + replace; Log.e("url", url); Request request = new Request.Builder().url(url).build(); Response response = null; try { if (request == null) { Message msg = new Message(); msg.what = 3; handler.sendMessage(msg); return; } response = OkHttpUtil.execute(request); if (response.code() == 200) { String json = ""; try { json = response.body().string(); Message msg = new Message(); msg.obj = json; msg.what = 1; handler.sendMessage(msg); Log.e("url", json); } catch (Exception e) { e.printStackTrace(); Message msg = new Message(); msg.what = 3; handler.sendMessage(msg); } } } catch (Exception e) { e.printStackTrace(); Message msg = new Message(); msg.what = 3; handler.sendMessage(msg); } } @Override protected void onResume() { super.onResume(); getUserIntegral(); getData(); } private void getUserIntegral() { String replace = null; try { long appTime1 = System.currentTimeMillis() / 1000; long updatetime = appTime1 - MainMapActivity.cha - 3; String token = String.valueOf(updatetime); String encode_token = DES3.encode(token); replace = URLEncoder.encode(encode_token); } catch (Exception e) { e.printStackTrace(); } String url = MainApplication.url + "/zhannew/basic/web/index.php/member/get-score?id=" + MainApplication.userId + "&phone=" + MainApplication.userPhone + "&password=" + MainApplication.userPassword + "&token=" + replace; OkHttpUtils.get().url(url).build().execute(new StringCallback() { @Override public void onError(Call call, Exception e) { } @Override public void onResponse(String response) { // Log.e(TAG, "onResponse: "+response ); String rtnCode = JsonUtils.getKeyResult(response, "rtnCode"); if (null != rtnCode && rtnCode.equals("01")) { String rtnMsg = JsonUtils.getKeyResult(response, "rtnMsg"); String count_score = JsonUtils.getKeyResult(rtnMsg, "count_score"); String money = JsonUtils.getKeyResult(rtnMsg, "money"); String hongbao1 = JsonUtils.getKeyResult(rtnMsg, "hongbao"); if (null != count_score && !count_score.equals("")) { tv_chongdianbi.setText(count_score); } } } }); } private void goShop() { long appTime11 = System.currentTimeMillis() / 1000; Log.i("appTime(long)---", appTime11 + ""); long updatetime1 = appTime11 - MainMapActivity.cha - 5; Log.i("updatetime(long)---", updatetime1 + ""); Log.i("cha---", MainMapActivity.cha + ""); String token1 = String.valueOf(updatetime1); String encode_token = null; try { encode_token = DES3.encode(token1); } catch (Exception e) { e.printStackTrace(); } String replace = URLEncoder.encode(encode_token); // startActivity(new Intent(getApplication(), ShopActivity.class)); Intent intent11 = new Intent(); intent11.setClass(ChargingCoinsActivity.this, CreditActivity.class); intent11.putExtra("navColor", "#fcfcfc"); //配置导航条的背景颜色,请用#ffffff长格式。 intent11.putExtra("titleColor", "#222222"); //配置导航条标题的颜色,请用#ffffff长格式。 MainApplication.goods_type = "shop"; if (!MainApplication.isLogin()) { intent11.putExtra("url", "http://cdz.evcharge.cc/zhannew/basic/web/index.php/duiba/active?token=" + replace); //配置自动登陆地址,每次需服务端动态生成。 } else { intent11.putExtra("url", "http://cdz.evcharge.cc/zhannew/basic/web/index.php/duiba/active?user_id=" + MainApplication.userId + "&token=" + replace); //配置自动登陆地址,每次需服务端动态生成。 } startActivity(intent11); CreditActivity.creditsListener = new CreditActivity.CreditsListener() { /** * 当点击分享按钮被点击 * @param shareUrl 分享的地址 * @param shareThumbnail 分享的缩略图 * @param shareTitle 分享的标题 * @param shareSubtitle 分享的副标题 */ public void onShareClick(WebView webView, String shareUrl, String shareThumbnail, String shareTitle, String shareSubtitle) { //当分享按钮被点击时,会调用此处代码。在这里处理分享的业务逻辑。 // new AlertDialog.Builder(webView.getContext()) // .setTitle("分享信息") // .setItems(new String[] {"标题:"+shareTitle,"副标题:"+shareSubtitle,"缩略图地址:"+shareThumbnail,"链接:"+shareUrl}, null) // .setNegativeButton("确定", null) // .show(); OnekeyShare oks = new OnekeyShare(); //关闭sso授权 oks.disableSSOWhenAuthorize(); // title标题,印象笔记、邮箱、信息、微信、人人网和QQ空间使用 oks.setTitle(shareTitle); // titleUrl是标题的网络链接,仅在人人网和QQ空间使用 oks.setTitleUrl(shareUrl); // text是分享文本,所有平台都需要这个字段 oks.setText(""); // oks.setText("最准最全的找桩神器\n地址:" + zhan.getZhan_address()); // imagePath是图片的本地路径,Linked-In以外的平台都支持此参数 // oks.setImagePath();//确保SDcard下面存在此张图片 oks.setImageUrl(shareThumbnail); // url仅在微信(包括好友和朋友圈)中使用 oks.setUrl(shareUrl); // comment是我对这条分享的评论,仅在人人网和QQ空间使用 oks.setComment("我是测试评论文本"); // site是分享此内容的网站名称,仅在QQ空间使用 oks.setSite(getString(R.string.app_name)); // siteUrl是分享此内容的网站地址,仅在QQ空间使用 oks.setSiteUrl(shareUrl); // 启动分享GUI oks.show(getApplication()); oks.setCallback(new PlatformActionListener() { @Override public void onComplete(Platform platform, int i, HashMap<String, Object> hashMap) { // shareGetPoints(); // new Thread(new Runnable() { // @Override // public void run() { Toast.makeText(getApplication(), "分享成功", Toast.LENGTH_SHORT).show(); if (MainApplication.isLogin()) { // shareGetPoints(); } Log.e("onComplete", "分享成功"); // } // }).start(); } @Override public void onError(Platform platform, int i, Throwable throwable) { } @Override public void onCancel(Platform platform, int i) { } }); } /** * 当点击“请先登录”按钮唤起登录时,会调用此处代码。 * 用户登录后,需要将CreditsActivity.IS_WAKEUP_LOGIN变量设置为true。 * @param webView 用于登录成功后返回到当前的webview刷新登录状态。 * @param currentUrl 当前页面的url */ public void onLoginClick(WebView webView, final String currentUrl) { //当未登录的用户点击去登录时,会调用此处代码。 //用户登录后,需要将CreditsActivity.IS_WAKEUP_LOGIN变量设置为true。 //为了用户登录后能回到未登录前的页面(currentUrl)。 //当用户登录成功后,需要重新请求一次服务端,带上currentUrl。 //用该方法中的webview变量加载请求链接。 //服务端收到请求后在生成免登录url时,将currentUrl放入redirect参数,通知客户端302跳转到新生成的免登录URL。 new AlertDialog.Builder(webView.getContext()) .setTitle("跳转登录") .setMessage("跳转到登录页面?") .setPositiveButton("是", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { MainApplication.current_url = currentUrl; startActivity(new Intent(getApplicationContext(), LoginActivity.class)); } }) .setNegativeButton("否", null) .show(); } /** * 当点击“复制”按钮时,触发该方法,回调获取到券码code * @param webView webview对象。 * @param code 复制的券码 */ public void onCopyCode(WebView webView, String code) { //当未登录的用户点击去登录时,会调用此处代码。 new AlertDialog.Builder(webView.getContext()) .setTitle("复制券码") .setMessage("已复制,券码为:" + code) .setPositiveButton("是", null) .setNegativeButton("否", null) .show(); } /** * 积分商城返回首页刷新积分时,触发该方法。 */ public void onLocalRefresh(WebView mWebView, String credits) { //String credits为积分商城返回的最新积分,不保证准确。 //触发更新本地积分,这里建议用ajax向自己服务器请求积分值,比较准确。 // Toast.makeText(getApplicationContext(), "触发本地刷新积分:"+credits,Toast.LENGTH_SHORT).show(); } }; MobclickAgent.onEvent(getApplicationContext(), "0022"); } }