<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <WebView android:id="@+id/wv_first" android:layout_width="match_parent" android:layout_height="match_parent" /> </LinearLayout>
private WebView wv_first; wv_first = (WebView) findViewById(R.id.wv_first); // getSettings()设置浏览器的属性 // setJavaScriptEnabled(true)让WebView支持JavaScript脚本 wv_first.getSettings().setJavaScriptEnabled(true); // setWebViewClient(new WebViewClient()) // 这段代码的做用是当咱们从一个网页跳转到另一个网页的时候,目标 // 网页仍然在WebView中显示 // 而不是打开系统浏览器 wv_first.setWebViewClient(new WebViewClient()); //传入网址,打开网页 wv_first.loadUrl("http://www.baidu.com");
<uses-permission android:name="android.permission.INTERNET"/>
首先学习一个新的控件ScrollView
因为手机屏幕大小有限,而ScrollView容许咱们经过滑动查看手机屏幕外的内容
布局文件代码以下:html
<ScrollView android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/tv_request_text" android:layout_width="match_parent" android:layout_height="wrap_content" /> </ScrollView>
@Override public void run() { URL url; HttpURLConnection connection; try { // 先new出一个URL对象,传入网络地址 // 调用openConnection()方法获取到HttpURLConnection对象 url = new URL("http://www.baidu.com"); connection = (HttpURLConnection) url.openConnection(); // 设置HTTP请求所使用的方法,GET或者POST // GET表示从服务器获取数据 // POST表示向服务器提交数据 connection.setRequestMethod("GET"); // 下面使一些自由的定制,好比设置链接超时,读取超时的毫秒数,以及服务器但愿获得的一些消息头 connection.setConnectTimeout(8000); connection.setReadTimeout(8000); // 接下来利用输入流对数据进行读取 InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is)); StringBuilder response = new StringBuilder(); String line; while ((line = br.readLine()) != null) { response.append(line); } // 读取数据完毕,接下来将数据传送到Handler进行显示 Message message = new Message(); message.what = SHOW_REQUEST; message.obj = response.toString(); handler.sendMessage(message); //最后关闭HTTP链接 connection.disconnect(); } catch (Exception e) { e.printStackTrace(); } }
@Override public void handleMessage(Message msg) { if(msg.what==SHOW_REQUEST){ String response=(String) msg.obj; //在这里进行UI操做将结果显示到UI上 tv_request_text.setText(response); } }
<uses-permission android:name="android.permission.INTERNET"/>
// Handler用来处理网络访问请求以后获得数据的显示 MyHandler handler = new MyHandler(tv_request_text); // 建立访问网络的线程对象 final SendHttpRequestThread request = new SendHttpRequestThread(handler); // 设置按钮点击事件 btn_request.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 开启线程 request.start(); } });
@Override public void run() { // 由于HttpClient是一个接口,因此没法直接建立它的对象,通常是用 HttpClient client = new DefaultHttpClient(); // 想要发起一条GET请求就建立一个HttpGet对象 // 并传入目标网络地址,调用HttpClient的execute()方法传入HttpGet对象 HttpGet httpGet = new HttpGet("http://www.baidu.com"); try { // 执行execute()方法后会返回HttpResponse对象,服务器返回的全部信息就包含在这里面了 HttpResponse response = client.execute(httpGet); // 接下来取出服务器返回的状态码,若是是200就说明请求和响应都成功了 if (response.getStatusLine().getStatusCode() == 200) { // 请求和响应都成功了,取出返回的具体内容 // response的getEntity()获得一个HttpEntity对象 // EntityUtils这个工具类的toString()方法将获得的内容转化成字符串 // 传入"utf-8"的目的是在服务器返回中文的时候防止乱码 HttpEntity entity = response.getEntity(); String responsetext = EntityUtils.toString(entity, "utf-8"); // 接下来将数据传送到Handler进行显示 Message message = new Message(); message.what = SHOW_REQUEST; message.obj = responsetext; handler.sendMessage(message); } } catch (Exception e) { e.printStackTrace(); } }
// Handler用来处理网络访问请求以后获得数据的显示 MyHandler handler = new MyHandler(tv_request_text); //建立HttpCliect访问网络的线程对象 final SendClientRequestThread requestThread=new SendClientRequestThread(handler); // 设置按钮点击事件 btn_request.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 开启线程 requestThread.start(); } });
登陆http://httpd.apache.org/download.cgi 这个地址,2.4.16 ,以下图位置:android
进入以下界面后,选择第一项ApacheHaus,这是个第三方下载平台,在它的网站下载独立的Apache会是一个压缩包另外四个中,第二个也是独立的Apache下载地址,另外三个是集成开发环境。我这里选的第一个。web
在新的界面中,会发现VC9和VC11和VC14字样,经过阅读相关内容得知用VS2014编译的没法在windows xp和server 2003中使用。算是为了兼容性好点吧,我这里选的用VC14编译的64位Apache,选择下载至此,下载过程完成!apache
安装过程很简单,由于是压缩包,因此,先将其解压包中的 Apache24 解压到合适的位置windows
找到F:\Apache\httpd-2.4.29-o102n-x86-vc14-r2\Apache24\conf文件,用Notepad++打开,由于Notepad++是比较万能的记事本软件,因此用他打开,而且记住行号,以便于下次查找,找到:Define SRVROOT 这一项,将其右方的值改成,当前你Apache安装存放的目录地址,以下所示浏览器
apache的默认端口是80,若是发现被占用了,修改httpd.conf的以下选项,以下所示服务器
舒适提示:必定要以管理员身份运行,否则会报错网络
以管理员的身份运行cmd命令(左下角搜索框搜索命令行,右键以管理员模式打开,F:进入指定盘符,cd..进入指定目录文件),进入apache的bin目录,执行以下命令app
httpd.exe -k install -n androidapacheide
该命令的意思是,安装apache服务,并将该服务名称命名为androidapache(你也能够改为别的),回车。
以下所示
在安装目录中,找到\bin\ApacheMonitor.exe可执行文件,双击运行,桌面右下角会出现图标,双击打开窗口界面,会看到如图所示:
**点击start,完成apache的启动,在浏览器中输入http://localhost:80,出现以下界面,启动成功 **
若Apache服务器软件不想用了,想要卸载,须要先卸载apache服务(切记,若直接删除安装路径的文件夹,会有残余文件在电脑,可能会形成没必要要的麻烦)
在CMD命令窗口,输入以下(建议先中止服务再删除):
sc delete apache
apache是Apache服务器的服务名
重点来了*****
特别注意:127.0.0.1访问的本机服务器的ip地址,要想让别人访问这个服务器,必须先查看本身电脑的本机ip,而后将127.0.0.1换成这个ip地址
这样设置以后就能够直接用上面的TTTP访问网络的方法直接获得数据
了解更多技术文章,欢迎关注个人我的公众号