From 015d93f76b446e3ec3c0dbcc582b77f9e4694ff8 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期五, 07 七月 2017 11:32:30 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java |  169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 162 insertions(+), 7 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
index 4ac2691..c90e67c 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/base/MainActivity.java
@@ -1,12 +1,25 @@
 package cn.com.basic.face.base;
 
+import android.content.Context;
+import android.content.Intent;
+import android.os.Handler;
 import android.support.design.widget.TabLayout;
+import android.support.v4.app.Fragment;
+import android.support.v4.app.FragmentManager;
+import android.support.v4.app.FragmentPagerAdapter;
 import android.support.v4.view.ViewPager;
 import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.Window;
+import android.view.WindowManager;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+import android.widget.Toast;
 
 import com.bsk.zhangbo.demoforbsk.R;
-import cn.com.basic.face.adapter.MyFragmentPagerAdapter;
-import cn.com.basic.face.fragment.SupervisoryFragment;
+import cn.com.basic.face.fragment.SurveillanceFragment;
 import cn.com.basic.face.util.TabNameUtil;
 import cn.com.basic.face.fragment.AttendanceFragment;
 import cn.com.basic.face.fragment.CheckInFragment;
@@ -15,6 +28,10 @@
 import cn.com.basic.face.fragment.RegisterFragment;
 import cn.com.basic.face.fragment.VisitFragment;
 
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.InputStream;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 
@@ -47,27 +64,165 @@
         List<String> tabNamesList = Arrays.asList(TabNameUtil.tabNames);
         int[] tabIcons = TabNameUtil.tabIcons;
         MyFragmentPagerAdapter myFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager(),MainActivity.this);
-        myFragmentPagerAdapter.addFragment(SupervisoryFragment.getInstance(), tabNamesList.get(0),tabIcons[0]);
+        myFragmentPagerAdapter.addFragment(SurveillanceFragment.getInstance(), tabNamesList.get(0),tabIcons[0]);
         myFragmentPagerAdapter.addFragment(RegisterFragment.getInstance(), tabNamesList.get(1),tabIcons[1]);
         myFragmentPagerAdapter.addFragment(CheckInFragment.getInstance(), tabNamesList.get(2),tabIcons[2]);
         myFragmentPagerAdapter.addFragment(PhoneCallFragment.getInstance(), tabNamesList.get(3),tabIcons[3]);
-        myFragmentPagerAdapter.addFragment(VisitFragment.newInstance(), tabNamesList.get(4),tabIcons[4]);
-        myFragmentPagerAdapter.addFragment(AttendanceFragment.newInstance(), tabNamesList.get(5),tabIcons[5]);
-        myFragmentPagerAdapter.addFragment(DeviceFragment.newInstance(), tabNamesList.get(6),tabIcons[6]);
+        myFragmentPagerAdapter.addFragment(VisitFragment.getInstance(), tabNamesList.get(4),tabIcons[4]);
+        myFragmentPagerAdapter.addFragment(AttendanceFragment.getInstance(), tabNamesList.get(5),tabIcons[5]);
+        myFragmentPagerAdapter.addFragment(DeviceFragment.getInstance(), tabNamesList.get(6),tabIcons[6]);
         mViewPager.setAdapter(myFragmentPagerAdapter);
         mViewPager.setOffscreenPageLimit(6);//viewpager缂撳瓨涓暟
         mTabLayout.setupWithViewPager(mViewPager);
         mTabLayout.setTabMode(TabLayout.MODE_FIXED);
         for (int i = 0; i < mTabLayout.getTabCount(); i++) {
             TabLayout.Tab tab = mTabLayout.getTabAt(i);
-            tab.setCustomView(myFragmentPagerAdapter.getTabView(i));
+            LinearLayout view = (LinearLayout)myFragmentPagerAdapter.getTabView(i);
+            tab.setCustomView(view);
             if (i == 0) {
                 tab.getCustomView().setSelected(true);
             }
         }
+        myThread = new MyThread();
+        myThread.start();
+
     }
 
     public static MainActivity getInstance() {
         return instance;
     }
+
+    public static class MyFragmentPagerAdapter extends FragmentPagerAdapter {
+
+        private final List<Fragment> mFragments = new ArrayList<>();
+        private final List<String> mFragmentTitles = new ArrayList<>();
+        private final List<Integer> mFragmentIcons = new ArrayList<>();
+        private Context context;
+        public MyFragmentPagerAdapter(FragmentManager fm, Context context) {
+            super(fm);
+            this.context = context;
+        }
+
+        public void addFragment(Fragment fragment, String title,int drawable) {
+            mFragments.add(fragment);
+            mFragmentTitles.add(title);
+            mFragmentIcons.add(drawable);
+        }
+
+        @Override
+        public Fragment getItem(int position) {
+            return mFragments.get(position);
+        }
+
+        @Override
+        public int getCount() {
+            return mFragments.size();
+        }
+
+        @Override
+        public CharSequence getPageTitle(int position) {
+            return null;
+        }
+
+        public View getTabView(int position){
+            View view = LayoutInflater.from(context).inflate(R.layout.activity_main_tab,null);
+            TextView mTvTitle = (TextView) view.findViewById(R.id.tab_item_title);
+            mTvTitle.setText(mFragmentTitles.get(position));
+            ImageView mImgIcon = (ImageView) view.findViewById(R.id.tab_item_icon);
+            mImgIcon.setImageResource(mFragmentIcons.get(position));
+            return view;
+        }
+
+    }
+
+    boolean doubleBackToExitPressedOnce = false;
+
+    @Override
+    public void onBackPressed() {
+        if (doubleBackToExitPressedOnce) {
+            super.onBackPressed();
+            return;
+        }
+
+        this.doubleBackToExitPressedOnce = true;
+        Toast.makeText(this, "璇峰啀娆℃寜杩斿洖閿��鍑�", Toast.LENGTH_SHORT).show();
+
+        new Handler().postDelayed(new Runnable() {
+
+            @Override
+            public void run() {
+                doubleBackToExitPressedOnce=false;
+            }
+        }, 2000);
+    }
+
+
+    private MyThread myThread;
+    class MyThread extends Thread{
+        @Override
+        public void run() {
+            try {
+                setBmpDecodeEnv();
+                Thread.sleep(2000);
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+        }
+    }
+    /**
+     * 灏唕aw涓嬬殑鏂囦欢澶嶅埗鍒皊dCard
+     */
+    public boolean setBmpDecodeEnv() {
+
+        String path=getFilesDir().getAbsolutePath();
+        String filename = "base.dat";
+        try{
+            String databaseFilename = path + "/" + filename;
+            File dir = new File(path);
+            if (!dir.exists())
+                dir.mkdir();
+            if (!(new File(databaseFilename)).exists()){
+                InputStream is = getResources().openRawResource(R.raw.base);
+                FileOutputStream fos = new FileOutputStream(databaseFilename);
+                byte[] buffer = new byte[8192];
+                int count = 0;
+                while ((count = is.read(buffer)) > 0)
+                {
+                    fos.write(buffer, 0, count);
+                }
+                fos.close();
+                is.close();
+            }
+        }
+        catch (Exception e){
+            System.out.println(e.getMessage());
+            return false;
+        }
+
+        String filename1 = "license.lic";
+        try{
+            String databaseFilename = path + "/" + filename1;
+            File dir = new File(path);
+            if (!dir.exists())
+                dir.mkdir();
+            if (!(new File(databaseFilename)).exists()){
+                InputStream is = getResources().openRawResource(R.raw.license);
+                FileOutputStream fos = new FileOutputStream(databaseFilename);
+                byte[] buffer = new byte[8192];
+                int count = 0;
+                while ((count = is.read(buffer)) > 0)
+                {
+                    fos.write(buffer, 0, count);
+                }
+                fos.close();
+                is.close();
+            }
+        }
+        catch (Exception e){
+            System.out.println(e.getMessage());
+            return false;
+        }
+        return true;
+    }
+
 }

--
Gitblit v1.8.0