Created
December 26, 2014 10:55
-
-
Save xxnjdlys/f817b19474d6e2ea994a to your computer and use it in GitHub Desktop.
interface
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.wukongtv.wkremote.client; | |
import android.annotation.SuppressLint; | |
import android.graphics.Bitmap; | |
import android.os.Bundle; | |
import android.support.v4.app.Fragment; | |
import android.util.Log; | |
import android.view.LayoutInflater; | |
import android.view.View; | |
import android.view.ViewGroup; | |
import android.webkit.JavascriptInterface; | |
import android.webkit.WebView; | |
import android.webkit.WebViewClient; | |
import android.widget.LinearLayout; | |
import android.widget.TextView; | |
import android.widget.Toast; | |
import com.loopj.android.http.TextHttpResponseHandler; | |
import com.wukongtv.wkremote.client.NetWork.UdpManager; | |
import com.wukongtv.wkremote.client.Util.RemoteUtil; | |
import com.wukongtv.wkremote.client.Util.UmengOnlineConfig; | |
import com.wukongtv.wkremote.client.http.WKAsyncHttpClient; | |
import org.apache.http.Header; | |
/** | |
* Created by sadieyu | |
* Date: 14-12-01. | |
* Time: 下午5:23 | |
* Goodluck and enjoy it. | |
*/ | |
public class SuNingWebViewFragment extends Fragment implements View.OnClickListener { | |
private TextView mTvBack; | |
private WebView mWebView; | |
private static final String SUNING_SHOPPING_URL_DEF = "http://ott.suning.com/ott-web/wk/index.htm?channelno=50191&deviceid=IMEI&ver=1.0"; | |
// private static final String SUNING_APK_DOWNLOAD_URL = "http://app.suning.com/a.php?s=r/suning_50191 "; | |
private static final String JS_INTERFACE_NAME = "WKInterface"; | |
private LinearLayout mProgerss; | |
public static SuNingWebViewFragment newInstance() { | |
return new SuNingWebViewFragment(); | |
} | |
@Override | |
public void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setHasOptionsMenu(true); | |
} | |
@SuppressLint({"SetJavaScriptEnabled", "AddJavascriptInterface"}) | |
@Override | |
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { | |
View v = inflater.inflate(R.layout.fragment_su_ning_web_view, container, false); | |
mWebView = (WebView) v.findViewById(R.id.wv_suning); | |
mProgerss = (LinearLayout) v.findViewById(R.id.webview_progressbar); | |
mTvBack = (TextView) v.findViewById(R.id.webview_message_back); | |
TextView mTVRefresh = (TextView) v.findViewById(R.id.webview_message_refresh); | |
mTvBack.setOnClickListener(this); | |
mTVRefresh.setOnClickListener(this); | |
mWebView.setBackgroundColor(getResources().getColor(R.color.webview_bg_color)); | |
mWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); | |
if(isAdded()){ | |
mWebView.setBackgroundColor(getResources().getColor(R.color.webview_bg_color)); | |
} | |
mWebView.addJavascriptInterface(new JavaScriptInterface(), JS_INTERFACE_NAME); | |
mWebView.getSettings().setJavaScriptEnabled(true); | |
mWebView.getSettings().setDomStorageEnabled(true); | |
mWebView.setWebViewClient(new WebViewClient() { | |
@Override | |
public boolean shouldOverrideUrlLoading(WebView view, String url) { | |
view.loadUrl(url); | |
return true; | |
} | |
@Override | |
public void onPageStarted(WebView view, String url, Bitmap favicon) { | |
super.onPageStarted(view, url, favicon); | |
mProgerss.setVisibility(View.VISIBLE); | |
} | |
@Override | |
public void onPageFinished(WebView view, String url) { | |
super.onPageFinished(view, url); | |
mProgerss.setVisibility(View.INVISIBLE); | |
if (mWebView.canGoBack()) { | |
mTvBack.setBackgroundResource(R.drawable.webviewtab_back_normal); | |
} else { | |
mTvBack.setBackgroundResource(R.drawable.webviewtab_back_disable); | |
} | |
} | |
}); | |
/** | |
* TEST_HTML file:///android_asset/test.html | |
*/ | |
String suNingurl = UmengOnlineConfig.getUmengOnlineParam(getActivity(), UmengOnlineConfig.SUNING_SHOPPING_URL, SUNING_SHOPPING_URL_DEF); | |
mWebView.loadUrl(suNingurl); | |
return v; | |
} | |
@Override | |
public void onClick(View v) { | |
switch (v.getId()) { | |
case R.id.webview_message_back: | |
mWebView.goBack(); | |
break; | |
case R.id.webview_message_refresh: | |
mWebView.reload(); | |
break; | |
} | |
} | |
public class JavaScriptInterface { | |
@JavascriptInterface | |
public void onAction(String action, String data) { | |
String url = RemoteUtil.getSuNingUrl(UdpManager.getInstance().getCurrentDevice(), action, data); | |
WKAsyncHttpClient.getInstance().get(url,null,new TextHttpResponseHandler() { | |
@Override | |
public void onProgress(int bytesWritten, int totalSize) { | |
} | |
@Override | |
public void onFailure(int statusCode, Header[] headers, String responseString, Throwable throwable) { | |
UdpManager.Device d = UdpManager.getInstance().getCurrentDevice(); | |
if (null == d) { | |
Toast.makeText(getActivity(), "请先连接设备...", Toast.LENGTH_SHORT).show(); | |
} | |
Log.v("SADIEYU", responseString); | |
} | |
@Override | |
public void onSuccess(int statusCode, Header[] headers, String responseString) { | |
Log.v("SADIEYU", "SUCCESS"); | |
} | |
}); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment