From 3a161aeef6dfe08aa80fca6fb2c1650ebdd31d59 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期四, 01 二月 2024 15:29:19 +0800 Subject: [PATCH] 天气相关 --- app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java | 70 +++++++++++++++++++++------------- 1 files changed, 43 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java index 9f8833d..6c07ea7 100644 --- a/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java +++ b/app/src/main/java/com/dayu/pipirrapp/fragment/MapFragment.java @@ -1,13 +1,15 @@ package com.dayu.pipirrapp.fragment; import android.content.Context; +import android.content.Intent; import android.location.LocationManager; import android.os.Bundle; +import android.os.Handler; +import android.os.Looper; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.view.WindowManager; import android.webkit.JsResult; import android.webkit.WebChromeClient; import android.webkit.WebSettings; @@ -16,12 +18,16 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.lifecycle.DefaultLifecycleObserver; -import androidx.lifecycle.Lifecycle; -import androidx.lifecycle.LifecycleEventObserver; -import androidx.lifecycle.LifecycleObserver; import androidx.lifecycle.LifecycleOwner; import com.dayu.pipirrapp.databinding.FragmentMapBinding; +import com.dayu.pipirrapp.js.MyWebViewInterface; +import com.dayu.pipirrapp.observer.MapFragmenObserver; +import com.dayu.pipirrapp.service.MyLocationService; +import com.dayu.pipirrapp.utils.MyLog; +import com.dayu.pipirrapp.utils.ToastUtil; + +import java.util.List; /** * author: zuo @@ -29,7 +35,7 @@ * Time: 10:16 * 澶囨敞锛氬湴鍥鹃〉 */ -public class MapFragment extends BaseFragment implements DefaultLifecycleObserver { +public class MapFragment extends BaseFragment { FragmentMapBinding binding; LocationManager locationManager; @@ -39,34 +45,31 @@ @Override public void onAttach(@NonNull Context context) { super.onAttach(context); - requireActivity().getLifecycle().addObserver(this); + requireActivity().getLifecycle().addObserver(new MapFragmenObserver()); } @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); - locationManager = (LocationManager) getActivity().getSystemService(Context.LOCATION_SERVICE); } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { + binding = FragmentMapBinding.inflate(inflater, container, false); Log.i("MapFragment", "onCreateView"); mWebView = binding.webView; initWebView(); - mWebView.loadUrl("http://192.168.3.178:3002/"); + mWebView.loadUrl("http://192.168.3.178:3000/"); initView(); + //寮�鍚畾浣� + Intent location = new Intent(this.getActivity(), MyLocationService.class); + location.putExtra("isSingle", false); + this.getActivity().startService(location); return binding.getRoot(); } - - @Override - public void onCreate(@NonNull LifecycleOwner owner) { - DefaultLifecycleObserver.super.onCreate(owner); - - Log.i("MapFragment", "onCreate"); - } @Override public void onResume() { @@ -115,34 +118,47 @@ // LOAD_CACHE_ELSE_NETWORK: 鍙鏈湴鏈夛紝鏃犺鏄惁杩囨湡锛屾垨鑰� no-cache锛岄兘浣跨敤缂撳瓨涓殑鏁版嵁 // LOAD_NO_CACHE: 涓嶄娇鐢ㄧ紦瀛橈紝鍙粠缃戠粶鑾峰彇鏁版嵁 // LOAD_CACHE_ONLY: 涓嶄娇鐢ㄧ綉缁滐紝鍙鍙栨湰鍦扮紦瀛樻暟鎹� -// js 鐩稿叧 + // js 鐩稿叧 webSettings.setJavaScriptEnabled(true); // 鏀寔 js銆傚鏋滅鍒板悗鍙版棤娉曢噴鏀� js 瀵艰嚧鑰楃數锛屽簲鍦� onStop 鍜� onResume 閲屽垎鍒鎴� false 鍜� true -// mWebView.addJavascriptInterface(new WebAppInterface(this), "android"); // js 鎺ュ彛 + // mWebView.addJavascriptInterface(new WebAppInterface(this), "android"); // js 鎺ュ彛 -// webSettings.setPluginsEnabled(true); // 鏀寔鎻掍欢 -// 璁剧疆鑷�傚簲灞忓箷锛屼袱鑰呭悎鐢� + // webSettings.setPluginsEnabled(true); // 鏀寔鎻掍欢 + // 璁剧疆鑷�傚簲灞忓箷锛屼袱鑰呭悎鐢� webSettings.setUseWideViewPort(true); // 灏嗗浘鐗囪皟鏁村埌閫傚悎 WebView 鐨勫ぇ灏� webSettings.setLoadWithOverviewMode(true); // 缂╂斁鑷冲睆骞曠殑澶у皬 -// 缂╂斁鎿嶄綔 + // 缂╂斁鎿嶄綔 webSettings.setSupportZoom(true); // 鏀寔缂╂斁锛岄粯璁や负 true webSettings.setBuiltInZoomControls(true); // 璁剧疆鍐呯疆鐨勭缉鏀炬帶浠讹紝鑻ヤ负 false锛屽垯璇� WebView 涓嶅彲缂╂斁 webSettings.setDisplayZoomControls(false); // 闅愯棌鍘熺敓鐨勭缉鏀炬帶浠� + webSettings.setLoadsImagesAutomatically(true);//棰勫姞杞� //webView寮笿sAlert - mWebView.setWebChromeClient(new WebChromeClient(){ - @Override public boolean onJsAlert(WebView view, String url, String message, JsResult result) { + mWebView.setWebChromeClient(new WebChromeClient() { + @Override + public boolean onJsAlert(WebView view, String url, String message, JsResult result) { return super.onJsAlert(view, url, message, result); } }); - + MyWebViewInterface myWebViewInterface=new MyWebViewInterface(this); + mWebView.addJavascriptInterface(myWebViewInterface,"Android"); } - void initView(){ - binding.flyBtn.setOnClickListener(v->{ - mWebView.evaluateJavascript("javascript:data()",value -> { - + void initView() { + binding.flyBtn.setOnClickListener(v -> { + mWebView.evaluateJavascript("javascript:locationOverLay(116.399565,39.89432)", value -> { }); }); } + public void showWaterIntakeDetail(String data){ + MyLog.i(data); + binding.bottomLL.setVisibility(View.VISIBLE); + } + + + + public void closeWaterIntakeDetail(){ + binding.bottomLL.setVisibility(View.GONE); + } + } -- Gitblit v1.8.0