Android加载WebView
来源:互联网 发布:dns协议udp端口号 编辑:程序博客网 时间:2024/06/09 23:32
import android.content.Context;import android.net.Uri;import android.os.Bundle;import android.view.View;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.ImageView;import android.widget.TextView;import com.android.volley.RequestQueue;import com.android.volley.toolbox.Volley;import com.google.android.gms.appindexing.Action;import com.google.android.gms.appindexing.AppIndex;import com.google.android.gms.appindexing.Thing;import com.google.android.gms.common.api.GoogleApiClient;import org.apache.http.util.EncodingUtils;import java.util.Iterator;import java.util.Set;import java.util.TreeMap;public class WebBusinessActivity extends BaseActivity implements View.OnClickListener { private String TAG = "WebBusinessActivity"; private Context mContext; private SPUtil spUtil; private RequestQueue requestQueue; private WebView wv; private GoogleApiClient client; private String key_sort_url = ""; private String substring_url = ""; @Override protected void initActivity() { setContentView(R.layout.activity_web_business); mContext = this; spUtil = SPUtil.getInstance(mContext); requestQueue = Volley.newRequestQueue(mContext); initView(); initWebView(); API_Business_Center(); } private void initWebView() { WebSettings settings = wv.getSettings(); settings.setJavaScriptCanOpenWindowsAutomatically(true);//JS互调 settings.setJavaScriptEnabled(true); settings.setDefaultTextEncodingName("utf-8"); settings.setBuiltInZoomControls(true); settings.setSupportZoom(true); settings.setUseWideViewPort(true); settings.setLoadWithOverviewMode(true); settings.setDomStorageEnabled(true); // 开启 DOM storage API 功能 settings.setDatabaseEnabled(true); wv.setWebViewClient(webViewClient); } private void API_Business_Center() { // 请求网络 } // 请求到数据后的处理 VolleyRequest volleyRequest = new VolleyRequest() { @Override protected void onMyResponse(String response) { _Return Re = new _Return(response); if (Re.isSuccess(mContext)) { _WebViewMortgage webViewMortgage = new _WebViewMortgage(Re.getData()); initUrl(wv, webViewMortgage.getUrl(), webViewMortgage.getApi()); } } }; private void initUrl(WebView webView, String countUrl, String countApi) { TreeMap<String, String> params = geturl(countApi); // UtilsTools.Log_e(TAG, "要传的map里的数据" + params.toString()); Set<String> keySet = params.keySet(); Iterator<String> iter = keySet.iterator(); while (iter.hasNext()) { String key = iter.next(); key_sort_url = key_sort_url + key + "=" + params.get(key) + "&"; // UtilsTools.Log_e(TAG, "遍历map拿到所有KEY+vaule拼成字符串" + key_sort_url); substring_url = key_sort_url.substring(0, key_sort_url.length() - 1); // UtilsTools.Log_e(TAG, "截取字符串:" + substring_url); } webView.postUrl(countUrl, EncodingUtils.getBytes(substring_url, "BASE64")); } private TreeMap<String, String> geturl(String countApi) { TreeMap<String, String> map = new TreeMap(); map.put("xxx", "xxxxxxxxx"); return map; } private void initView() { TextView tv_title_bar_title = (TextView) findViewById(R.id.tv_title_bar_title); tv_title_bar_title.setVisibility(View.VISIBLE); tv_title_bar_title.setText("标题"); ImageView iv_title_bar_left = (ImageView) findViewById(R.id.iv_title_bar_left); iv_title_bar_left.setVisibility(View.VISIBLE); iv_title_bar_left.setImageResource(R.mipmap.ic_back); iv_title_bar_left.setOnClickListener(this); wv = (WebView) findViewById(R.id.wv_main_mortgage); } WebViewClient webViewClient = new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String request) { view.loadUrl(request); return true; } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build(); } /** * ATTENTION: This was auto-generated to implement the App Indexing API. * See https://g.co/AppIndexing/AndroidStudio for more information. */ public Action getIndexApiAction() { Thing object = new Thing.Builder() .setName("WebViewMortgage Page") // TODO: Define a title for the content shown. // TODO: Make sure this auto-generated URL is correct. .setUrl(Uri.parse("http://[ENTER-YOUR-URL-HERE]")) .build(); return new Action.Builder(Action.TYPE_VIEW) .setObject(object) .setActionStatus(Action.STATUS_TYPE_COMPLETED) .build(); } @Override public void onStart() { super.onStart(); client.connect(); AppIndex.AppIndexApi.start(client, getIndexApiAction()); } @Override public void onStop() { super.onStop(); AppIndex.AppIndexApi.end(client, getIndexApiAction()); client.disconnect(); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.iv_title_bar_left: finish(); break; } }}
- 布局 :
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="com.yiban.caesar.Activity.Main.WebBusinessActivity"> <include layout="@layout/layout_title_bar"/> <WebView android:id="@+id/wv_main_mortgage" android:layout_width="match_parent" android:layout_height="match_parent"></WebView></LinearLayout>
0 0
- Android WebView 加载资源
- Android WebView 加载网页
- Android webview加载url
- android webview加载网页
- Android webview 加载本地文件
- android webView 不能加载
- Android加载网页WebView
- android Webview加载优化
- Android WebView加载空白
- android webview 加载h5
- Android,WebView加载CookieSession
- Android-WebView加载网页
- android界面加载webview
- android 加载webview网页
- Android webview加载进度条
- Android加载WebView
- android webview 加载乱码
- android webview 加载本地文件
- 红宝书 第22章整理——高级技巧(绑定+拖拽)
- 记录一下 android ListView代码设置分割线
- likehood function
- c# Task返回值
- Github使用(配置SSHkey)
- Android加载WebView
- POJUltra-QuickSort(归并排序)
- 转载BW笔记
- 从零开始写javaweb框架(第二章)—— 所遇到的问题 与 解决方法
- Android之兼容平板
- .NET-一种实现表格数据滚动显示的方法
- 正则
- hive启动报错,找不到spark的jar包们
- android不死进程-死后拉活