当前位置: 首页 > news >正文

公司网站搭建费用青岛手机建站哪家好

公司网站搭建费用,青岛手机建站哪家好,小程序开发平台找哪家好,桥东网站建设文章目录 webView使用步骤示例 HttpURLConnection使用步骤示例GET请求POST请求 okHttp使用步骤1. 添加依赖2. 创建OkHttpClient实例3. 创建Request对象构建请求4. 发送请求5. 获取响应 Pull解析方式1. 准备XML数据2. 创建数据类3. 使用Pull解析器解析XML webView WebView 是 An… 文章目录 webView使用步骤示例 HttpURLConnection使用步骤示例GET请求POST请求 okHttp使用步骤1. 添加依赖2. 创建OkHttpClient实例3. 创建Request对象构建请求4. 发送请求5. 获取响应 Pull解析方式1. 准备XML数据2. 创建数据类3. 使用Pull解析器解析XML webView WebView 是 Android 中用于显示网页内容的组件。它允许你在应用内嵌入一个浏览器加载并显示 HTML、JavaScript、CSS 等网页内容。以下是使用 WebView 的步骤和一些示例代码。 使用步骤 在布局文件中添加 WebView 在 XML 布局文件中定义一个 WebView 控件。 在 Activity 或 Fragment 中初始化 WebView 获取布局中的 WebView 实例并配置其设置。 加载网页内容 使用 loadUrl() 方法加载网页 URL或使用 loadData() 方法加载 HTML 字符串。 配置设置可选 配置 JavaScript 支持、缓存设置等。 处理 WebView 的事件可选 设置 WebViewClient 和 WebChromeClient 来处理网页加载过程中的事件和 JavaScript 对话框。 权限 在 AndroidManifest.xml 中添加互联网权限 uses-permission android:nameandroid.permission.INTERNET/示例 布局文件 ?xml version1.0 encodingutf-8? RelativeLayout xmlns:androidhttp://schemas.android.com/apk/res/androidandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentWebViewandroid:idid/webviewandroid:layout_widthmatch_parentandroid:layout_heightmatch_parent / /RelativeLayout在 Activity 中使用 WebView 在 MainActivity.java 中初始化并使用 WebView import android.os.Bundle; import android.webkit.WebChromeClient; import android.webkit.WebResourceRequest; import android.webkit.WebView; import android.webkit.WebViewClient;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCompatActivity {private WebView webView;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);webView findViewById(R.id.webview);// 启用 JavaScript 支持webView.getSettings().setJavaScriptEnabled(true);// 设置 WebViewClient 以处理网页加载事件webView.setWebViewClient(new WebViewClient());// 加载网页内容webView.loadUrl(https://www.baidu.com);} }配置 WebView 设置 JavaScript 支持启用 JavaScript 支持以处理动态网页内容。 webView.getSettings().setJavaScriptEnabled(true);缓存设置可以设置缓存模式来优化加载速度。 webView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT);自定义用户代理可以设置用户代理字符串。 webView.getSettings().setUserAgentString(Custom User Agent);处理 WebView 事件 WebViewClient用于处理网页加载过程中的事件。 onPageStarted(WebView view, String url, Bitmap favicon)当页面开始加载时调用。onPageFinished(WebView view, String url)当页面加载完成时调用。shouldOverrideUrlLoading(WebView view, WebResourceRequest request)处理 URL 跳转请求。 权限 在 AndroidManifest.xml 中添加互联网权限 uses-permission android:nameandroid.permission.INTERNET/HttpURLConnection HttpURLConnection 是 Android 中用于处理 HTTP 请求的类。它提供了一种在应用中发送和接收 HTTP 请求和响应的方法。 使用步骤 1. 创建 URL 对象 使用指定的 URL 创建 URL 对象。 2. 打开连接 使用 URL.openConnection() 打开连接并将其转换为 HttpURLConnection。 3. 配置连接参数 设置请求方法如 GET 或 POST。配置连接和读取超时时间等参数。 4. 发送请求 获取输入流并读取服务器响应。 5. 处理响应 读取输入流中的数据并进行处理。 6. 关闭连接 关闭输入流和断开连接。 // 创建一个URL对象指定请求的URL地址 URL url new URL(http://www.baidu.com); // 打开一个到该URL的HTTP连接并将其转换为HttpURLConnection HttpURLConnection connection (HttpURLConnection) url.openConnection();// 设置请求方法为GET connection.setRequestMethod(GET); // 设置连接超时时间为8秒 connection.setConnectTimeout(8000); // 设置读取超时时间为8秒 connection.setReadTimeout(8000);// 获取服务器响应的输入流 InputStream inputStream connection.getInputStream(); // 字节流-字符流-字符缓冲流 BufferedReader reader new BufferedReader(new InputStreamReader(inputStream)); StringBuilder sb new StringBuilder(); String line; while ((line reader.readLine()) ! null) {sb.append(line); } return sb.toString(); // 断开与服务器的连接 connection.disconnect();示例 获取百度网页源码 Android 9.0API level 28及更高版本中对所有的网络请求必须使用HTTPS public class MainActivity extends AppCompatActivity implements View.OnClickListener {// 显示服务器响应的文本视图private TextView tv;// 发送请求的按钮private Button button;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button findViewById(R.id.btn_send);tv findViewById(R.id.tv_response);button.setOnClickListener(this);}Overridepublic void onClick(View v) {// 在新线程中执行网络请求new Thread(new Runnable() {Overridepublic void run() {// 初始化HTTP连接和读取器HttpURLConnection connection null;BufferedReader reader null;try {// 创建URL对象指定请求的URLURL url new URL(https://www.baidu.com);// 打开连接connection (HttpURLConnection) url.openConnection();// 设置请求方法为GETconnection.setRequestMethod(GET);// 设置连接超时和读取超时时间connection.setConnectTimeout(8000);connection.setReadTimeout(8000);// 获取输入流用于读取服务器响应InputStream inputStream connection.getInputStream();// 将输入流包装为缓冲读取器reader new BufferedReader(new InputStreamReader(inputStream));StringBuilder sb new StringBuilder();String line;while ((line reader.readLine()) ! null) {sb.append(line);}// 在UI线程中更新界面showResponse(sb.toString());} catch (IOException e) {throw new RuntimeException(e);} finally {if (reader ! null) {try {reader.close();} catch (IOException e) {throw new RuntimeException(e);}}if (connection ! null)connection.disconnect();}}}).start();}// 在UI线程中更新响应文本private void showResponse(final String string) {runOnUiThread(new Runnable() {Overridepublic void run() {tv.setText(string);}});} }申请权限 uses-permission android:nameandroid.permission.INTERNET/GET请求 主要目的:从服务端获取符合条件的数据。 POST请求 主要目的:向服务端提交数据。 场景举例:用户注册的时候填写表格里一堆的信息(姓名、性别、年龄、电话…),这些都是要提交给服务端的数据 表单 okHttp 使用步骤 1. 添加依赖 implementation com.squareup.okhttp3:okhttp:4.10.02. 创建OkHttpClient实例 OkHttpClient client new OkHttpClient();这是进行网络请求的客户端配置了连接池、超时设置等参数。 3. 创建Request对象构建请求 Request request new Request.Builder().url(https://www.baidu.com).build();使用 Request.Builder 来构建 HTTP 请求包括设置 URL 和请求方法GET、POST 等。 4. 发送请求 调用execute方法发送请求并获取服务器返回数据 Response response client.newCall(request).execute();newCall(request).execute() 会同步地执行请求并返回一个 Response 对象。异步执行可以使用 enqueue 方法。 5. 获取响应 final String responseData response.body().string();从 Response 对象中获取响应体并将其转为字符串。响应体只能读取一次所以多次使用它可能需要将其保存到其他地方。 更新 UI runOnUiThread(new Runnable() {Overridepublic void run() {tv.setText(responseData);} });由于网络请求是在子线程中执行的任何更新 UI 的操作都必须在主线程中进行。使用 runOnUiThread 来确保 UI 更新在主线程中执行。 示例 public class MainActivity extends AppCompatActivity implements View.OnClickListener {private TextView tv; private Button button; Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); button findViewById(R.id.btn_send);tv findViewById(R.id.tv_response);button.setOnClickListener(this);}Overridepublic void onClick(View v) {// 在子线程中进行网络请求new Thread(new Runnable() {Overridepublic void run() {// 创建 OkHttpClient 实例OkHttpClient client new OkHttpClient();// 构建一个 GET 请求指定请求的 URLRequest request new Request.Builder().url(https://www.baidu.com).build();try {// 执行网络请求并获取响应Response response client.newCall(request).execute();// 获取响应体的字符串形式final String responseData response.body().string();// 使用 runOnUiThread() 确保 UI 更新在主线程中进行runOnUiThread(new Runnable() {Overridepublic void run() {// 更新 TextView 的内容为网络请求的响应数据tv.setText(responseData);}});} catch (IOException e) {// 捕获并打印可能发生的 IOExceptione.printStackTrace();}}}).start(); // 启动子线程进行网络请求} }Pull解析方式 Pull解析器是一种基于事件的解析方式当解析器读取到XML文档中的开始标签、结束标签或文本内容时会触发相应的事件。它是Android中处理XML的推荐方法之一因其速度快且内存占用低。 1. 准备XML数据 假设我们有如下的XML数据 usersusernameJohn Doe/nameage30/agemarriedtrue/married/userusernameJane Doe/nameage25/agemarriedfalse/married/user /users2. 创建数据类 我们需要创建一个数据类来表示解析后的数据 public class User {private String name;private int age;private boolean married;// ... }3. 使用Pull解析器解析XML 在Activity或Fragment中使用Pull解析器解析XML数据 public class MainActivity extends AppCompatActivity {Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);// XML字符串String xmlData usersusernameJohn Doe/nameage30/agemarriedtrue/married/userusernameJane Doe/nameage25/agemarriedfalse/married/user/users;try {// 解析XMLListUser users parseXML(xmlData);// 遍历解析得到的用户列表并打印日志for (User user : users) {Log.d(MainActivity, User Name: user.getName());Log.d(MainActivity, User Age: user.getAge());Log.d(MainActivity, User Married: user.isMarried());}} catch (XmlPullParserException | IOException e) {e.printStackTrace();}}// 解析XML数据private ListUser parseXML(String xmlData) throws XmlPullParserException, IOException {ListUser users null; // 用于存储用户对象的列表User currentUser null; // 当前正在解析的用户对象boolean insideUser false; // 标记当前是否在user标签内// 创建XmlPullParserFactory和XmlPullParser实例XmlPullParserFactory factory XmlPullParserFactory.newInstance();XmlPullParser parser factory.newPullParser();parser.setInput(new StringReader(xmlData)); // 设置解析器的输入为XML字符串int eventType parser.getEventType(); // 获取事件类型while (eventType ! XmlPullParser.END_DOCUMENT) { // 遍历整个文档String tagName;switch (eventType) {case XmlPullParser.START_DOCUMENT:users new ArrayList(); // 初始化用户列表break;case XmlPullParser.START_TAG:tagName parser.getName(); // 获取标签名if (tagName.equals(user)) { // 如果是user标签insideUser true; // 标记进入user标签currentUser new User(); // 创建一个新的User对象} else if (currentUser ! null) {// 仅当在user标签内部时才解析这些标签if (tagName.equals(name) insideUser) {currentUser.setName(parser.nextText());} else if (tagName.equals(age) insideUser) {currentUser.setAge(Integer.parseInt(parser.nextText()));} else if (tagName.equals(married) insideUser) {currentUser.setMarried(Boolean.parseBoolean(parser.nextText()));}}break;case XmlPullParser.END_TAG:tagName parser.getName(); // 获取结束标签的名称if (tagName.equals(user) currentUser ! null) {users.add(currentUser); // 将解析完毕的用户对象添加到列表中insideUser false; // 标记离开user标签}break;}eventType parser.next(); // 获取下一个事件}return users; // 返回解析得到的用户列表} }创建XmlPullParserFactory和XmlPullParser实例。设置解析器的输入为XML字符串。使用while循环遍历整个XML文档根据事件类型开始标签、结束标签、文本等进行相应处理。在遇到user标签时创建新的User对象并开始填充数据。在遇到/user标签时将填充完毕的User对象添加到ListUser中。解析完成后返回包含所有用户信息的列表。 感谢您的阅读 如有错误烦请指正 参考 31.2-Android网络请求的Get与Post方法(1)_哔哩哔哩_bilibili
http://www.dnsts.com.cn/news/107373.html

相关文章:

  • 网站建设中国站需求分析报告前端做学校网站教务
  • 国外设计网站app有哪些建设食品网站
  • 公司网站制作内容外贸营销型网站建设公司
  • 网站开发合同有效期网站建设现状和前景
  • 怎样做电影下载网站商业设计网站推荐
  • 华为一站式服务建站广东建设银行网站首页
  • 网站制作的关键技术重庆市城乡建设施工安全管理总站网站
  • 怎样建网站步骤六安城市网地址在哪里
  • 重庆市建筑网站建设海淀网站建设公司
  • 建筑设计资料网站公司网页设计模板图片
  • 整站关键词排名优化福州在线项目建设管理系统
  • 如何开展网站推广莱州市做网站的公司
  • seo与网站优化 pdf培训学校招生营销方案
  • 如何使用阿里云建站实业公司网站模板
  • 电竞网站建设方案网站编程
  • wordpress自定义二级菜单的标签昆明网站seo
  • 电子商务网站建设学什么软件免费短视频制作
  • 永州网站网站建设企业做网站的费用如何科目
  • 西安网站建设总部室内装修公司需要资质吗
  • 建筑网站大全豆丁网汽车类网站搭建
  • 网站开发教程流程同一产品做多个网站
  • 衡阳市建设协会网站网站代码优化的内容有哪些
  • 怎么做软文网站做游戏ppt下载网站有哪些内容
  • 福建建设执业资格网站报名系统嘉兴网站系统总部
  • 寿光市建设局网站运维有限公司
  • 免费公司网站关键词工具有哪些
  • 网站设计制作工作室天津首页
  • 政务服务网登录入口外贸网站如何做seo
  • 网站开发需要投入多少时间seo是什么部门
  • fusion做电影网站卡死nas做网站需要备案吗