zoukankan      html  css  js  c++  java
  • 智能交通模拟系统

    1.Wel_Guide初始化界面

    package com.example.a15665851628.smarttransport.Wel_Guide;
    
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentActivity;
    import android.support.v4.view.PagerAdapter;
    import android.support.v4.view.ViewPager;
    import android.view.View;
    import android.widget.LinearLayout;
    
    
    import com.example.a15665851628.smarttransport.R;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by 15665851628 on 2018/7/12.
     */
    
    public class GuideActivity extends FragmentActivity {
        private ViewPager viewPager;
        private LinearLayout llGuide;
        private PagerAdapter pagerAdapter;
        private List<Fragment> fragments=new ArrayList<Fragment>();
        @Override
        public void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_guide);
            viewPager=findViewById(R.id.guide_viewPager);
            llGuide=findViewById(R.id.ll_guide);
            for (int i=0;i<4;i++){
                GuideFragment fragment=new GuideFragment();
                Bundle bundle=new Bundle();
                bundle.putInt("index",i);
                fragment.setArguments(bundle);
                fragments.add(fragment);
            }
            pagerAdapter=new GuideAdapter(getSupportFragmentManager(),fragments);
            viewPager.setAdapter(pagerAdapter);
            viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
                @Override
                public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
                    for (int i = 0; i < fragments.size(); i++) {
                        llGuide.getChildAt(i).setBackgroundResource(position == i ? R.drawable.dot_focus : R.drawable.dot_nomal);
                    }
                }
    
                @Override
                public void onPageSelected(int position) {
    
                }
    
                @Override
                public void onPageScrollStateChanged(int state) {
    
                }
            });
            initllGuide();
        }
    
        private void initllGuide() {
            LinearLayout.LayoutParams llParams=new LinearLayout.LayoutParams(32,32);
            llParams.leftMargin=20;
            llParams.rightMargin=20;
            for (int i=0;i<fragments.size();i++){
                View view=new View(this);
                view.setId(i);
                view.setBackgroundResource(i==0?R.drawable.dot_focus:R.drawable.dot_nomal);
                view.setLayoutParams(llParams);
                llGuide.addView(view);
            }
        }
    }
    package com.example.a15665851628.smarttransport.Wel_Guide;
    
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentPagerAdapter;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by 15665851628 on 2018/7/12.
     */
    
    public class GuideAdapter extends FragmentPagerAdapter {
        private List<Fragment> fragments=new ArrayList<Fragment>();
        public GuideAdapter(FragmentManager fm) {
            super(fm);
        }
    
        public GuideAdapter(FragmentManager fm, List<Fragment> fragments) {
            super(fm);
            this.fragments=fragments;
        }
    
        @Override
        public Fragment getItem(int position) {
            return fragments.get(position);
        }
    
        @Override
        public int getCount() {
            return fragments.size();
        }
    }
    package com.example.a15665851628.smarttransport.Wel_Guide;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.support.annotation.NonNull;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.Button;
    import android.widget.RelativeLayout;
    
    import com.example.a15665851628.smarttransport.R;
    import com.example.a15665851628.smarttransport.Sign_In_Up.SignActivity;
    
    
    /**
     * Created by 15665851628 on 2018/7/12.
     */
    
    public class GuideFragment extends Fragment {
        private int[] bgRes={R.mipmap.guide1,R.mipmap.guide2,R.mipmap.guide3,R.mipmap.guide4};
        private RelativeLayout relativeLayout;
        private Button bt_enter;
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view=inflater.inflate(R.layout.fragment_guide,null);
            relativeLayout=view.findViewById(R.id.rl_guide);
            bt_enter=view.findViewById(R.id.bt_enter);
    
            int index=getArguments().getInt("index");
            relativeLayout.setBackgroundResource(bgRes[index]);
    
            bt_enter.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    getActivity().onBackPressed();
                    startActivity(new Intent(getActivity(), SignActivity.class));
                }
            });
    
            bt_enter.setVisibility(index==3?View.VISIBLE:View.GONE);
            return view;
        }
    }
    package com.example.a15665851628.smarttransport.Wel_Guide;
    
    import android.content.Context;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Handler;
    import android.support.v7.app.AppCompatActivity;
    
    import com.example.a15665851628.smarttransport.R;
    
    
    public class WelcomeActivity extends AppCompatActivity {
        private Context context=this;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_welcome);
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    startActivity(new Intent(context,GuideActivity.class));
                    finish();
                }
            },1000);
        }
    }

    2.登录界面

    package com.example.a15665851628.smarttransport.Sign_In_Up;
    
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    /**
     * 将字节流转换为字符串的工具类
     */
    public class HttpUtils {
    
        public static String readMyInputStream(InputStream is) {
            byte[] result;
            try {
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                byte[] buffer = new byte[1024];
                int len;
                while ((len = is.read(buffer))!=-1) {
                    baos.write(buffer,0,len);
                }
                is.close();
                baos.close();
                result = baos.toByteArray();
    
            } catch (IOException e) {
                e.printStackTrace();
                String errorStr = "获取数据失败。";
                return errorStr;
            }
            return new String(result);
        }
    
    }
    package com.example.a15665851628.smarttransport.Sign_In_Up;
    
    import android.Manifest;
    import android.content.Context;
    import android.content.pm.PackageManager;
    import android.os.Bundle;
    import android.support.annotation.Nullable;
    import android.support.design.widget.TabLayout;
    import android.support.v4.app.ActivityCompat;
    import android.support.v4.app.Fragment;
    import android.support.v4.content.ContextCompat;
    import android.support.v4.view.ViewPager;
    import android.support.v7.app.AppCompatActivity;
    
    import com.example.a15665851628.smarttransport.R;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * Created by 15665851628 on 2018/7/12.
     */
    
    public class SignActivity extends AppCompatActivity {
        protected static ViewPager mViewapger;
        private TabLayout mTablayout;
        private List<Fragment> mFragments;
        protected static Context context;
        @Override
        public void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_sign);
    
            context=this;
            List<String> promissionList = new ArrayList<>();
            if (ContextCompat.checkSelfPermission(SignActivity.this, Manifest.permission.CAMERA)!= PackageManager.PERMISSION_GRANTED){
                promissionList.add(Manifest.permission.CAMERA);
            }
            if (ContextCompat.checkSelfPermission(SignActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED){
                promissionList.add(Manifest.permission.WRITE_EXTERNAL_STORAGE);
            }
            if(!promissionList.isEmpty()){
                String[] permissions = promissionList.toArray(new String[promissionList.size()]);
                ActivityCompat.requestPermissions(SignActivity.this,permissions,1);
            }
    
    
            mViewapger = (ViewPager) findViewById(R.id.sign_viewPager);
            mTablayout = (TabLayout) findViewById(R.id.sign_tl);
            mFragments=new ArrayList<Fragment>();
    
            SignInFragment signInFragment=new SignInFragment();
            SignUpFragment signUpFragment=new SignUpFragment();
            mFragments.add(signInFragment);
            mFragments.add(signUpFragment);
    
            SignAdapter adapter=new SignAdapter(getSupportFragmentManager(),mFragments);
            mViewapger.setAdapter(adapter);
            mTablayout.setupWithViewPager(mViewapger);
        }
    
    }
    package com.example.a15665851628.smarttransport.Sign_In_Up;
    
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentManager;
    import android.support.v4.app.FragmentPagerAdapter;
    
    import java.util.List;
    
    /**
     * Created by 15665851628 on 2018/7/13.
     */
    
    public class SignAdapter extends FragmentPagerAdapter {
        private String title[]={"登录","注册"};
        private List<Fragment> fragments;
        public SignAdapter(FragmentManager fm) {
            super(fm);
        }
        public SignAdapter(FragmentManager fm, List<Fragment> fragments) {
            super(fm);
            this.fragments=fragments;
        }
    
        @Override
        public Fragment getItem(int position) {
            return fragments.get(position);
        }
    
        @Override
        public int getCount() {
            return fragments.size();
        }
    
        @Nullable
        @Override
        public CharSequence getPageTitle(int position) {
            return title[position];
        }
    }
    package com.example.a15665851628.smarttransport.Sign_In_Up;
    
    import android.app.AlertDialog;
    import android.content.Context;
    import android.content.Intent;
    import android.content.SharedPreferences;
    import android.os.Build;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Looper;
    import android.os.Message;
    import android.support.annotation.NonNull;
    import android.support.annotation.Nullable;
    import android.support.annotation.RequiresApi;
    import android.support.v4.app.Fragment;
    import android.text.TextWatcher;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Spinner;
    import android.widget.Toast;
    
    import com.example.a15665851628.smarttransport.Map.MapActivity;
    import com.example.a15665851628.smarttransport.R;
    import com.google.gson.Gson;
    import com.google.gson.JsonSyntaxException;
    
    import org.json.JSONObject;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.CookieHandler;
    import java.net.CookieManager;
    import java.net.CookiePolicy;
    import java.net.CookieStore;
    import java.net.HttpCookie;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import java.util.concurrent.TimeUnit;
    
    import okhttp3.Call;
    import okhttp3.Callback;
    import okhttp3.Cookie;
    import okhttp3.CookieJar;
    import okhttp3.FormBody;
    import okhttp3.HttpUrl;
    import okhttp3.MediaType;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.RequestBody;
    import okhttp3.Response;
    
    import static android.content.Context.MODE_PRIVATE;
    
    /**
     * Created by 15665851628 on 2018/7/13.
     */
    //登陆
    public class SignInFragment extends Fragment {
       public static OkHttpClient okHttpClient;
       public static String my_cookie;
        private static String sessionID;
        private Button bt_signIn;
        private String username;
        private String password;
        private String identity;
        private EditText ed_username;
        private EditText ed_password;
        private AlertDialog dialog;
        private Handler handler;
    
    
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.fragment_sign_in, null);
            bt_signIn = view.findViewById(R.id.sign_in_bt);
            ed_password = view.findViewById(R.id.ed_sign_in_password);
            ed_username = view.findViewById(R.id.ed_sign_in_account);
    
            bt_signIn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    username = ed_username.getText().toString();
                    password=ed_password.getText().toString();
                    System.out.println(password+username);
                    httpUrlConnction();
    
    
    
    
                    // startActivity(new Intent(SignActivity.context, MapActivity.class));
                }
            });
    
    
    
    
            handler = new Handler() {
    
                @Override
                public void handleMessage(Message msg) {
                    super.handleMessage(msg);
                    switch (msg.what) {
    
                        case 400:
    
                            if(msg.obj.equals("登陆成功")){
    
                              Intent intent =new Intent(SignActivity.context,MapActivity.class);
                              startActivity(intent);
                            }else if(msg.obj.toString().equals("密码错误")){
                                ed_password.setText("");
                                Toast.makeText(SignActivity.context,"密码错误",Toast.LENGTH_SHORT).show();
                            }else  if (msg.obj.toString().equals("用户名不存在")){
                                ed_username.setText("");
                                Toast.makeText(SignActivity.context,"用户名不存在",Toast.LENGTH_SHORT).show();
                            }
    
    
    
    
    
                            break;
    
                        default:
                            break;
                    }
                }
    
            };
    
            return view;
        }
    
    
    
    
        //登陆使用的
        public void httpUrlConnction() {
    
    
            new Thread() {
                public void run() {
                    try {
    
                        OkHttpClient.Builder client1=new OkHttpClient.Builder();
                        client1.cookieJar(new CookieJar() {
                            private List<Cookie> cookies;
                            @Override
                            public void saveFromResponse(HttpUrl url, List<Cookie> cookies) {
                                this.cookies=cookies;
    
                                String cookie_hh=cookies+"";
                                System.out.print(cookie_hh);
                               my_cookie= cookie_hh.substring(cookie_hh.indexOf("=")+1,cookie_hh.indexOf(";"));
                                System.out.print("lllllllllllllll"+my_cookie);
                            }
    
                            @Override
                            public List<Cookie> loadForRequest(HttpUrl url) {
                                if(cookies!=null){
                                    System.out.println(cookies+"youyouyoyouyo");
                                    return cookies;
    
                                }else{
    
    
    
                                    return new ArrayList<Cookie>();
    
                                }
    
                            }
                        });
    
                       okHttpClient=client1.build();
    
    
                        Map map = new HashMap();
                        // 成对放入多个key-value对
                        map.put("username" , username);
                        map.put("password" , password);
    
                        //使用Gson 添加 依赖
                        Gson gson = new Gson();
                        //使用Gson将对象转换为json字符串
                        String json = gson.toJson(map);
                        //MediaType  设置Content-Type 标头中包含的媒体类型值
                        RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8")
                                , json);
    
                        Request request = new Request.Builder()
                                .url("http://139.199.27.66:8081/login")//请求的url
                                .post(requestBody)
                                .build();
    
                        //创建/Call
                        Call call = okHttpClient.newCall(request);
                        //加入队列 异步操作
                        call.enqueue(new Callback() {
                            //请求错误回调方法
                            @Override
                            public void onFailure(Call call, IOException e) {
                                System.out.println("连接失败");
                            }
                            @Override
                            public void onResponse(Call call, Response response) throws IOException {
    
                                String responseData=response.body().string();
                                System.out.print(responseData);
                                System.out.println("hhhhhxxr");
                                String back_data=null;
                                if(responseData.contains("登录成功")){
                                    back_data="登陆成功";
                                }else if(responseData.contains("密码错误")){
                                    back_data="密码错误";
                                }else if(responseData.contains("用户名不存在")) {
                                    back_data = "用户名不存在";
    
                            }
                                Message message = Message.obtain();
                                message.what = 400;
                                message.obj = back_data;
    
                                handler.sendMessage(message);
                        }});
    
    
    
    
    
    
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }.start();
        }
        @Override
        public void onPause() {
            super.onPause();
        }
    
    }
    package com.example.a15665851628.smarttransport.Sign_In_Up;
    
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Looper;
    import android.os.Message;
    import android.support.annotation.NonNull;
    import android.support.annotation.Nullable;
    import android.support.v4.app.Fragment;
    import android.support.v4.app.FragmentTransaction;
    import android.text.Editable;
    import android.text.TextWatcher;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.AdapterView;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Spinner;
    import android.widget.Toast;
    import com.example.a15665851628.smarttransport.R;
    
    import org.json.JSONObject;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    
    
    /**
     * Created by 15665851628 on 2018/7/13.
     */
    //注册
    public class SignUpFragment extends Fragment {
       public static String username;
        private String password;
        private String email;
        private String identity;
        private EditText ed_username;
        private EditText ed_password;
        private EditText ed_email;
        private Button bt_signUp;
        public static Handler handler;
    
    
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.fragment_sign_up,container,false);
            ed_email = view.findViewById(R.id.ed_sign_up_email);
            ed_username = view.findViewById(R.id.ed_sign_up_account);
            ed_password = view.findViewById(R.id.ed_sign_up_password);
            bt_signUp = view.findViewById(R.id.sign_up_bt);
            bt_signUp.setOnClickListener(new View.OnClickListener() {
    
                public void onClick(View view) {
    
                    if (view.getId() == R.id.sign_up_bt){
                        username= ed_username.getText().toString();
                        password=ed_password.getText().toString();
                        email=ed_email.getText().toString();
                        httpUrlConnction();
                    }
                }
    
            });
            TextChange textChange=new TextChange();
            ed_username.addTextChangedListener(textChange);
    
            handler = new Handler() {
    
                @Override
                public void handleMessage(Message msg) {
                    super.handleMessage(msg);
                    switch (msg.what) {
                        case 100:
    
                            ////////////
                            //////////
                            /////////////
                            ////////////这里应该是用户名存在的时候进行的判断。
                            if(msg.obj.toString().equals("用户已存在")){
                               Toast.makeText(SignActivity.context,"用户名已存在",Toast.LENGTH_SHORT).show();
                            }
    
    
                            break;
                        case 300:
                            ed_username.setText("");
                            ed_password.setText("");
                            ed_email.setText("");
                            if(msg.obj.toString().equals("注册成功")){
    
                                Toast.makeText(SignActivity.context,"注册成功",Toast.LENGTH_SHORT).show();
                                SignInFragment signInFragment=new SignInFragment();
                                SignUpFragment signUpFragment=new SignUpFragment();
                                //fragment调转
                                Intent intent = new Intent(getActivity(),SignActivity.class);
                                startActivity(intent);
    
    
                             /*   showFragment(signUpFragment,signInFragment);*/
                            }else{
                                Toast.makeText(SignActivity.context,"注册失败",Toast.LENGTH_SHORT).show();
                            }
    
    
    
    
    
                            break;
    
                        default:
                            break;
                    }
                }
    
            };
            return view;
    
        }
    
       /* private void showFragment(Fragment fragment1, Fragment fragment2) {
            // 获取 FragmentTransaction  对象
            FragmentTransaction transaction = getFragmentManager()
                    .beginTransaction();
            //如果fragment2没有被添加过,就添加它替换当前的fragment1
            if (!fragment2.isAdded()) {
                transaction.replace(R.id.sign_in_dl,fragment2)
                        //加入返回栈,这样你点击返回键的时候就会回退到fragment1了
                        .addToBackStack(null)
                        // 提交事务
                        .commitAllowingStateLoss();
    
            } else { //如果已经添加过了的话就隐藏fragment1,显示fragment2
                transaction
                        // 隐藏fragment1,即当前碎片
                        .hide(fragment1)
                        // 显示已经添加过的碎片,即fragment2
                        .show(fragment2)
                        // 加入返回栈
                        .addToBackStack(null)
                        // 提交事务
                        .commitAllowingStateLoss();
            }
        }*/
    //注册使用的
        public void httpUrlConnction() {
            new Thread() {
                public void run() {
                    try {
    
                        JSONObject obj = new JSONObject();
                        obj.put("username", username);
                        obj.put("password", password);
    
                        // obj.put("password", "llll");
                        System.out.println(obj);
                        // 创建url资源
                        URL url = new URL("http://139.199.27.66:8081/");
                        // 建立http连接
                        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                        // 设置允许输出
                        conn.setDoOutput(true);
    
                        conn.setDoInput(true);
    
                        // 设置不用缓存
                        conn.setUseCaches(false);
                        // 设置传递方式
                        conn.setRequestMethod("POST");
                        // 设置维持长连接
                        conn.setRequestProperty("Connection", "Keep-Alive");
                        // 设置文件字符集:
                        conn.setRequestProperty("Charset", "UTF-8");
                        //转换为字节数组
                        byte[] data = (obj.toString()).getBytes();
                        // 设置文件长度
                        conn.setRequestProperty("Content-Length", String.valueOf(data.length));
    
                        // 设置文件类型:
                        conn.setRequestProperty("contentType", "application/json");
    
    
                        // 开始连接请求
                        conn.connect();
                        OutputStream out = conn.getOutputStream();
                        // 写入请求的字符串
                        out.write((obj.toString()).getBytes());
                        out.flush();
                        out.close();
                        System.out.println(conn.getResponseCode());
    
                        // 请求返回的状态
                        if (conn.getResponseCode() == 200) {
                            System.out.println("连接成功");
    
    
                            try {
                                // 请求返回的数据
                                InputStream in = conn.getInputStream();
                                String result = HttpUtils.readMyInputStream(in);
                                System.out.println(result);
                                boolean flag=result.contains("注册成功");
                                String  back_data;
                                if(flag){
                                    back_data="注册成功";
                                }else{
                                    back_data="注册失败";
                                }
    
    
                                Message message = Message.obtain();
                                message.what =300 ;
                                message.obj=back_data;
    
                                SignUpFragment.handler.sendMessage(message);
    
                            } catch (Exception e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            }
                        } else {
                            System.out.println("no++");
                        }
    
                    } catch (Exception e) {
    
                    }
                }
            }.start();
        }
    
    
    
    
    }
    
    class TextChange implements TextWatcher {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    
        }
    
        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {
    
        }
    
        @Override
        public void afterTextChanged(Editable s) {
            //Toast.makeText(SignActivity.context,"hhhhhhhhh",Toast.LENGTH_SHORT).show();
            httpUrlConnction_rename();
        }
    
        //这个是用来 判断用户名是否存在的!!
        public void httpUrlConnction_rename()   {
            new Thread() {
                public void run() {
                    try {
    
                        JSONObject obj = new JSONObject();
                        obj.put("username",SignUpFragment.username );
    
                        // obj.put("password", "llll");
                        System.out.println(obj);
                        // 创建url资源
                        URL url = new URL("http://139.199.27.66:8081/isExist");
                        // 建立http连接
                        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                        // 设置允许输出
                        conn.setDoOutput(true);
    
                        conn.setDoInput(true);
    
                        // 设置不用缓存
                        conn.setUseCaches(false);
                        // 设置传递方式
                        conn.setRequestMethod("POST");
                        // 设置维持长连接
                        conn.setRequestProperty("Connection", "Keep-Alive");
                        // 设置文件字符集:
                        conn.setRequestProperty("Charset", "UTF-8");
                        //转换为字节数组
                        byte[] data = (obj.toString()).getBytes();
                        // 设置文件长度
                        conn.setRequestProperty("Content-Length", String.valueOf(data.length));
    
                        // 设置文件类型:
                        conn.setRequestProperty("contentType", "application/json");
    
    
                        // 开始连接请求
                        conn.connect();
                        OutputStream out = conn.getOutputStream();
                        // 写入请求的字符串
                        out.write((obj.toString()).getBytes());
                        out.flush();
                        out.close();
    
                        System.out.println(conn.getResponseCode());
    
                        // 请求返回的状态
                        if (conn.getResponseCode() == 200) {
                            System.out.println("连接成功");
    
    
                            try {
                                // 请求返回的数据
                                InputStream in = conn.getInputStream();
                                String result = HttpUtils.readMyInputStream(in);
                                System.out.println(result);
    
                                boolean flag=result.contains("用户名不存在");
                                String  back_data;
                                if(flag){
                                    back_data="用户不存在";
                                }else{
                                    back_data="用户存在";
                                }
    
    
                                Message message = Message.obtain();
                                message.what =100 ;
                                message.obj=back_data;
                                SignUpFragment.handler.sendMessage(message);
                            } catch (Exception e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            }
                        } else {
                            System.out.println("no++");
                        }
    
                    } catch (Exception e) {
    
                    }
                }
            }.start();
        }
    
    
    
    
    }

    2.Map地图:

    package com.example.a15665851628.smarttransport.Map;
    
    import android.annotation.SuppressLint;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.view.View;
    
    public class Bus_101 extends View {
        public Bus_101(Context context) {
            super(context);
        }
    
        @SuppressLint("ResourceAsColor")
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            Paint paint=new Paint();
            paint.setStrokeWidth(30);
            paint.setColor(Color.BLUE);
            canvas.drawLine(480,20,0,500,paint);
            canvas.drawLine(0,490,412,902,paint);
            canvas.drawLine(415,885,170,1130,paint);
            canvas.drawLine(175,1122,175,1400,paint);
    
            paint.setColor(Color.WHITE);
            int r=23;
            canvas.drawCircle(300,193,r,paint);
            canvas.drawCircle(120,380,r,paint);
    
            canvas.drawCircle(130,620,r,paint);
            canvas.drawCircle(310,800,r,paint);
    
            canvas.drawCircle(300,1000,r,paint);
    
            canvas.drawCircle(175,1220,r,paint);
        }
    }
    package com.example.a15665851628.smarttransport.Map;
    
    import android.annotation.SuppressLint;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.view.View;
    
    public class Bus_102 extends View {
        public Bus_102(Context context) {
            super(context);
        }
    
        @SuppressLint("ResourceAsColor")
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            Paint paint=new Paint();
            paint.setStrokeWidth(30);
            paint.setColor(Color.BLUE);
            canvas.drawLine(480,20,380,120,paint);
            canvas.drawLine(365,115,610,360,paint);
            canvas.drawLine(610,340,-10,960,paint);
            canvas.drawLine(-40,960,160,1160,paint);
            canvas.drawLine(150,1150,1000,300,paint);
    
            paint.setColor(Color.WHITE);
            int r=23;
            canvas.drawCircle(490,236,r,paint);
    
            canvas.drawCircle(520,425,r,paint);
            canvas.drawCircle(330,615,r,paint);
            canvas.drawCircle(150,795,r,paint);
            canvas.drawCircle(65,1075,r,paint);
    
            canvas.drawCircle(300,1000,r,paint);
            canvas.drawCircle(500,800,r,paint);
            canvas.drawCircle(700,600,r,paint);
            canvas.drawCircle(850,450,r,paint);
            canvas.drawCircle(1000,300,r,paint);
        }
    }
    package com.example.a15665851628.smarttransport.Map;
    
    import android.annotation.SuppressLint;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.view.View;
    
    public class Bus_103 extends View {
        public Bus_103(Context context) {
            super(context);
        }
    
        @SuppressLint("ResourceAsColor")
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            Paint paint=new Paint();
            paint.setStrokeWidth(30);
            paint.setColor(Color.BLUE);
            canvas.drawLine(570,20,1100,550,paint);
            canvas.drawLine(1170,510,800,880,paint);
            canvas.drawLine(810,890,200,280,paint);
            canvas.drawLine(200,300,0,500,paint);
            canvas.drawLine(0,490,850,1340,paint);
    
            paint.setColor(Color.WHITE);
            int r=23;
            canvas.drawCircle(580,30,r,paint);
            canvas.drawCircle(800,250,r,paint);
            canvas.drawCircle(1000,450,r,paint);
    
            canvas.drawCircle(965,710,r,paint);
    
            canvas.drawCircle(715,790,r,paint);
            canvas.drawCircle(515,590,r,paint);
            canvas.drawCircle(315,390,r,paint);
    
            canvas.drawCircle(120,380,r,paint);
    
            canvas.drawCircle(110,600,r,paint);
            canvas.drawCircle(310,800,r,paint);
            canvas.drawCircle(540,1030,r,paint);
        }
    }
    package com.example.a15665851628.smarttransport.Map;
    
    import android.annotation.SuppressLint;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.view.View;
    
    public class Bus_104 extends View {
        public Bus_104(Context context) {
            super(context);
        }
    
        @SuppressLint("ResourceAsColor")
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            Paint paint=new Paint();
            paint.setStrokeWidth(30);
            paint.setColor(Color.BLUE);
            canvas.drawLine(480,20,380,120,paint);
            canvas.drawLine(365,115,780,530,paint);
            canvas.drawLine(250,1050,785,515,paint);
            canvas.drawLine(270,1050,425,1200,paint);
            canvas.drawLine(416,1200,713,1200,paint);
            canvas.drawLine(700,1195,900,1395,paint);
    
            paint.setColor(Color.WHITE);
            int r=23;
            canvas.drawCircle(490,236,r,paint);
            canvas.drawCircle(650,396,r,paint);
    
            canvas.drawCircle(350,956,r,paint);
            canvas.drawCircle(520,780,r,paint);
            canvas.drawCircle(700,600,r,paint);
    
            canvas.drawCircle(338,1120,r,paint);
            canvas.drawCircle(560,1200,r,paint);
        }
    }
    package com.example.a15665851628.smarttransport.Map;
    
    import android.annotation.SuppressLint;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.graphics.Path;
    import android.view.View;
    
    import com.example.a15665851628.smarttransport.R;
    
    public class Map extends View {
        public Map(Context context) {
            super(context);
        }
    
        @SuppressLint("ResourceAsColor")
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
            Paint paint=new Paint();
            paint.setStrokeWidth(45);
            paint.setColor(Color.WHITE);
            //斜向上
            canvas.drawLine(-50,1000,590,360,paint);
            canvas.drawLine(800,880,1100,580,paint);
            canvas.drawLine(700,1200,900,1000,paint);
            canvas.drawLine(-50,550,550,-50,paint);
    
            //斜向下
            canvas.drawLine(-50,730,100,880,paint);
            canvas.drawLine(285,1065,1180,1960,paint);
            canvas.drawLine(-50,950,125,1125,paint);
            canvas.drawLine(500,-50,1200,650,paint);
            canvas.drawLine(200,-50,795,545,paint);
            canvas.drawLine(750,-50,1050,250,paint);
            //竖线
            canvas.drawLine(170,1105,170,3000,paint);
            canvas.drawLine(420,1200,420,3000,paint);
            canvas.drawLine(720,1500,720,3000,paint);
            canvas.drawLine(750,0,750,200,paint);
            //横线
            canvas.drawLine(420,1200,750,1200,paint);
            canvas.drawLine(0,1450,990,1450,paint);
            canvas.drawLine(0,1730,940,1730,paint);
    
    //        paint.setColor(0xFFCCCCCC);
            paint.setColor(Color.WHITE);
            paint.setStrokeWidth(60);
            canvas.drawLine(-50,30,1150,1230,paint);
            canvas.drawLine(-80,410,1120,1610,paint);
            canvas.drawLine(-50,1350,1150,150,paint);
    
            paint.setColor(Color.YELLOW);
            paint.setStrokeWidth(8);
            //斜向上
            canvas.drawLine(-50,970,50,870,paint);
            canvas.drawLine(80,840,190,730,paint);
            canvas.drawLine(230,690,400,520,paint);
            canvas.drawLine(435,480,570,350,paint);
            canvas.drawLine(800,850,1100,550,paint);
            canvas.drawLine(710,1160,870,1000,paint);
            canvas.drawLine(-50,520,170,300,paint);
            canvas.drawLine(210,260,350,120,paint);
            canvas.drawLine(380,90,550,-80,paint);
    
            canvas.drawLine(-50,1030,220,760,paint);
            canvas.drawLine(260,720,430,550,paint);
            canvas.drawLine(465,515,600,380,paint);
            canvas.drawLine(830,880,1100,610,paint);
            canvas.drawLine(740,1190,900,1030,paint);
            canvas.drawLine(40,490,200,330,paint);
            canvas.drawLine(240,300,380,150,paint);
            canvas.drawLine(410,120,550,-20,paint);
    
            //斜向下
            canvas.drawLine(-40,780,50,870,paint);
    
            canvas.drawLine(300,1050,425,1175,paint);
            canvas.drawLine(460,1215,675,1430,paint);
            canvas.drawLine(710,1455,1180,1930,paint);
    
            canvas.drawLine(-60,910,140,1110,paint);
    
            canvas.drawLine(500,-80,735,155,paint);
            canvas.drawLine(780,200,920,340,paint);
            canvas.drawLine(960,380,1200,620,paint);
    
            canvas.drawLine(190,-90,380,100,paint);
            canvas.drawLine(405,125,765,485,paint);
            canvas.drawLine(750,-80,1050,220,paint);
           //////////////
            canvas.drawLine(0,750,80,830,paint);
    
            canvas.drawLine(260,1075,400,1215,paint);
            canvas.drawLine(440,1255,615,1425,paint);
            canvas.drawLine(655,1465,700,1510,paint);
            canvas.drawLine(740,1550,910,1720,paint);
            canvas.drawLine(940,1760,1180,1990,paint);
    
            canvas.drawLine(-90,940,110,1140,paint);
    
            canvas.drawLine(500,-20,890,370,paint);
            canvas.drawLine(930,410,1200,680,paint);
    
            canvas.drawLine(160,-60,350,130,paint);
            canvas.drawLine(375,155,575,355,paint);
            canvas.drawLine(595,375,735,515,paint);
    
            canvas.drawLine(750,-20,1020,250,paint);
    
            //竖线
            canvas.drawLine(150,1195,150,1420,paint);
            canvas.drawLine(150,1455,150,1710,paint);
            canvas.drawLine(150,1750,150,3000,paint);
    
            canvas.drawLine(400,1210,400,1420,paint);
            canvas.drawLine(400,1450,400,1710,paint);
            canvas.drawLine(400,1750,400,3000,paint);
    
            canvas.drawLine(700,1500,700,1710,paint);
            canvas.drawLine(700,1750,700,3000,paint);
    
            canvas.drawLine(735,0,735,150,paint);
    
            canvas.drawLine(195,1155,195,1420,paint);
            canvas.drawLine(195,1455,195,1710,paint);
            canvas.drawLine(195,1750,195,3000,paint);
    
            canvas.drawLine(445,1250,445,1420,paint);
            canvas.drawLine(445,1455,445,1710,paint);
            canvas.drawLine(445,1750,445,3000,paint);
    
            canvas.drawLine(745,1560,745,1710,paint);
            canvas.drawLine(745,1750,745,3000,paint);
    
            canvas.drawLine(775,0,775,200,paint);
    
            //横线
            canvas.drawLine(420,1180,650,1180,paint);
    
            canvas.drawLine(0,1425,150,1425,paint);
            canvas.drawLine(190,1425,400,1425,paint);
            canvas.drawLine(440,1425,615,1425,paint);
            canvas.drawLine(676,1425,895,1425,paint);
    
            canvas.drawLine(0,1710,150,1710,paint);
            canvas.drawLine(190,1710,400,1710,paint);
            canvas.drawLine(440,1710,700,1710,paint);
            canvas.drawLine(740,1710,910,1710,paint);
    
            canvas.drawLine(452,1220,675,1220,paint);
    
            canvas.drawLine(0,1470,150,1470,paint);
            canvas.drawLine(190,1470,400,1470,paint);
            canvas.drawLine(440,1470,660,1470,paint);
            canvas.drawLine(710,1470,915,1470,paint);
    
            canvas.drawLine(0,1760,150,1760,paint);
            canvas.drawLine(190,1760,400,1760,paint);
            canvas.drawLine(440,1760,700,1760,paint);
            canvas.drawLine(740,1760,920,1760,paint);
    
            paint.setColor(Color.GREEN);
            paint.setStrokeWidth(10);
    
            canvas.drawLine(-50,1310,120,1140,paint);
            canvas.drawLine(145,1115,365,895,paint);
            canvas.drawLine(405,855,570,690,paint);
            canvas.drawLine(610,650,745,515,paint);
            canvas.drawLine(770,490,890,370,paint);
            canvas.drawLine(925,345,1020,250,paint);
            canvas.drawLine(1050,220,1150,110,paint);
    
            canvas.drawLine(0,450,10,460,paint);
            canvas.drawLine(40,490,235,685,paint);
            canvas.drawLine(265,715,405,855,paint);
            canvas.drawLine(445,895,710,1160,paint);
            canvas.drawLine(740,1190,1120,1570,paint);
    
            canvas.drawLine(-50,-10,215,255,paint);
            canvas.drawLine(250,290,435,475,paint);
            canvas.drawLine(470,510,610,650,paint);
            canvas.drawLine(648,688,800,840,paint);
            canvas.drawLine(830,870,1150,1190,paint);
    
            canvas.drawLine(-50,1390,150,1190,paint);
            canvas.drawLine(190,1160,270,1080,paint);
            canvas.drawLine(290,1060,405,935,paint);
            canvas.drawLine(445,895,610,730,paint);
            canvas.drawLine(650,690,930,410,paint);
            canvas.drawLine(960,380,1150,190,paint);
    
            canvas.drawLine(-80,460,190,730,paint);
            canvas.drawLine(220,760,365,895,paint);
            canvas.drawLine(405,935,640,1170,paint);
            canvas.drawLine(670,1210,890,1420,paint);
            canvas.drawLine(920,1455,1120,1660,paint);
    
            canvas.drawLine(-50,70,175,295,paint);
            canvas.drawLine(205,325,400,520,paint);
            canvas.drawLine(430,550,570,700,paint);
            canvas.drawLine(610,740,870,1000,paint);
            canvas.drawLine(900,1030,1150,1270,paint);
    
            paint.setColor(Color.BLACK);
            paint.setTextSize(35);
    
            Path path=new Path();
            path.setLastPoint(0,500);
            path.lineTo(500,0);
            String path1Name="A      一     路";
            canvas.drawTextOnPath(path1Name,path,400,13,paint);
    
            Path path2=new Path();
            path2.setLastPoint(-200,700);
            path2.lineTo(500,0);
            canvas.drawTextOnPath("A  二  路",path2,375,330,paint);
            canvas.drawTextOnPath("A  三  路",path2,750,846,paint);
            canvas.drawTextOnPath("A  五  路",path2,377,1000,paint);
    
            Path path3=new Path();
            path3.setLastPoint(-300,800);
            path3.lineTo(500,0);
            String path3Name="A       四       路";
            canvas.drawTextOnPath(path3Name,path3,100,580,paint);
            canvas.drawTextOnPath(path3Name,path3,900,580,paint);
    
            Path path4=new Path();
            path4.setLastPoint(500,0);
            path4.lineTo(1500,1000);
            String path4Name="B    一   路";
            canvas.drawTextOnPath("B    一   路",path4,250,-20,paint);
    
            canvas.drawTextOnPath("B    二   路",path4,310,-195,paint);
    
            canvas.drawTextOnPath("B    三   路",path4,200,195,paint);
    
            canvas.drawTextOnPath("B       四       路",path4,50,430,paint);
            canvas.drawTextOnPath("B       四       路",path4,800,430,paint);
    
            canvas.drawTextOnPath("B       五       路",path4,160,715,paint);
            canvas.drawTextOnPath("B       五       路",path4,900,715,paint);
    
            Path path5=new Path();
            path5.setLastPoint(0,800);
            path5.lineTo(800,1600);
            canvas.drawTextOnPath("C       一       路",path5,650,0,paint);
    
            Path path6=new Path();
            path6.setLastPoint(0,1450);
            path6.lineTo(1000,1450);
            canvas.drawTextOnPath("D        一       路",path6,300,10,paint);
            canvas.drawTextOnPath("D        二       路",path6,300,300,paint);
    
            Path path7=new Path();
            path7.setLastPoint(450,1500);
            path7.lineTo(450,1700);
            canvas.drawTextOnPath("E    一   路",path7,0,40,paint);
            canvas.drawTextOnPath("E    二   路",path7,0,290,paint);
            canvas.drawTextOnPath("E    三   路",path7,40,-260,paint);
        }
    }
    package com.example.a15665851628.smarttransport.Map;
    
    import android.annotation.SuppressLint;
    import android.content.Context;
    import android.content.Intent;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.os.Build;
    import android.os.Handler;
    import android.os.Looper;
    import android.os.Message;
    import android.support.annotation.NonNull;
    import android.support.annotation.RequiresApi;
    import android.support.design.widget.FloatingActionButton;
    import android.support.design.widget.NavigationView;
    import android.support.v4.content.ContextCompat;
    import android.support.v4.widget.DrawerLayout;
    import android.support.v7.app.ActionBarDrawerToggle;
    import android.support.v7.app.AlertDialog;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.support.v7.widget.Toolbar;
    import android.util.Log;
    import android.view.Gravity;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.FrameLayout;
    import android.widget.ImageView;
    import android.widget.LinearLayout;
    import android.widget.TextView;
    import android.widget.Toast;
    
    
    import com.example.a15665851628.smarttransport.R;
    import com.example.a15665851628.smarttransport.Sign_In_Up.HttpUtils;
    import com.example.a15665851628.smarttransport.Sign_In_Up.SignActivity;
    import com.example.a15665851628.smarttransport.Sign_In_Up.SignInFragment;
    import com.google.gson.Gson;
    
    import org.json.JSONObject;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Timer;
    import java.util.TimerTask;
    
    import okhttp3.Call;
    import okhttp3.Callback;
    import okhttp3.Cookie;
    import okhttp3.CookieJar;
    import okhttp3.FormBody;
    import okhttp3.HttpUrl;
    import okhttp3.MediaType;
    import okhttp3.OkHttpClient;
    import okhttp3.Request;
    import okhttp3.RequestBody;
    import okhttp3.Response;
    
    public class MapActivity extends AppCompatActivity {
        private Timer timer;
    
        int time_park;
        private Toolbar toolbar;
        private ImageView img_bus;
        private ImageView img_busStation;
        private ImageView img_start;
        private ImageView img_end;
        private Bus_101 bus101;
        private Bus_102 bus102;
        private Bus_103 bus103;
        private Bus_104 bus104;
      static  String bus_xs,bus_ys;
        static int bus_x,bus_y;
        private Handler handler;
        private FrameLayout layout;
        private Button bt_bus;
        private Button bt_light;
        private Button bt_stop;
        private Button bt_change;
        private Context context;
        private Map mapView;
        private int busX;
        private int busY;
        static  String  []lights=new String[20];
        String  speed_data,park_data,sumMoney_data,light_time,flag_bus1,flag_bus2,flag_bus3,flag_bus4;
        int i=0;
     static  String flag,flag1,flag2,flag3;
        @SuppressLint("ResourceAsColor")
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_map);
            initView();
            initToolBar();
            initButton();
            context=this;
            for(int i=0;i<12;i++){
                lights[i]="green";
            }
    
    
            handler = new Handler() {
    
                @Override
                public void handleMessage(Message msg) {
                    super.handleMessage(msg);
                    switch (msg.what) {
    //小车移动第一两车
                        case 101:
                            if(msg.obj.equals("true")){
                                httpUrlConnction_car("busOne");
                                // FrameLayout.LayoutParams layoutParams3=new FrameLayout.LayoutParams(80,80);
    
                                img_bus.setX(bus_x);
                                img_bus.setY(bus_y);
                                // layout.addView(img_bus,layoutParams3);
                            }
                            break;
                        case 102:
                            if(msg.obj.equals("true")){
                                httpUrlConnction_car("busTwo");
                                // FrameLayout.LayoutParams layoutParams3=new FrameLayout.LayoutParams(80,80);
    
                                img_bus.setX(bus_x);
                                img_bus.setY(bus_y);
                                // layout.addView(img_bus,layoutParams3);
                            }
                            break;
                        case 103:
                            if(msg.obj.equals("true")){
                                httpUrlConnction_car("busThree");
                                // FrameLayout.LayoutParams layoutParams3=new FrameLayout.LayoutParams(80,80);
    
                                img_bus.setX(bus_x);
                                img_bus.setY(bus_y);
                                // layout.addView(img_bus,layoutParams3);
                            }
                            break;
                        case 104:
                            if(msg.obj.equals("true")){
                            httpUrlConnction_car("busFour");
                               // FrameLayout.LayoutParams layoutParams3=new FrameLayout.LayoutParams(80,80);
    
                                img_bus.setX(bus_x);
                                img_bus.setY(bus_y);
                               // layout.addView(img_bus,layoutParams3);
                            }
                            break;
                        case 04:
                            if(msg.obj.equals("true")) {
                                httpUrlConnction_LightGR("4-1", 0);
                                httpUrlConnction_LightGR("4-2", 1);
                                httpUrlConnction_LightGR("4-3", 2);
                                httpUrlConnction_LightGR("4-4", 3);
                                httpUrlConnction_LightGR("4-5", 4);
                                httpUrlConnction_LightGR("4-6", 5);
                                httpUrlConnction_LightGR("4-7", 6);
                                httpUrlConnction_LightGR("4-8", 7);
                                FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(130, 60);
                                Button light1 = new Button(context);
                                light1.setX(420);
                                light1.setY(95);
                                if (lights[0].equals("green")) {
                                    light1.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light1.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light2 = new Button(context);
                                light2.setX(460);
                                light2.setY(350);
                                if (lights[1].equals("green")) {
                                    light2.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light2.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light3 = new Button(context);
                                light3.setX(800);
                                light3.setY(500);
                                if (lights[2].equals("green")) {
                                    light3.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light3.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light4 = new Button(context);
                                light4.setX(480);
                                light4.setY(620);
                                if (lights[3].equals("green")) {
                                    light4.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light4.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light5 = new Button(context);
                                light5.setX(270);
                                light5.setY(830);
                                if (lights[4].equals("green")) {
                                    light5.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light5.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light6 = new Button(context);
                                light6.setX(310);
                                light6.setY(1010);
                                if (lights[5].equals("green")) {
                                    light6.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light6.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light7 = new Button(context);
                                light7.setX(360);
                                light7.setY(1220);
                                if (lights[6].equals("green")) {
                                    light7.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light7.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light8 = new Button(context);
                                light8.setX(650);
                                light8.setY(1120);
                                if (lights[7].equals("green")) {
                                    light8.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light8.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                layout.addView(light1, params);
                                layout.addView(light2, params);
                                layout.addView(light3, params);
                                layout.addView(light4, params);
                                layout.addView(light5, params);
                                layout.addView(light6, params);
                                layout.addView(light7, params);
                                layout.addView(light8, params);
                            }
                            break;
                        case 03:
                            if(msg.obj.equals("true")){
                            httpUrlConnction_LightGR("3-1",0);
                            httpUrlConnction_LightGR("3-2",1);
                            httpUrlConnction_LightGR("3-3",2);
                            httpUrlConnction_LightGR("3-4",3);
                            httpUrlConnction_LightGR("3-5",4);
                            httpUrlConnction_LightGR("3-6",5);
                            httpUrlConnction_LightGR("3-7",6);
                            httpUrlConnction_LightGR("3-8",7);
                            httpUrlConnction_LightGR("3-9",8);
                            httpUrlConnction_LightGR("3-10",9);
                            FrameLayout.LayoutParams paramsx=new FrameLayout.LayoutParams(130,60);
                            Button light1x=new Button(context);
                            light1x.setX(630);
                            light1x.setY(220);
                            if(lights [0].equals("green")){
                                light1x.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light1x.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light2x=new Button(context);
                            light2x.setX(790);
                            light2x.setY(380);
                            if(lights [1].equals("green")){
                                light2x.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light2x.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light3x=new Button(context);
                            light3x.setX(940);
                            light3x.setY(540);
                            if(lights [2].equals("green")){
                                light3x.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light3x.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light4x=new Button(context);
                            light4x.setX(730);
                            light4x.setY(900);
                            if(lights [3].equals("green")){
                                light4x.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light4x.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light5x=new Button(context);
                            light5x.setX(630);
                            light5x.setY(620);
                            if(lights [4].equals("green")){
                                light5x.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light5x.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light6x=new Button(context);
                            light6x.setX(450);
                            light6x.setY(450);
                            if(lights [5].equals("green")){
                                light6x.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light6x.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light7x=new Button(context);
                            light7x.setX(150);
                            light7x.setY(210);
                            if(lights [6].equals("green")){
                                light7x.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light7x.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light8x=new Button(context);
                            light8x.setX(50);
                            light8x.setY(460);
                            if(lights [7].equals("green")){
                                light8x.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light8x.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light9x=new Button(context);
                            light9x.setX(250);
                            light9x.setY(660);
                            if(lights [8].equals("green")){
                                light9x.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light9x.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light10=new Button(context);
                            light10.setX(410);
                            light10.setY(820);
                            if(lights [9].equals("green")){
                                light10.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light10.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light11=new Button(context);
                            light11.setX(710);
                            light11.setY(1120);
                            light11.setBackground(getResources().getDrawable(R.drawable.light_green));
                            layout.addView(light1x,paramsx);
                            layout.addView(light2x,paramsx);
                            layout.addView(light3x,paramsx);
                            layout.addView(light4x,paramsx);
                            layout.addView(light5x,paramsx);
                            layout.addView(light6x,paramsx);
                            layout.addView(light7x,paramsx);
                            layout.addView(light8x,paramsx);
                            layout.addView(light9x,paramsx);
                            layout.addView(light10,paramsx);
                            layout.addView(light11,paramsx);}
                            break;
                        case 02:
                            if(msg.obj.equals("true")){
                            httpUrlConnction_LightGR("2-1",0);
                            httpUrlConnction_LightGR("2-2",1);
                            httpUrlConnction_LightGR("2-3",2);
                            httpUrlConnction_LightGR("2-4",3);
                            httpUrlConnction_LightGR("2-5",4);
                            httpUrlConnction_LightGR("2-6",5);
                            httpUrlConnction_LightGR("2-7",6);
                            httpUrlConnction_LightGR("2-8",7);
                            httpUrlConnction_LightGR("2-9",8);
                            FrameLayout.LayoutParams paramsh=new FrameLayout.LayoutParams(130,60);
                            Button light1h=new Button(context);
                            light1h.setX(420);
                            light1h.setY(95);
                            if(lights [0].equals("green")){
                                light1h.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light1h.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light2h=new Button(context);
                            light2h.setX(620);
                            light2h.setY(320);
                            if(lights [1].equals("green")){
                                light2h.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light2h.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light3h=new Button(context);
                            light3h.setX(440);
                            light3h.setY(520);
                            if(lights [2].equals("green")){
                                light3h.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light3h.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light4h=new Button(context);
                            light4h.setX(240);
                            light4h.setY(720);
                            if(lights [3].equals("green")){
                                light4h.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light4h.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light5h=new Button(context);
                            light5h.setX(20);
                            light5h.setY(950);
                            if(lights [4].equals("green")){
                                light5h.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light5h.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light6h=new Button(context);
                            light6h.setX(80);
                            light6h.setY(1170);
                            if(lights [5].equals("green")){
                                light6h.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light6h.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light7h=new Button(context);
                            light7h.setX(260);
                            light7h.setY(1050);
                            if(lights [6].equals("green")){
                                light7h.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light7h.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light8h=new Button(context);
                            light8h.setX(400);
                            light8h.setY(910);
                            if(lights [7].equals("green")){
                                light8h.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light8h.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light9h=new Button(context);
                            light9h.setX(600);
                            light9h.setY(710);
                            if(lights [8].equals("green")){
                                light9h.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                            }else{
                                light9h.setBackground(getResources().getDrawable(R.drawable.light_red));
                            }
                            Button light10h=new Button(context);
                            light10h.setX(770);
                            light10h.setY(540);
                            light10h.setBackground(getResources().getDrawable(R.drawable.light_green));
                            Button light11h=new Button(context);
                            light11h.setX(920);
                            light11h.setY(390);
                            light11h.setBackground(getResources().getDrawable(R.drawable.light_green));
                            layout.addView(light1h,paramsh);
                            layout.addView(light2h,paramsh);
                            layout.addView(light3h,paramsh);
                            layout.addView(light4h,paramsh);
                            layout.addView(light5h,paramsh);
                            layout.addView(light6h,paramsh);
                            layout.addView(light7h,paramsh);
                            layout.addView(light8h,paramsh);
                            layout.addView(light9h,paramsh);
                            layout.addView(light10h,paramsh);
                            layout.addView(light11h,paramsh);}
                            break;
                        case 01:
                            if(msg.obj.equals("true")) {
                                httpUrlConnction_LightGR("1-1", 0);
                                httpUrlConnction_LightGR("1-2", 1);
                                httpUrlConnction_LightGR("1-3", 2);
                                httpUrlConnction_LightGR("1-4", 3);
                                httpUrlConnction_LightGR("1-5", 4);
                                httpUrlConnction_LightGR("1-6", 5);
                                httpUrlConnction_LightGR("1-7", 6);
    
    
                                FrameLayout.LayoutParams params1 = new FrameLayout.LayoutParams(130, 60);
    
    
                                Button light111 = new Button(context);
                                light111.setX(400);
                                light111.setY(110);
                                if (lights[0].equals("green")) {
                                    light111.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light111.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light112 = new Button(context);
                                light112.setX(200);
                                light112.setY(310);
    
                                if (lights[1].equals("green")) {
                                    light112.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light112.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light113 = new Button(context);
                                light113.setX(50);
                                light113.setY(450);
                                if (lights[2].equals("green")) {
                                    light113.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light113.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light114 = new Button(context);
                                light114.setX(240);
                                light114.setY(650);
                                if (lights[3].equals("green")) {
                                    light114.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light114.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light115 = new Button(context);
                                light115.setX(430);
                                light115.setY(850);
                                if (lights[4].equals("green")) {
                                    light115.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light115.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light116 = new Button(context);
                                light116.setX(280);
                                light116.setY(1040);
                                if (lights[5].equals("green")) {
                                    light116.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light116.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                Button light117 = new Button(context);
                                light117.setX(15);
                                light117.setY(1100);
                                if (lights[6].equals("green")) {
                                    light117.setBackground(getResources().getDrawable(R.drawable.light_green));
    
                                } else {
                                    light117.setBackground(getResources().getDrawable(R.drawable.light_red));
                                }
                                layout.addView(light111, params1);
                                layout.addView(light112, params1);
                                layout.addView(light113, params1);
                                layout.addView(light114, params1);
                                layout.addView(light115, params1);
                                layout.addView(light116, params1);
                                layout.addView(light117, params1);
    
                            }
                            break;
    
                        default:
                            break;
                    }
                }
    
            };
        }
    
        private void stop(){
            AlertDialog.Builder builder=new AlertDialog.Builder(MapActivity.this);
            View view1= LayoutInflater.from(MapActivity.this).inflate(R.layout.dialog_stop,null);
            builder.setView(view1);
            final AlertDialog dialog=builder.create();
            dialog.show();
            Button bt_cancel=view1.findViewById(R.id.bt_cancel);
            Button bt_search_money=view1.findViewById(R.id.bt_search_money);
            EditText ed_hour=view1.findViewById(R.id.ed_hour);
            EditText ed_min=view1.findViewById(R.id.ed_min);
            TextView  ed_summoney=view1.findViewById(R.id.tx_stop_money);
    
            bt_cancel.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    dialog.cancel();
                }
            });
            bt_search_money.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    String timeS=ed_hour.getText().toString();
                    if(timeS.equals("")){
                        time_park=0;
                    }else{
                        time_park=Integer.parseInt(timeS);
                    }
                    httpUrlConnction_parkFee();
                ed_summoney.setText(sumMoney_data);
                }
            });
        }
        private void bus(){
            AlertDialog.Builder builder=new AlertDialog.Builder(MapActivity.this);
            View view= LayoutInflater.from(MapActivity.this).inflate(R.layout.dialog_bus,null);
            builder.setView(view);
            final AlertDialog dialog=builder.create();
            dialog.show();
    
            Button bus_101=view.findViewById(R.id.bt_bus101);
            Button bus_102=view.findViewById(R.id.bt_bus102);
            Button bus_103=view.findViewById(R.id.bt_bus103);
            Button bus_104=view.findViewById(R.id.bt_bus104);
            bus_101.setOnClickListener(new View.OnClickListener() {
                @SuppressLint("NewApi")
                @Override
                public void onClick(View v) {
                    layout.removeAllViews();
                    addView();
                    FrameLayout.LayoutParams layoutParams0=new FrameLayout.LayoutParams(140,140);
                    Button button1=new Button(context);
                    flag_bus1="true"; timer=new Timer();
                    timer.schedule(new TimerTask() {
                        @Override
                        public void run() {
                            // (1) 使用handler发送消息
    
                            Message messagehh=new Message();
                            messagehh.what=101;  messagehh.obj=flag_bus1;
                            handler.sendMessage(messagehh);
                        }
                    },0,1000);//每隔一秒使用handler发送一下消息,也就是每隔一秒执行一次,一直重复执行
    
    
    
    
                    button1.setText("查看路况");
                    button1.setTextSize(10);
                    button1.setBackground(getResources().getDrawable(R.drawable.rec_button2));
                    button1.setX(920);
                    button1.setY(50);
                    layout.addView(button1,layoutParams0);
                    Button button2=new Button(context);
                    button2.setText("取消导航");
                    button2.setTextSize(10);
                    button2.setBackground(getResources().getDrawable(R.drawable.rec_button2));
                    button2.setX(920);
                    button2.setY(200);
                    layout.addView(button2,layoutParams0);
                    button1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            flag1="true";
                            timer=new Timer();
                            timer.schedule(new TimerTask() {
                                @Override
                                public void run() {
                                    // (1) 使用handler发送消息
                                    Message message=new Message();
                                    message.what=01;
    message.obj=flag1;
                                    handler.sendMessage(message);
                                }
                            },0,30000);//每隔一秒使用handler发送一下消息,也就是每隔一秒执行一次,一直重复执行
    
                        }
                    });
                    button2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                           flag1="false";flag_bus1="true";
                            layout.removeAllViews();
                            addView();
                        }
                    });
    
                    layout.addView(bus101);
    
                    FrameLayout.LayoutParams layoutParams3=new FrameLayout.LayoutParams(80,80);
                    img_start.setX(420);
                    img_start.setY(0);
                    layout.addView(img_start,layoutParams3);
                    img_end.setX(130);
                    img_end.setY(1350);
                    layout.addView(img_end,layoutParams3);
    
                    FrameLayout.LayoutParams layoutParams=new FrameLayout.LayoutParams(80,80);
                   /*  img_bus.setX(busX);
                    img_bus.setY(busY);*/
                    layout.addView(img_bus,layoutParams);
    
                    dialog.cancel();
                }
            });
            bus_102.setOnClickListener(new View.OnClickListener() {
                @SuppressLint("NewApi")
                @Override
                public void onClick(View v) {
                    layout.removeAllViews();
                    addView();
                    layout.addView(bus102);
                    FrameLayout.LayoutParams layoutParams0=new FrameLayout.LayoutParams(140,140);
                    Button button1=new Button(context);
    
                    flag_bus2="true"; timer=new Timer();
                    timer.schedule(new TimerTask() {
                        @Override
                        public void run() {
                            // (1) 使用handler发送消息
    
                            Message messagehh=new Message();
                            messagehh.what=102;  messagehh.obj=flag_bus2;
                            handler.sendMessage(messagehh);
                        }
                    },0,1000);//每隔一秒使用handler发送一下消息,也就是每隔一秒执行一次,一直重复执行
    
    
                    button1.setText("查看路况");
                    button1.setTextSize(10);
                    button1.setBackground(getResources().getDrawable(R.drawable.rec_button2));
                    button1.setX(920);
                    button1.setY(700);
                    layout.addView(button1,layoutParams0);
                    Button button2=new Button(context);
                    button2.setText("取消导航");
                    button2.setTextSize(10);
                    button2.setBackground(getResources().getDrawable(R.drawable.rec_button2));
                    button2.setX(920);
                    button2.setY(850);
                    layout.addView(button2,layoutParams0);
                    button1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            flag2="true";
                            timer=new Timer();
                            timer.schedule(new TimerTask() {
                                @Override
                                public void run() {
                                    // (1) 使用handler发送消息
                                    Message message=new Message();
                                    message.what=02;
                                    message.obj=flag2;
    
                                    handler.sendMessage(message);
                                }
                            },0,30000);//每隔一秒使用handler发送一下消息,也就是每隔一秒执行一次,一直重复执行
    
    
                        }
                    });
                    button2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                           flag2="flase";flag_bus2="false";
                            layout.removeAllViews();
                            addView();
                        }
                    });
    
                    FrameLayout.LayoutParams layoutParams3=new FrameLayout.LayoutParams(80,80);
                    img_start.setX(420);
                    img_start.setY(0);
                    layout.addView(img_start,layoutParams3);
    
                    img_end.setX(950);
                    img_end.setY(270);
                    layout.addView(img_end,layoutParams3);
    
                /*    img_bus.setX(busX);
                    img_bus.setY(busY);*/
                    layout.addView(img_bus,layoutParams3);
                    dialog.cancel();
                }
            });
            bus_103.setOnClickListener(new View.OnClickListener() {
                @SuppressLint("NewApi")
                @Override
                public void onClick(View v) {
                    layout.removeAllViews();
                    addView();
                    layout.addView(bus103);
                    FrameLayout.LayoutParams layoutParams0=new FrameLayout.LayoutParams(140,140);
                    Button button1=new Button(context);
                    flag_bus3="true"; timer=new Timer();
                    timer.schedule(new TimerTask() {
                        @Override
                        public void run() {
                            // (1) 使用handler发送消息
    
                            Message messagehh=new Message();
                            messagehh.what=103;  messagehh.obj=flag_bus3;
                            handler.sendMessage(messagehh);
                        }
                    },0,1000);//每隔一秒使用handler发送一下消息,也就是每隔一秒执行一次,一直重复执行
    
    
                    button1.setText("查看路况");
                    button1.setTextSize(10);
                    button1.setBackground(getResources().getDrawable(R.drawable.rec_button2));
                    button1.setX(920);
                    button1.setY(50);
                    layout.addView(button1,layoutParams0);
                    Button button2=new Button(context);
                    button2.setText("取消导航");
                    button2.setTextSize(10);
                    button2.setBackground(getResources().getDrawable(R.drawable.rec_button2));
                    button2.setX(920);
                    button2.setY(200);
                    layout.addView(button2,layoutParams0);
                    button1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            flag3="true";
                            timer=new Timer();
                            timer.schedule(new TimerTask() {
                                @Override
                                public void run() {
                                    // (1) 使用handler发送消息
                                    Message message=new Message();
                                    message.what=03;message.obj=flag3;
    
                                    handler.sendMessage(message);
                                }
                            },0,30000);//每隔一秒使用handler发送一下消息,也就是每隔一秒执行一次,一直重复执行
    
                        }
                    });
                    button2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                         flag3="false";
    flag_bus3="false";
                            layout.removeAllViews();
                            addView();
                        }
                    });
    
                    FrameLayout.LayoutParams layoutParams3=new FrameLayout.LayoutParams(80,80);
                    img_start.setX(540);
                    img_start.setY(0);
                    layout.addView(img_start,layoutParams3);
                    img_end.setX(780);
                    img_end.setY(1280);
                    layout.addView(img_end,layoutParams3);
    
                    FrameLayout.LayoutParams layoutParams=new FrameLayout.LayoutParams(80,80);
                   /* img_bus.setX(busX);
                    img_bus.setY(busY);*/
                    layout.addView(img_bus,layoutParams);
    
                    dialog.cancel();
                }
            });
            bus_104.setOnClickListener(new View.OnClickListener() {
                @SuppressLint("NewApi")
                @Override
                public void onClick(View v) {
                    layout.removeAllViews();
                    addView();
                    layout.addView(bus104);
                    FrameLayout.LayoutParams layoutParams0=new FrameLayout.LayoutParams(140,140);
                    Button button1=new Button(context);
                    flag_bus4="true"; timer=new Timer();
                    timer.schedule(new TimerTask() {
                        @Override
                        public void run() {
                            // (1) 使用handler发送消息
    
                            Message messagehh=new Message();
                            messagehh.what=104;  messagehh.obj=flag_bus4;
                            handler.sendMessage(messagehh);
                        }
                    },0,1000);//每隔一秒使用handler发送一下消息,也就是每隔一秒执行一次,一直重复执行
    
    
    
                    button1.setText("查看路况");
                    button1.setTextSize(10);
                    button1.setBackground(getResources().getDrawable(R.drawable.rec_button2));
                    button1.setX(920);
                    button1.setY(50);
                    layout.addView(button1,layoutParams0);
                    Button button2=new Button(context);
                    button2.setText("取消导航");
                    button2.setTextSize(10);
                    button2.setBackground(getResources().getDrawable(R.drawable.rec_button2));
                    button2.setX(920);
                    button2.setY(200);
                    layout.addView(button2,layoutParams0);
    
                    button1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                            flag="true";
                            timer=new Timer();
                            timer.schedule(new TimerTask() {
                                @Override
                                public void run() {
                                    // (1) 使用handler发送消息
    
                                    Message messagehh=new Message();
                                    messagehh.what=04;  messagehh.obj=flag;
                                    handler.sendMessage(messagehh);
                                }
                            },0,30000);//每隔一秒使用handler发送一下消息,也就是每隔一秒执行一次,一直重复执行
    
                        }
                    });
                    button2.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View view) {
                          flag="false";
                          flag_bus4="flase";
    
                            layout.removeAllViews();
                            addView();
                        }
                    });
    
                    FrameLayout.LayoutParams layoutParams3=new FrameLayout.LayoutParams(80,80);
                    img_start.setX(420);
                    img_start.setY(0);
                    layout.addView(img_start,layoutParams3);
    
                    img_end.setX(840);
                    img_end.setY(1330);
                    layout.addView(img_end,layoutParams3);
    
                    FrameLayout.LayoutParams layoutParams=new FrameLayout.LayoutParams(80,80);
    
                    layout.addView(img_bus,layoutParams);
    
                    dialog.cancel();
                }
            });
        }
        private void change(){
            AlertDialog.Builder builder=new AlertDialog.Builder(MapActivity.this);
            View view1= LayoutInflater.from(MapActivity.this).inflate(R.layout.dialog_change_data,null);
            builder.setView(view1);
            final AlertDialog dialog=builder.create();
            dialog.show();
            Button bt_addtime=view1.findViewById(R.id.bt_add_time);
            Button bt_mintime=view1.findViewById(R.id.bt_minus_time);
            Button bt_addmoney=view1.findViewById(R.id.bt_add_money);
            Button bt_minmoney=view1.findViewById(R.id.bt_minus_money);
            Button bt_addSpeed=view1.findViewById(R.id.bt_add_speed);
            Button bt_minSpeed=view1.findViewById(R.id.bt_minus_speed);
            TextView tx_speed=view1.findViewById(R.id.tx_speed);
            TextView tx_time=view1.findViewById(R.id.tx_time); TextView tx_money=view1.findViewById(R.id.tx_money);
          tx_time.setText(light_time);
            tx_speed.setText(speed_data);
            tx_money.setText(park_data);
    
    
            bt_addSpeed.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    String speed=tx_speed.getText().toString();
                    int  int_speed;
    
                    if(speed.equals("")){
                        int_speed=0;
                    }else{
                        int_speed=Integer.parseInt(speed);
                    }
    
                    tx_speed.setText(int_speed+1+"");
                }
            });
            bt_minSpeed.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    String speed=tx_speed.getText().toString();
                    int  int_speed;
                    if(speed.equals("")){
                        int_speed=0;
                    }else{
                        int_speed=Integer.parseInt(speed);
                    }
    
                    if(int_speed==0){
                        tx_speed.setText("0");
    
                    }else{
                        tx_speed.setText(int_speed-1+"");
                    }
    
                }
            });
            bt_addtime.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    String speed=tx_time.getText().toString();
                    int  int_speed;
                    if(speed.equals("")){
                        int_speed=0;
                    }else{
                        int_speed=Integer.parseInt(speed);
                    }
                    tx_time.setText(int_speed+1+"");
                }
            });
            bt_mintime.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    String speed=tx_time.getText().toString();
                    int  int_speed;
                    if(speed.equals("")){
                        int_speed=0;
                    }else{
                        int_speed=Integer.parseInt(speed);
                    }
                    if(int_speed==0){
                        tx_time.setText("0");
    
                    }else{
                        tx_time.setText(int_speed-1+"");
                    }
    
                }
            });
            bt_addmoney.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    String speed=tx_money.getText().toString();
                    int  int_speed;
                    if(speed.equals("")){
                        int_speed=0;
                    }else{
                        int_speed=Integer.parseInt(speed);
                    }
                    tx_money.setText(int_speed+1+"");
                }
            });
            bt_minmoney.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    String speed=tx_money.getText().toString();
                    int  int_speed;
                    if(speed.equals("")){
                        int_speed=0;
                    }else{
                        int_speed=Integer.parseInt(speed);
                    }
                    if(int_speed==0){
                        tx_money.setText("0");
    
                    }else{
                        tx_money.setText(int_speed-1+"");
                    }
    
                }
            });
    
            Button bt_cancel=view1.findViewById(R.id.bt_cancel);
            Button bt_sure=view1.findViewById(R.id.bt_sure);
            bt_cancel.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    dialog.cancel();
                }
            });
            bt_sure.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    dialog.cancel();
                }
            });
        }
    
        private void initButton() {
           bt_bus=findViewById(R.id.bt_bus);
           bt_change=findViewById(R.id.bt_change);
           bt_stop=findViewById(R.id.bt_stop);
           bt_stop.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View view) {
                   stop();
               }
           });
           bt_change.setOnClickListener(new View.OnClickListener() {
               @Override
               public void onClick(View view) {
                   ////////////////
                   ////////这里获取公交车速度 红绿灯时长  停车场价格
                   httpUrlConnction_speed();
                   httpUrlConnction_park();
                   httpUrlConnction_light();
                   change();
               }
           });
           bt_bus.setOnClickListener(new View.OnClickListener() {
               @RequiresApi(api = Build.VERSION_CODES.O)
               @Override
               public void onClick(View v) {
                   bus();
               }
           });
        }
    
        private void initView() {
            mapView=new Map(this);
    
            img_bus=new ImageView(this);
            img_bus.setImageDrawable(getResources().getDrawable(R.drawable.bus));
            img_start=new ImageView(this);
            img_start.setImageDrawable(getResources().getDrawable(R.drawable.start));
            img_end=new ImageView(this);
            img_end.setImageDrawable(getResources().getDrawable(R.drawable.end));
            img_busStation=new ImageView(this);
            img_busStation.setImageDrawable(getResources().getDrawable(R.drawable.bus_station));
    
            bus101=new Bus_101(this);
            bus102=new Bus_102(this);
            bus103=new Bus_103(this);
            bus104=new Bus_104(this);
    
            layout=findViewById(R.id.mapfl);
            addView();
    
        }
    
        private void addView(){
            layout.addView(mapView);
            FrameLayout.LayoutParams layoutParams2=new FrameLayout.LayoutParams(60,60);
            img_busStation.setX(470);
            img_busStation.setY(70);
            layout.addView(img_busStation,layoutParams2);
    
            ImageView img_stop=new ImageView(this);
            img_stop.setImageDrawable(getResources().getDrawable(R.drawable.stop));
            img_stop.setX(310);
            img_stop.setY(685);
            layout.addView(img_stop,layoutParams2);
    
        }
    
        private void initToolBar(){
            toolbar=findViewById(R.id.toolbar);
            setSupportActionBar(toolbar);
    
            final DrawerLayout drawerLayout=(DrawerLayout)findViewById(R.id.mapdl);
            final ActionBarDrawerToggle toggle=new ActionBarDrawerToggle(MapActivity.this,drawerLayout,toolbar, R.string.navigation_drawer_open,R.string.navigation_drawer_close);
            toggle.syncState();
    
            final NavigationView navigationView=findViewById(R.id.user_nav);
            View headerView = navigationView.getHeaderView(0);
            TextView tx_name=headerView.findViewById(R.id.nav_name);
            TextView tx_email=headerView.findViewById(R.id.nav_email);
            tx_name.setText("ssszzzhhh");
            tx_email.setText("1017183127@qq.com");
            navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(@NonNull MenuItem item) {
                    switch (item.getItemId()){
                        case R.id.nav_change_user:
                            finish();
                            break;
                        case R.id.nav_logout:
                            finish();
                            break;
                        case R.id.nav_bus:
                            bus();
                            drawerLayout.closeDrawers();
                            break;
                        case R.id.nav_stop:
                            stop();
                            drawerLayout.closeDrawers();
                            break;
                        case R.id.nav_change:
                            change();
                            drawerLayout.closeDrawers();
                    }
                    return true;
                }
            });
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            int id=item.getItemId();
            switch (id){
                case R.id.action_logout:
                    finish();
            }
            return super.onOptionsItemSelected(item);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            getMenuInflater().inflate(R.menu.user_menu,menu);
            return true;
        }
    
        @Override
        protected void onDestroy() {
            super.onDestroy();
            timer.cancel();
        }
    
    
    
        public void httpUrlConnction_speed() {
    
    
            new Thread() {
                public void run() {
                    try {
    
    
                        java.util.Map map = new HashMap();
                        // 成对放入多个key-value对
                        map.put("busname" , "K101");
    
    
                        //使用Gson 添加 依赖
                        Gson gson = new Gson();
                        //使用Gson将对象转换为json字符串
                        String json = gson.toJson(map);
                        //MediaType  设置Content-Type 标头中包含的媒体类型值
                        RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8")
                                , json);
    
                        Request request = new Request.Builder()
                                .url("http://139.199.27.66:8081/bus")//请求的url
                                .post(requestBody)
                                .build();
                        //创建/Call
                        Call call = SignInFragment.okHttpClient.newCall(request);
                        //加入队列 异步操作
                        call.enqueue(new Callback() {
                            //请求错误回调方法
                            @Override
                            public void onFailure(Call call, IOException e) {
                                System.out.println("连接失败");
                            }
                            @Override
                            public void onResponse(Call call, Response response) throws IOException {
    
                                String responseData=response.body().string();
                                System.out.println("nononononononononnoononnono");
    
                                System.out.println(responseData+"yes");
                                String back_data=responseData.substring(20,responseData.indexOf("}"));
                                 speed_data=back_data.substring(0,back_data.indexOf("."));
                                System.out.println(back_data);
    
                             /*   System.out.println("hhhhhxxr");
                                String back_data=null;
                                if(responseData.contains("登录成功")){
                                    back_data="登陆成功";
                                }else if(responseData.contains("密码错误")){
                                    back_data="密码错误";
                                }else if(responseData.contains("用户名不存在")) {
                                    back_data = "用户名不存在";
    
                                }
                                Message message = Message.obtain();
                                message.what = 400;
                                message.obj = back_data;
    
                                handler.sendMessage(message);*/
                            }});
    
    
    
    
    
    
    
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }.start();
        }
        public void httpUrlConnction_light() {
    
    
            new Thread() {
                public void run() {
                    try {
    
    
                        java.util.Map map = new HashMap();
                        // 成对放入多个key-value对
                        map.put("number" , "1-1");
    
    
                        //使用Gson 添加 依赖
                        Gson gson = new Gson();
                        //使用Gson将对象转换为json字符串
                        String json = gson.toJson(map);
                        //MediaType  设置Content-Type 标头中包含的媒体类型值
                        RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8")
                                , json);
    
                        Request request = new Request.Builder()
                                .url("http://139.199.27.66:8081/stop/time")//请求的url
                                .post(requestBody)
                                .build();
                        //创建/Call
                        Call call = SignInFragment.okHttpClient.newCall(request);
                        //加入队列 异步操作
                        call.enqueue(new Callback() {
                            //请求错误回调方法
                            @Override
                            public void onFailure(Call call, IOException e) {
                                System.out.println("连接失败");
                            }
                            @Override
                            public void onResponse(Call call, Response response) throws IOException {
    
                                String responseData=response.body().string();
                                System.out.println("nononononononononnoononnono");
    
                                System.out.println(responseData+"yes");
                                 light_time=responseData.substring(34,responseData.indexOf("}"));
    
                             /*   System.out.println("hhhhhxxr");
                                String back_data=null;
                                if(responseData.contains("登录成功")){
                                    back_data="登陆成功";
                                }else if(responseData.contains("密码错误")){
                                    back_data="密码错误";
                                }else if(responseData.contains("用户名不存在")) {
                                    back_data = "用户名不存在";
    
                                }
                                Message message = Message.obtain();
                                message.what = 400;
                                message.obj = back_data;
    
                                handler.sendMessage(message);*/
                            }});
    
    
    
    
    
    
    
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }.start();
        }
        public void httpUrlConnction_parkFee() {
    
    
            new Thread() {
                public void run() {
                    try {
    
    
                        java.util.Map map = new HashMap();
                        // 成对放入多个key-value对
                        map.put("parkname" , "park1");
    
                        map.put("parktime" , time_park);
                        //使用Gson 添加 依赖
                        Gson gson = new Gson();
                        //使用Gson将对象转换为json字符串
                        String json = gson.toJson(map);
                        //MediaType  设置Content-Type 标头中包含的媒体类型值
                        RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8")
                                , json);
    
                        Request request = new Request.Builder()
                                .url("http://139.199.27.66:8081/park/circulate")//请求的url
                                .post(requestBody)
                                .build();
                        //创建/Call
                        Call call = SignInFragment.okHttpClient.newCall(request);
                        //加入队列 异步操作
                        call.enqueue(new Callback() {
                            //请求错误回调方法
                            @Override
                            public void onFailure(Call call, IOException e) {
                                System.out.println("连接失败");
                            }
                            @Override
                            public void onResponse(Call call, Response response) throws IOException {
    
                                String responseData=response.body().string();
                                System.out.println("nononononononononnoononnono");
    
                                System.out.println(responseData+"yes");
                               String back_data=responseData.substring(19,responseData.indexOf("}"));
                                sumMoney_data=back_data.substring(0,back_data.indexOf("."));
                                System.out.println(back_data);
    
                             /*   System.out.println("hhhhhxxr");
                                String back_data=null;
                                if(responseData.contains("登录成功")){
                                    back_data="登陆成功";
                                }else if(responseData.contains("密码错误")){
                                    back_data="密码错误";
                                }else if(responseData.contains("用户名不存在")) {
                                    back_data = "用户名不存在";
    
                                }
                                Message message = Message.obtain();
                                message.what = 400;
                                message.obj = back_data;
    
                                handler.sendMessage(message);*/
                            }});
    
    
    
    
    
    
    
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }.start();
        }
        public void httpUrlConnction_park() {
    
    
            new Thread() {
                public void run() {
                    try {
    
    
                        java.util.Map map = new HashMap();
                        // 成对放入多个key-value对
                        map.put("parkname" , "park1");
    
    
                        //使用Gson 添加 依赖
                        Gson gson = new Gson();
                        //使用Gson将对象转换为json字符串
                        String json = gson.toJson(map);
                        //MediaType  设置Content-Type 标头中包含的媒体类型值
                        RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8")
                                , json);
    
                        Request request = new Request.Builder()
                                .url("http://139.199.27.66:8081/park")//请求的url
                                .post(requestBody)
                                .build();
                        //创建/Call
                        Call call = SignInFragment.okHttpClient.newCall(request);
                        //加入队列 异步操作
                        call.enqueue(new Callback() {
                            //请求错误回调方法
                            @Override
                            public void onFailure(Call call, IOException e) {
                                System.out.println("连接失败");
                            }
                            @Override
                            public void onResponse(Call call, Response response) throws IOException {
    
                                String responseData=response.body().string();
                                System.out.println("nononononononononnoononnono");
    
                                System.out.println(responseData+"yes");
                                String back_data=responseData.substring(19,responseData.indexOf("}"));
                                park_data=back_data.substring(0,back_data.indexOf("."));
                                System.out.println(back_data);
    
    
                            }});
    
    
    
    
    
    
    
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }.start();
        }
        public void httpUrlConnction_LightGR(String light,int i) {
    
    
            new Thread() {
                public void run() {
                    try {
    
    
                        java.util.Map map = new HashMap();
                        // 成对放入多个key-value对
                        map.put("number" , light);
    
    
                        //使用Gson 添加 依赖
                        Gson gson = new Gson();
                        //使用Gson将对象转换为json字符串
                        String json = gson.toJson(map);
                        //MediaType  设置Content-Type 标头中包含的媒体类型值
                        RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8")
                                , json);
    
                        Request request = new Request.Builder()
                                .url("http://139.199.27.66:8081/stop")//请求的url
                                .post(requestBody)
                                .build();
                        //创建/Call
                        Call call = SignInFragment.okHttpClient.newCall(request);
                        //加入队列 异步操作
                        call.enqueue(new Callback() {
                            //请求错误回调方法
                            @Override
                            public void onFailure(Call call, IOException e) {
                                System.out.println("连接失败");
                            }
                            @Override
                            public void onResponse(Call call, Response response) throws IOException {
    
                                String responseData=response.body().string();
                                System.out.println("nononononononononnoononnono");
    
                                System.out.println(responseData+"yes");
                                String data=responseData.substring(24,responseData.indexOf(""}"));
    
                                 lights[i]=data;
                                System.out.print(lights[i]+"dadadadaadadadadadaa");
    
                             /*   System.out.println("hhhhhxxr");
                                String back_data=null;
                                if(responseData.contains("登录成功")){
                                    back_data="登陆成功";
                                }else if(responseData.contains("密码错误")){
                                    back_data="密码错误";
                                }else if(responseData.contains("用户名不存在")) {
                                    back_data = "用户名不存在";
    
                                }
                                Message message = Message.obtain();
                                message.what = 400;
                                message.obj = back_data;
    
                                handler.sendMessage(message);*/
                            }});
    
    
    
    
    
    
    
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }.start();
        }
        public void httpUrlConnction_car(String urlll) {
    
    
            new Thread() {
                public void run() {
                    try {
    
    
                        FormBody.Builder formBody = new FormBody.Builder();
    
                        Request request = new Request.Builder()
                                .url("http://139.199.27.66:8081/bus/"+urlll)//请求的url
                          .post(formBody.build())
                                .build();
                        //创建/Call
                        Call call = SignInFragment.okHttpClient.newCall(request);
                        //加入队列 异步操作
                        call.enqueue(new Callback() {
                            //请求错误回调方法
                            @Override
                            public void onFailure(Call call, IOException e) {
                                System.out.println("连接失败");
                            }
                            @Override
                            public void onResponse(Call call, Response response) throws IOException {
    
                                String responseData=response.body().string();
                                System.out.println("nononononononononnoononnono");
    
                                System.out.println(responseData+"yes");
                               String back_data=responseData.substring(responseData.indexOf("[")+1,responseData.indexOf("]"));
                                bus_xs=back_data.substring(0,back_data.indexOf(","));
                                bus_ys=back_data.substring(back_data.indexOf(",")+1);
                                bus_x=Integer.parseInt(bus_xs);
                                bus_y=Integer.parseInt(bus_ys);
                                System.out.println(back_data);
    
    
                            }});
    
    
    
    
    
    
    
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }.start();
        }
    }
  • 相关阅读:
    Linux 操作系统读写寄存器
    mysql_mysql基本使用
    logcat日志文件分析
    pytest_用例运行级别_class级
    pytest_用例运行级别_函数级
    pytest_用例运行级别_模块级
    python生成接口自动化测试报告模版
    python中nonlocal 的作用域
    python中global的作用域
    python装饰器参数那些事_接受参数的装饰器
  • 原文地址:https://www.cnblogs.com/kekexxr/p/12292034.html
Copyright © 2011-2022 走看看