配置
欢迎页代码
package com.shipping.activity; import cn.jpush.android.api.JPushInterface; import com.shipping.R; import com.shipping.app.App; import com.shipping.guide.GuideActivity; import com.shippingframework.activity.BaseActivity; import com.shippingframework.services.TokenService; import com.shippingframework.services.UserService; import com.shippingframework.sharedpreferences.AppSharedPreferences; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; public class WelcomeActivity extends ShipBaseActivity{ private AppSharedPreferences appSP; // 延迟1秒 private static final long SPLASH_DELAY_MILLIS = 1000*2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); instance=this; setContentView(R.layout.activity_welcome); new App(instance); appSP=new AppSharedPreferences(instance,AppSharedPreferences.APP_SHAREPRE_FILE); ApplicationInit(); // 使用Handler的postDelayed方法,3秒后执行跳转到MainActivity new Handler().postDelayed(new Runnable() { public void run() { goHome(); } }, SPLASH_DELAY_MILLIS); } private void ApplicationInit(){ //获取token TokenService tokenService=new TokenService(instance); tokenService.GetAccessToken(); //系统自动登录 UserService userService=new UserService(instance); userService.AutoLogin(); } private void goHome() { if (appSP.getAppIsFirstRun()) { appSP.setAppIsFirstRun(false); Intent intent = new Intent(WelcomeActivity.this,GuideActivity.class); WelcomeActivity.this.startActivity(intent); WelcomeActivity.this.finish(); } else { Intent intent = new Intent(WelcomeActivity.this, MainActivity.class); WelcomeActivity.this.startActivity(intent); WelcomeActivity.this.finish(); } } @Override protected void onResume() { super.onResume(); JPushInterface.onResume(this); } @Override protected void onPause() { super.onPause(); JPushInterface.onPause(this); } }
activity_welcome.xml
引导页代码
package com.shipping.guide; import com.shipping.R; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; public class GuideActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_guide); new Handler().postDelayed(new Runnable() { @Override public void run() { Intent intent = new Intent(GuideActivity.this, GuideViewPagerActivity.class); startActivity(intent); GuideActivity.this.finish(); } }, 1000); } }
activity_guide.xml
package com.shipping.guide; import java.util.ArrayList; import com.shipping.R; import com.shipping.activity.MainActivity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.view.LayoutInflater; import android.view.View; import android.view.animation.Animation; import android.view.animation.TranslateAnimation; import android.widget.ImageView; public class GuideViewPagerActivity extends Activity { /** Called when the activity is first created. */ private ViewPager mViewPager; // private PagerTitleStrip mPagerTitleStrip; private ImageView mPageImg;// 动画图片 private int currIndex = 0; private ImageView mPage0; private ImageView mPage1; private ImageView mPage2; //private ImageView mPage3; // private ImageView mPage4; // private ImageView mPage5; // private ImageView mPage6; // private ImageView mPage7; // private ImageView mPage8; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_guide_viewpager); mViewPager = (ViewPager) findViewById(R.id.guide_viewpager); mViewPager.setOnPageChangeListener(new MyOnPageChangeListener()); // mPagerTitleStrip = (PagerTitleStrip)findViewById(R.id.pagertitle); mPageImg = (ImageView) findViewById(R.id.guide_page_now); mPage0 = (ImageView) findViewById(R.id.page0); mPage1 = (ImageView) findViewById(R.id.page1); mPage2 = (ImageView) findViewById(R.id.page2); //mPage3 = (ImageView) findViewById(R.id.page3); // mPage4 = (ImageView)findViewById(R.id.page4); // mPage5 = (ImageView)findViewById(R.id.page5); // mPage6 = (ImageView)findViewById(R.id.page6); // mPage7 = (ImageView)findViewById(R.id.page7); // mPage8 = (ImageView)findViewById(R.id.page8); // 将要分页显示的View装入数组中 LayoutInflater mLi = LayoutInflater.from(this); View view1 = mLi.inflate(R.layout.activity_guide_viewpager_1, null); View view2 = mLi.inflate(R.layout.activity_guide_viewpager_2, null); View view3 = mLi.inflate(R.layout.activity_guide_viewpager_3, null); //View view4 = mLi.inflate(R.layout.activity_app_start_viewpager_end,null); // View view5 = mLi.inflate(R.layout.activity_app_start_viewpager_1, // null); // View view6 = mLi.inflate(R.layout.activity_app_start_viewpager_1, // null); // View view7 = mLi.inflate(R.layout.activity_app_start_viewpager_1, // null); // View view8 = mLi.inflate(R.layout.activity_app_start_viewpager_1, // null); // View view9 = mLi.inflate(R.layout.activity_app_start_viewpager_1, // null); // 每个页面的view数据 final ArrayListviews = new ArrayList (); views.add(view1); views.add(view2); views.add(view3); //views.add(view4); // views.add(view5); // views.add(view6); // views.add(view7); // views.add(view8); // views.add(view9); final ArrayList titles = new ArrayList (); titles.add("①"); titles.add("②"); titles.add("③"); //titles.add("④"); // titles.add("⑤"); // titles.add("⑥"); // titles.add("⑦"); // titles.add("⑧"); // titles.add(" "); // 填充ViewPager的数据适配器 PagerAdapter mPagerAdapter = new PagerAdapter() { @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public int getCount() { return views.size(); } @Override public void destroyItem(View container, int position, Object object) { ((ViewPager) container).removeView(views.get(position)); } @Override public CharSequence getPageTitle(int position) { return titles.get(position); } @Override public Object instantiateItem(View container, int position) { ((ViewPager) container).addView(views.get(position)); return views.get(position); } @Override public void finishUpdate(View arg0) { // TODO Auto-generated method stub } @Override public void restoreState(Parcelable arg0, ClassLoader arg1) { // TODO Auto-generated method stub } @Override public Parcelable saveState() { // TODO Auto-generated method stub return null; } @Override public void startUpdate(View arg0) { // TODO Auto-generated method stub } }; mViewPager.setAdapter(mPagerAdapter); } public class MyOnPageChangeListener implements OnPageChangeListener { // int one = offset * 2 + bmpW;// 页卡1 -> 页卡2 偏移量 // int two = one * 2;// 页卡1 -> 页卡3 偏移量 // int move = 20; @Override public void onPageSelected(int arg0) { Animation animation = null; switch (arg0) { case 0: mPage0.setImageDrawable(getResources().getDrawable( R.drawable.guide_viewpager_now)); mPage1.setImageDrawable(getResources().getDrawable( R.drawable.guide_viewpager_index)); if (currIndex == arg0 + 1) { animation = new TranslateAnimation(20 * (arg0 + 1), 20 * arg0, 0, 0); } /* * else if (currIndex == 2) { animation = new * TranslateAnimation(20*2, 0, 0, 0); } */ break; case 1: mPage1.setImageDrawable(getResources().getDrawable( R.drawable.guide_viewpager_now)); mPage0.setImageDrawable(getResources().getDrawable( R.drawable.guide_viewpager_index)); mPage2.setImageDrawable(getResources().getDrawable( R.drawable.guide_viewpager_index)); if (currIndex == arg0 - 1) { animation = new TranslateAnimation(20 * (arg0 - 1), 20 * arg0, 0, 0); } else if (currIndex == arg0 + 1) { animation = new TranslateAnimation(20 * (arg0 + 1), 20 * arg0, 0, 0); } break; case 2: mPage2.setImageDrawable(getResources().getDrawable( R.drawable.guide_viewpager_now)); mPage1.setImageDrawable(getResources().getDrawable( R.drawable.guide_viewpager_index)); /* mPage3.setImageDrawable(getResources().getDrawable( R.drawable.app_start_page_index)); */ if (currIndex == arg0 - 1) { animation = new TranslateAnimation(20 * (arg0 - 1), 20 * arg0, 0, 0); } else if (currIndex == arg0 + 1) { animation = new TranslateAnimation(20 * (arg0 + 1), 20 * arg0, 0, 0); } break; /* case 3: mPage3.setImageDrawable(getResources().getDrawable( R.drawable.app_start_page_now)); // mPage4.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_index)); mPage2.setImageDrawable(getResources().getDrawable( R.drawable.app_start_page_index)); if (currIndex == arg0 - 1) { animation = new TranslateAnimation(20 * (arg0 - 1), 20 * arg0, 0, 0); } else if (currIndex == arg0 + 1) { animation = new TranslateAnimation(20 * (arg0 + 1), 20 * arg0, 0, 0); } break; case 4: // mPage4.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_now)); mPage3.setImageDrawable(getResources().getDrawable( R.drawable.app_start_page_index)); // mPage5.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_index)); if (currIndex == arg0 - 1) { animation = new TranslateAnimation(20 * (arg0 - 1), 20 * arg0, 0, 0); } else if (currIndex == arg0 + 1) { animation = new TranslateAnimation(20 * (arg0 + 1), 20 * arg0, 0, 0); } break; case 5: // mPage5.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_now)); // mPage4.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_index)); // mPage6.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_index)); if (currIndex == arg0 - 1) { animation = new TranslateAnimation(20 * (arg0 - 1), 20 * arg0, 0, 0); } else if (currIndex == arg0 + 1) { animation = new TranslateAnimation(20 * (arg0 + 1), 20 * arg0, 0, 0); } break; case 6: // mPage6.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_now)); // mPage5.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_index)); // mPage7.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_index)); if (currIndex == arg0 - 1) { animation = new TranslateAnimation(20 * (arg0 - 1), 20 * arg0, 0, 0); } else if (currIndex == arg0 + 1) { animation = new TranslateAnimation(20 * (arg0 + 1), 20 * arg0, 0, 0); } break; case 7: // mPage7.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_now)); // mPage8.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_index)); // mPage6.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_index)); if (currIndex == arg0 - 1) { animation = new TranslateAnimation(20 * (arg0 - 1), 20 * arg0, 0, 0); } else if (currIndex == arg0 + 1) { animation = new TranslateAnimation(20 * (arg0 + 1), 20 * arg0, 0, 0); } break;*/ case 8: // mPage8.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_now)); // mPage7.setImageDrawable(getResources().getDrawable(R.drawable.app_start_page_index)); if (currIndex == arg0 - 1) { animation = new TranslateAnimation(20 * (arg0 - 1), 20 * arg0, 0, 0); } /* * else if (currIndex == arg0+1) { animation = new * TranslateAnimation(20*(arg0+1), 20*arg0, 0, 0); } */ break; } currIndex = arg0; animation.setFillAfter(true);// True:图片停在动画结束位置 animation.setDuration(300); // mPageImg.startAnimation(animation); } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { } @Override public void onPageScrollStateChanged(int arg0) { } } public void startbutton(View v) { // 获取启动意图 Intent _intent = getIntent(); if (_intent != null) { boolean isStartClose = _intent.getBooleanExtra("isStartClose",false); if (isStartClose) { this.finish(); } else { Intent intent = new Intent(GuideViewPagerActivity.this,MainActivity.class); startActivity(intent); this.finish(); } }else{ Intent intent = new Intent(); intent.setClass(GuideViewPagerActivity.this,MainActivity.class); startActivity(intent); this.finish(); } } }
activity_guide_viewpager.xml
主页代码
package com.shipping.activity; import java.util.Set; import android.app.ActivityGroup; import android.app.LocalActivityManager; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.view.KeyEvent; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.view.Window; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.TextView; import android.widget.Toast; import cn.jpush.android.api.JPushInterface; import cn.jpush.android.api.TagAliasCallback; import com.shipping.R; import com.shipping.activity.chat.ChatActivity; import com.shipping.activity.chat.ChattingActivity; import com.shipping.activity.ship.MyInquiryPalletDlActivity; import com.shipping.activity.ship.MyInquiryPalletHzActivity; import com.shipping.activity.ship.PalletActivity; import com.shipping.activity.ship.ShipScheduleActivity; import com.shipping.activity.u.InquiryShipActivity; import com.shipping.activity.u.uCenterActivity; import com.shipping.app.App; import com.shippingframework.sharedpreferences.AppSharedPreferences; import com.shippingframework.utils.L; import com.shippingframework.utils.T; public class MainActivity extends ActivityGroup { // main activity public static MainActivity instance; // LinearLayout private LinearLayout mainContainer = null; private Intent mainIntent = null; private LocalActivityManager localActivityManager = null; private TextView appTitle = null; // bottom menu layout private ImageView btn_boot_pallet_ImageView = null; private ImageView btn_boot_shipschedule_ImageView = null; private ImageView btn_boot_chat_ImageView = null; private ImageView btn_boot_personal_ImageView = null; /** * 用户级别的配置文件 * */ private AppSharedPreferences userSP; private boolean isSign = false; // long private long exitTime = 0; private int GOTO_LOGIN = 101; private String TAG = ""; private static final int MSG_SET_ALIAS = 1001; private static final int MSG_SET_TAGS = 1002; private static final int GOTO_LOGIN_ACTIVITY=20; private int UserIntId = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); instance = this; // new App(instance); // App.Logout(); // 隐藏标题 requestWindowFeature(Window.FEATURE_NO_TITLE); // 设置视图 setContentView(R.layout.activity_main); InitView(); InitData(); } @Override public void onWindowFocusChanged(boolean hasFocus) { // TODO Auto-generated method stub super.onWindowFocusChanged(hasFocus); if (hasFocus) { } } /** * 初始化UI */ protected void InitView() { localActivityManager = getLocalActivityManager(); mainContainer = (LinearLayout) findViewById(R.id.main_container); appTitle = (TextView) findViewById(R.id.main_tab_top_title); InitTab(); setContainerView("PalletActivity", PalletActivity.class); setMenuIcon("pallet"); } /** * 初始化加载数据 */ protected void InitData() { // 检查更新 // new Handler().postDelayed(new Runnable() { // @Override // public void run() { // AppUpdate appUpdate = new // AppUpdate(instance,"com.shipping","manager"); // appUpdate.checkUpdate(); // } // }, 5000); // 获得实例对象 userSP = new AppSharedPreferences(instance, AppSharedPreferences.USER_SHAREPRE_FILE); UserIntId = userSP.getUserIntId(); if (UserIntId > 0) { resetAliasAndTags(); } } protected void GoLogin() { Intent intent = new Intent(); intent.setClass(instance, LoginActivity.class); startActivityForResult(intent, GOTO_LOGIN); } /** * 初始化TAB * */ protected void InitTab() { // pallet btn_boot_pallet_ImageView = (ImageView) findViewById(R.id.bottom_tab_pallet_iv); btn_boot_pallet_ImageView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub setMenuIcon("pallet"); // startActivity(new // Intent(MainActivity.this,PalletActivity.class)); Intent intent = new Intent(); intent.setAction("action.palletRefresh"); sendBroadcast(intent); setContainerView("PalletActivity", PalletActivity.class); } }); // ship btn_boot_shipschedule_ImageView = (ImageView) findViewById(R.id.bottom_tab_shipschedule_iv); btn_boot_shipschedule_ImageView .setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub setMenuIcon("ship"); Intent intent = new Intent(); intent.setAction("action.shipRefresh"); sendBroadcast(intent); setContainerView("ShipScheduleActivity", ShipScheduleActivity.class); } }); // chat btn_boot_chat_ImageView = (ImageView) findViewById(R.id.bottom_tab_chat_iv); btn_boot_chat_ImageView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub if (App.UserIsLogin()) { setMenuIcon("chat"); // setContainerView("ChatActivity", ChatActivity.class); if (userSP.getUserType().equals("HZ")){ Intent intent = new Intent(); intent.setAction("action.hzRefresh"); sendBroadcast(intent); setContainerView("MyInquiryPalletHzActivity", MyInquiryPalletHzActivity.class); } if (userSP.getUserType().equals("DL")){ Intent intent = new Intent(); intent.setAction("action.dlRefresh"); sendBroadcast(intent); setContainerView("MyInquiryPalletDlActivity", MyInquiryPalletDlActivity.class); } if(userSP.getUserType().equals("CD")){ Intent intent = new Intent(); intent.setAction("action.refresh"); sendBroadcast(intent); setContainerView("InquiryShipActivity", InquiryShipActivity.class); } } else { T.show(instance, "您尚未登录,请登录后再操作"); startActivityForResult(new Intent(instance, LoginActivity.class),GOTO_LOGIN_ACTIVITY); } } }); // 个人 btn_boot_personal_ImageView = (ImageView) findViewById(R.id.bottom_tab_personal_iv); btn_boot_personal_ImageView.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub setMenuIcon("personal"); setContainerView("uCenterActivity", uCenterActivity.class); } }); } protected void setMenuIcon(String tabIndex) { if (tabIndex.equals("pallet")) { setTitle("货盘"); btn_boot_pallet_ImageView .setImageResource(R.drawable.btn_home_boot_pallet_pressed); btn_boot_shipschedule_ImageView .setImageResource(R.drawable.btn_home_boot_ship_normal); btn_boot_chat_ImageView .setImageResource(R.drawable.btn_home_boot_chat_normal); btn_boot_personal_ImageView .setImageResource(R.drawable.btn_home_boot_personal_normal); } else if (tabIndex.equals("ship")) { setTitle("船期"); btn_boot_pallet_ImageView .setImageResource(R.drawable.btn_home_boot_pallet_normal); btn_boot_shipschedule_ImageView .setImageResource(R.drawable.btn_home_boot_ship_pressed); btn_boot_chat_ImageView .setImageResource(R.drawable.btn_home_boot_chat_normal); btn_boot_personal_ImageView .setImageResource(R.drawable.btn_home_boot_personal_normal); } else if (tabIndex.equals("chat")) { setTitle("聊天"); btn_boot_pallet_ImageView .setImageResource(R.drawable.btn_home_boot_pallet_normal); btn_boot_shipschedule_ImageView .setImageResource(R.drawable.btn_home_boot_ship_normal); btn_boot_chat_ImageView .setImageResource(R.drawable.btn_home_boot_chat_pressed); btn_boot_personal_ImageView .setImageResource(R.drawable.btn_home_boot_personal_normal); } else if (tabIndex.equals("personal")) { setTitle("个人"); btn_boot_pallet_ImageView .setImageResource(R.drawable.btn_home_boot_pallet_normal); btn_boot_shipschedule_ImageView .setImageResource(R.drawable.btn_home_boot_ship_normal); btn_boot_chat_ImageView .setImageResource(R.drawable.btn_home_boot_chat_normal); btn_boot_personal_ImageView .setImageResource(R.drawable.btn_home_boot_personal_pressed); } } /** * 设置标题 * */ public void setTitle(String title) { appTitle.setText(title); } /** * 设置Container * */ protected void setContainerView(String id, Class> activity) { mainContainer.removeAllViews(); mainIntent = new Intent(this, activity); mainIntent.putExtra("VisibilityHeader", false);// True是隐藏 false是不隐藏 mainIntent.putExtra("IsVisibilityHeaderGoBack", true);// True是隐藏 false是不隐藏 mainContainer.addView(localActivityManager .startActivity(id, mainIntent).getDecorView(), new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { // 在首页时才 开启连续两次返回键退出系统功能 if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() == KeyEvent.ACTION_DOWN) { if ((System.currentTimeMillis() - exitTime) > 2000) { Toast.makeText(getApplicationContext(), "再按一次退出应用", Toast.LENGTH_SHORT).show(); exitTime = System.currentTimeMillis(); } else { finish(); System.exit(0); } return true; } return super.onKeyDown(keyCode, event); } private void resetAliasAndTags() { L.i(TAG, "----------------------------------resetAliasAndTags begin"); // reset to jpush // JPushInterface.setAliasAndTags(ChattingActivity.this, UserIntId+"", // null, new TagAliasCallback() { // // @Override // public void gotResult(int code, String alias, Settags) { // L.i(TAG, "[TagAliasCallback], code: " + code); // L.i(TAG, "[TagAliasCallback], alias: " + alias); // L.i(TAG, "[TagAliasCallback], tags: " + tags); // } // }); UserIntId = userSP.getUserIntId(); L.i(TAG, "----------------------------------resetAliasAndTags UserIntId=" + UserIntId); // 调用JPush API设置Alias jpushHandler.sendMessage(jpushHandler.obtainMessage(MSG_SET_ALIAS, UserIntId + "")); L.i(TAG, "----------------------------------resetAliasAndTags end"); } private final TagAliasCallback mAliasCallback = new TagAliasCallback() { @Override public void gotResult(int code, String alias, Set tags) { L.i(TAG, "[TagAliasCallback], code: " + code); L.i(TAG, "[TagAliasCallback], alias: " + alias); L.i(TAG, "[TagAliasCallback], tags: " + tags); String logs; switch (code) { case 0: logs = "Set tag and alias success"; L.i(TAG, logs); break; case 6002: logs = "Failed to set alias and tags due to timeout. Try again after 60s."; L.i(TAG, logs); jpushHandler.sendMessageDelayed( jpushHandler.obtainMessage(MSG_SET_ALIAS, alias), 1000 * 60); break; default: logs = "Failed with errorCode = " + code; L.i(TAG, logs); } // T.show(getApplicationContext(),logs); } }; private final Handler jpushHandler = new Handler() { @Override public void handleMessage(android.os.Message msg) { super.handleMessage(msg); switch (msg.what) { case MSG_SET_ALIAS: L.i(TAG, "Set alias in handler."); JPushInterface.setAliasAndTags(getApplicationContext(), (String) msg.obj, null, mAliasCallback); break; // case MSG_SET_TAGS: // Log.d(TAG, "Set tags in handler."); // JPushInterface.setAliasAndTags(getApplicationContext(), null, // (Set ) msg.obj, mTagsCallback); // break; default: L.i(TAG, "Unhandled msg - " + msg.what); } } }; }
activity_main.xml