每次在信号不好的图书馆打开图书检索的主页就是漫长的等待。
其实,所以便萌生了一个想法。我只要简单一个form就可以了。然后嵌入到移动设备就可以了。图书馆后台的查询处理是这样的
http://library.com/searchresult.aspx?anywords=%b7%bd%b7%a8&dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL
anywords就是关键,之前以为用js直接跳转,但是中文的url转码变成了很复杂的事情,其实用form的get自然就解决问题了。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
</head>
<body>
<form action="http://library.com/searchresult.aspx?dt=ALL&cl=ALL&dp=20&sf=M_PUB_YEAR&ob=DESC&sm=table&dept=ALL" method="get">
<input name="anywords">
<button>搜索</button>
</form>
</body>
</html>不过测试之后发现中文是gb2312转的url编码,所以编码要特别说明,不然就是乱码。
接下来就是嵌入到应用中打开方便点。把上面的html命名为test.html,放进android项目的assets(资产)目录。接下来WebView登场。基础知识就不讲了。
layout:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/clannad"
android:orientation="vertical" >
<WebView
android:id="@+id/webview"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>package com.myown.library;
import java.util.Calendar;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.DialogInterface;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.Toast;
import android.support.v4.app.NavUtils;
public class Library extends Activity {
private WebView webview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_library);
webview = (WebView) findViewById(R.id.webview);
// 设置WebView属性,能够执行Javascript脚本
webview.getSettings().setJavaScriptEnabled(true);
// 加载需要显示的网页(如果是url直接填写url,加载本地就如下)
webview.loadUrl("file:///android_asset/test.html");
// 设置Web视图
webview.setWebViewClient(new MyWebViewClient());
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
// goBack(),返回上一页
webview.goBack();
return true;
}
return false;
}
// Web视图
private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}<uses-permission android:name="android.permission.INTERNET"/>
大功告成。
查询到的页面比较乱,可以添加个适合手机浏览的css。少了打开搜索的页面,就方便很多了。
生活编程(四)——学校图书馆简化,布布扣,bubuko.com
原文:http://blog.csdn.net/iaiti/article/details/37562107