简单安卓浏览器开发实验报告.docx
- 文档编号:13979317
- 上传时间:2023-06-19
- 格式:DOCX
- 页数:10
- 大小:572.02KB
简单安卓浏览器开发实验报告.docx
《简单安卓浏览器开发实验报告.docx》由会员分享,可在线阅读,更多相关《简单安卓浏览器开发实验报告.docx(10页珍藏版)》请在冰点文库上搜索。
简单安卓浏览器开发实验报告
简单安卓浏览器开发实验报告
实验报告
学年学期:
课程名称:
移动互联网
指导老师:
学院:
计算机学院
班级:
学号:
姓名:
湖南工业大学
二.系统需求
1.界面需求
(1)简洁美观
(2)易于操作
(3)使用方便
2.性能需求
能够运行android2.3的手机
3.可行性需求
Android是一个包含操作系统、中介架构层及应用程序所产生出来的软件堆栈架构。
由下而上,其核心为嵌入式Linux2.6作业系统,向上搭配Google为Android开发的类库及Android运行时,再配合应用程序架构,来开发各种不同的应用程序。
4.运行环境需求
软件基本运行环境为智能手机android 操作系统
实验内容(实验原理、运用的理论知识和数据、算法、程序、步骤和方法)
三.功能需求
(1)能够联网进行数据交换
(2)能够获取网页数据并展示
(3)能够对网页进行手动的刷新
(4)能够前进到网页的下一页
(5)能够后退到上一个访问的网页
实验内容(实验原理、运用的理论知识和数据、算法、程序、步骤和方法)
四、实现程序
界面代码:
android=" xmlns: tools=" android: layout_width="match_parent" android: layout_height="match_parent" android: orientation="vertical" tools: context=".MainActivity"> android: layout_width="wrap_content" android: layout_height="25dp" android: layout_gravity="center" android: text="网络工程移动互联网技术实验"/> android: layout_width="match_parent" android: layout_height="40dp" android: orientation="horizontal" > android: id="@+id/pd" android: visibility="gone" style="? android: attr/progressBarStyleHorizontal" android: layout_width="match_parent" android: layout_height="3dp"/> android: id="@+id/webview" android: layout_width="match_parent" android: layout_height="match_parent" /> 主要代码: importandroid.app.Activity; importandroid.content.Intent; importandroid.graphics.Bitmap; importandroid.os.Bundle; importandroid.view.Menu; importandroid.view.View; publicclassMainActivityextendsActivityimplementsOnClickListener{ privateEditTextet_path; privateButtonbt_entry; privateWebViewwebview; privateButtonbt_left; privateButtonbt_right; privateButtonbt_refresh; privateProgressBarpd; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); et_path=(EditText)findViewById(R.id.et_path); bt_entry=(Button)findViewById(R.id.bt_entry); bt_left=(Button)findViewById(R.id.bt_left); bt_right=(Button)findViewById(R.id.bt_right); bt_refresh=(Button)findViewById(R.id.bt_refresh); pd=(ProgressBar)findViewById(R.id.pd); webview=(WebView)findViewById(R.id.webview); bt_entry.setOnClickListener(this); bt_left.setOnClickListener(this); bt_right.setOnClickListener(this); bt_refresh.setOnClickListener(this); initSettings(); } privatevoidinitSettings(){ webview.setWebViewClient(newWebViewClient(){ @Override publicbooleanshouldOverrideUrlLoading(WebViewview,Stringurl){ et_path.setText(url); returnsuper.shouldOverrideUrlLoading(view,url); } @Override publicvoidonPageStarted(WebViewview,Stringurl,Bitmapfavicon){ pd.setVisibility(View.VISIBLE); super.onPageStarted(view,url,favicon); } @Override publicvoidonPageFinished(WebViewview,Stringurl){ pd.setVisibility(View.GONE); super.onPageFinished(view,url); addImageClickListener(webview); } }); webview.setWebChromeClient(newWebChromeClient(){ @Override publicvoidonReceivedTitle(WebViewview,Stringtitle){ //TODOAuto-generatedmethodstub super.onReceivedTitle(view,title); } @Override publicvoidonProgressChanged(WebViewview,intnewProgress){ pd.setProgress(newProgress); super.onProgressChanged(view,newProgress); } }); WebSettingssettings=webview.getSettings(); settings.setJavaScriptEnabled(true); webview.addJavascriptInterface(newAndroidNative(),"imagelistener"); } privatevoidaddImageClickListener(WebViewwebView){ webView.loadUrl("javascript: (function(){" +"varobjs=document.getElementsByTagName(\"img\");" +"for(vari=0;i +"objs[i].onclick=function()"+"{" +"window.imagelistener.openImage(this.src);"+//通过js代码找到标签为img的代码块,设置点击的监听方法与本地的openImage方法进行连接 "}"+"}"+"})()"); } publicclassAndroidNative{ @JavascriptInterface publicvoidopenImage(StringimageSrc){ Toast.makeText(getApplicationContext(),imageSrc,Toast.LENGTH_SHORT).show(); Intentintent=newIntent(); intent.putExtra("path",imageSrc); intent.setClass(getApplicationContext(),ImageActivity.class); startActivity(intent); } } @Override publicbooleanonCreateOptionsMenu(Menumenu){ //Inflatethemenu;thisaddsitemstotheactionbarifitispresent. getMenuInflater().inflate(R.menu.main,menu); returntrue; } @Override publicvoidonClick(Viewv){ switch(v.getId()){ caseR.id.bt_entry: Stringurl="http: //"+et_path.getText().toString(); Toast.makeText(getApplicationContext(),url,Toast.LENGTH_SHORT).show(); webview.loadUrl(url); break; caseR.id.bt_left: Toast.makeText(getApplicationContext(),"向后",Toast.LENGTH_SHORT).show(); webview.goBack(); break; caseR.id.bt_right: Toast.makeText(getApplicationContext(),"向前",Toast.LENGTH_SHORT).show(); webview.goForward(); break; caseR.id.bt_refresh: Toast.makeText(getApplicationContext(),"刷新",Toast.LENGTH_SHORT).show(); webview.reload(); break; default: break; } } @Override publicvoidonBackPressed(){ if(webview.canGoBack()){ webview.goBack(); }else{ super.onBackPressed(); } } } 实验内容(实验原理、运用的理论知识和数据、算法、程序、步骤和方法) 五、功能展示 刷新功能 前进功能 后退功能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 简单 浏览器 开发 实验 报告