Objective
The new version of Vplayer from the design into the development phase, the development cycle is expected to be one months, which means that the new version of the Vitamio will be released, developers can and this series of articles, like the first development of other features. This chapter is "online video playlist", a collection of mainstream major video site mobile phone version, welcome to the "premiere video" Feedback Suggestions for improvement!
Series
1. Android uses Vitamio to build its own universal player (1)--ready
2, Android uses Vitamio to build its own Android Universal player (2)--gesture control brightness, volume, zoom
3, Android use Vitamio to build their own Android Universal player (3)--local playback (main interface, video list)
4, Android use Vitamio to build their own Android Universal player (4)--Local playback (fast search, data storage)
5, Android use Vitamio to build their own Android Universal player (5)--Play online (play cool video)
Body
I. Objectives
Integration of the major video site mobile phone version, screenshot:
Second, the implementation of the Code
public class Fragmentonline extends Fragmentbase implements Onitemclicklistener {/** cache video list */private static Array
list<string[]> monlinelist = new arraylist<string[]> ();
/** Cache Video Logo list */private static arraylist<integer> monlinelogolist = new arraylist<integer> ();
Private WebView Mwebview;
Private ListView Mlistview;
@Override public View Oncreateview (layoutinflater inflater, ViewGroup container, Bundle savedinstancestate) {
View Mview = inflater.inflate (R.layout.fragment_online, container, false); Mlistview = (ListView) Mview.findviewbyid (Android.
R.id.list);
Mwebview = (webview) Mview.findviewbyid (R.id.webview);
Mlistview.setonitemclicklistener (this);
Initwebview ();
Mlistview.setadapter (New DataAdapter (Getactivity ()));
return mview; @Override public void Onitemclick (adapterview<?> parent, view view, int position, long ID) {final
String[] f = monlinelist.get (position);Mwebview.clearview ();
Mwebview.loadurl (f[1]);
Mwebview.clearhistory ();
Mlistview.setvisibility (View.gone);
Mwebview.setvisibility (view.visible);
@Override public boolean onbackpressed () {if (Mlistview = null | | | mlistview.getvisibility () = view.visible)
return super.onbackpressed ();
else {mlistview.setvisibility (view.visible);
Mwebview.setvisibility (View.gone);
return true;
}/** Initialize WebView * * private void Initwebview () {Mwebview.setscrollbarstyle (view.scrollbars_outside_overlay);
Mwebview.getsettings (). Setjavascriptenabled (True);
Mwebview.getsettings (). Setpluginsenabled (True); Mwebview.setwebviewclient (New Webviewclient () {@Override public void onpagefinished (webview view, String URL)
{
}; /** Page Jump * * @Override public boolean shouldoverrideurlloading (webview view, String URL) {if (fileutil S.isvideooraudio (URL)) {Intent Intent = new Intent(Getactivity (), videoplayeractivity.class);
Intent.putextra ("path", url);
StartActivity (Intent);
return true;
return false;
};
}); Mwebview.setonkeylistener (New Onkeylistener () {@Override public boolean onkey (View v, int keycode, keyevent Event) {if ((keycode = = keyevent.keycode_back) && mwebview!= null && mwebview.cangob
ACK ()) {mwebview.goback ();
return true;
return false;
}
}); } private class DataAdapter extends Arrayadapter<string[]> {public DataAdapter (context ctx) {super (C
TX, monlinelist); @Override public View getview (int position, View Convertview, ViewGroup parent) {Final string[] f = Geti
TEM (position);
if (Convertview = null) {final Layoutinflater minflater = getactivity (). Getlayoutinflater (); Convertview = minflater.inFlate (R.layout.fragment_online_item, NULL); ((ImageView) Convertview.findviewbyid (R.id.thumbnail)). Setimageresource (Monlinelogolist.get (position))
;
((TextView) Convertview.findviewbyid (R.id.title)). SetText (f[0));
return convertview;
} static {//Monlinelist.add (new string[] {"Youku video", "Http://3g.youku.com"});
Monlinelogolist.add (R.drawable.logo_youku);
Monlinelist.add (new string[] {"Sohu video", "Http://m.tv.sohu.com"});
Monlinelogolist.add (R.drawable.logo_sohu);
Monlinelist.add (new string[] {"Le-view TV", "http://m.letv.com"});
Monlinelogolist.add (R.DRAWABLE.LOGO_LETV);
174 Monlinelist.add (new string[] {"Love singular", "http://3g.iqiyi.com/"});
Monlinelogolist.add (R.drawable.logo_iqiyi);
Monlinelist.add (new string[] {"PPTV", "http://m.pptv.com/"});
Monlinelogolist.add (R.DRAWABLE.LOGO_PPTV); 181 Monlinelist.add (New string[] {"Tencent video", "http://3g.v.qq.com/"});
Monlinelogolist.add (R.DRAWABLE.LOGO_QQ);
Monlinelist.add (new string[] {"56.com", "http://m.56.com/"});
Monlinelogolist.add (r.drawable.logo_56);
Monlinelist.add (new string[] {"Sina video", "http://video.sina.cn/"});
Monlinelogolist.add (R.drawable.logo_sina);
Monlinelist.add (new string[] {"Potato video", "Http://m.tudou.com"});
Monlinelogolist.add (R.drawable.logo_tudou); }
}
Code Description:
a). The 3g version of each major website provides a MP4 format of the play link, where the integration can be.
(b). To handle the back event, press the WebView page to jump to the previous page.
(c). Empty history and switch video sites to prevent back to other sites.
Other code reference project source.
Third, other update log
Added: New logo enabled
Repair: Automatically close the window after playing
FIX: Switch between local video and online video error
End
Again, remind developers to use the Vitamio to play the problem video, please use the latest version of the Vplayer to test, if there is no issue of the new release of the Vitamio will not be a problem.