Android中的网络编程-WebView开发-JSON数据解析_第1页
Android中的网络编程-WebView开发-JSON数据解析_第2页
Android中的网络编程-WebView开发-JSON数据解析_第3页
Android中的网络编程-WebView开发-JSON数据解析_第4页
Android中的网络编程-WebView开发-JSON数据解析_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

成绩广州xx学院Android程序设计实验报告专业班级计算机xx实验日期__2021.6.2._姓名xx 学号_2018xx实验名称Android中的网络编程指导老师__xx__(报告内容包括:实验目的、实验设备及器材、实验步骤、实验数据、图表及曲线处理、实验小结等)。实验目的掌握如何使用WebView进行网络开发;掌握如何对JSON数据进行解析。实验要求使用WebView控件显示带有JavaScript代码的网页,执行JavaScript代码并弹出提示框。请写出使用JSONArray类解析JSON数据的主要逻辑代码。JSON数据如下所示:[{"name":"Lili","score":"95"},{"name":"LiLei","score":"99"},{"name":"王小明","score":"100"},{"name":"Lei","score":"89"}]实验步骤与运行结果(1) 使用WebView控件显示带有JavaScript代码的网页,执行JavaScript代码并弹出提示框。MainActivity.Java代码如下:publicclassMainActivityextendsAppCompatActivity{

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

finalWebViewwebview=(WebView)findViewById(R.id.webView);

Buttonbtn=(Button)findViewById(R.id.btn_dialog);

webview.loadUrl("file:///android_asset/alert.html");//指定要加载的网页

btn.setOnClickListener(newView.OnClickListener(){

@Override

publicvoidonClick(Viewview){

//设置webview控件支持JavaScript代码

webview.getSettings().setJavaScriptEnabled(true);

//显示网页中通过JavaScript代码弹出的提示框

webview.setWebChromeClient(newWebChromeClient());

webview.loadUrl("file:///android_asset/alert.html");

}

});

布局代码如下:<Button

android:id="@+id/btn_dialog"

android:layout_width="300dp"

android:layout_height="wrap_content"

android:layout_gravity="center_horizontal"

android:text="执行JavaScript代码并弹出提示框"

android:layout_margin="8dp"

android:textColor="@android:color/white"

android:background="@drawable/btn_dialog_selector"/>

<WebView

android:id="@+id/webView"

android:layout_width="match_parent"

android:layout_height="match_parent"/>

效果图如图1-1,图1-2所示图1-1图1-2(2) 请写出使用JSONArray类解析JSON数据的主要逻辑代码。JSON数据如下所示:[{"name":"Lili","score":"95"},{"name":"LiLei","score":"99"},{"name":"王小明","score":"100"},{"name":"Lei","score":"89"}]MainActivity.java代码:publicclassMainActivityextendsAppCompatActivityimplementsView.OnClickListener

{

privateTextViewtvName,tvScore;

privateList<StudentInfo>infoList;//天气预报数据集合

@Override

protectedvoidonCreate(BundlesavedInstanceState){

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

infoList=JsonParse.getInstance().getInfosFromJson(MainActivity.this);

initView();

}

privatevoidinitView(){

tvName=(TextView)findViewById(R.id.tv_name);

tvScore=(TextView)findViewById(R.id.tv_score);

findViewById(R.id.btn_lei).setOnClickListener(this);

findViewById(R.id.btn_lilei).setOnClickListener(this);

findViewById(R.id.btn_lili).setOnClickListener(this);

}

/**

*设置界面数据

*/

privatevoidsetData(StudentInfoinfo){

if(info==null)return;

tvName.setText(info.getName());

tvScore.setText(String.valueOf(info.getScore()));

}

/**

*根据城市获取对应的天气信息

*/

privatevoidgetCityData(Stringname){

for(StudentInfoinfo:infoList){

if(info.getName().equals(name)){

setData(info);

}

}

}

@Override

publicvoidonClick(Viewv){//按钮的点击事件

switch(v.getId()){

caseR.id.btn_lilei://上海按钮的点击事件

getCityData("LiLei");

break;

caseR.id.btn_lei://北京按钮的点击事件

getCityData("Lei");

br

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论