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

【安卓】Android开发入门 你的第一个apk应用

本文介绍如何写一个入门的安卓apk应用, 以嵌套一个网页为例。

开发ide:Android studio
语言:Kotlin

tips: 最好别下载新版本的 Android studio ,因为新版的界面有所改动 遇到问题去网上搜 新手刚入门可能界面都找不到在哪里;其次更重要的是新版创建时 已经不能选java语言了 (不过IDE可以自动将我们复制过来的java代码转成kotlin)

步骤:file – new – new project
在这里插入图片描述
选择activity ,我们这里选择的是empty activity
在这里插入图片描述
SDK,最好选择和我们手机安卓版本对应的
在这里插入图片描述

android代码: 认真看注释的注意事项
代码最好不要全部复制粘贴! 非常容易出现找不到主类的问题!!(至少在最新版的Android Studio里面非常容易出现这个bug)

类名用IDE自己生成的 不要动(
即使类名一样 也不要复制)
可以复制class里面 即最外层大括号里面的代码

package com.example.webappimport android.os.Bundle
import androidx.activity.ComponentActivity
import android.webkit.WebView
import android.webkit.WebViewClient
import android.webkit.WebResourceRequest
import android.webkit.WebResourceError/*** 注意事项:Kotlin 编写的* 一、AndroidManifest.xml 里面要配置网络权限*  1.   <uses-permission android:name="android.permission.INTERNET" />*  2.    android:usesCleartextTraffic="true"*  3.    android:networkSecurityConfig="@xml/network_security_config"* 二、 layout里面写布局xml文件* 三、 如果AndroidManifest.xml里面定义了主类 但还是提示找不到 创建一个新工程吧 不折腾了* 四、 虚拟设备可能上不了网 直接安装到手机里面尝试吧* Build > Generate Signed Bundle / APK* 选择APK:在弹出的对话框中,选择APK而不是Android App Bundle。然后点击Next。* 创建新的签名密钥或使用现有的:如果你之前没有生成过签名密钥,你需要创建一个新的。* 选择构建类型:选择一个构建变种(通常是release)*/
class MainActivity : ComponentActivity() {private lateinit var webView: WebViewoverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.my_web)webView = findViewById(R.id.webview)// Enable JavaScriptwebView.settings.javaScriptEnabled = true// Optional: Enable DOM storage APIwebView.settings.domStorageEnabled = truewebView.settings.apply {useWideViewPort = true // 加载内容适用宽视图端口setSupportZoom(true) // 允许缩放builtInZoomControls = true // 启用内置缩放控件displayZoomControls = false // 不显示缩放控件}// 新增设置项,确保滚动条启用webView.scrollBarStyle = WebView.SCROLLBARS_INSIDE_OVERLAY// Handle page navigationwebView.webViewClient = object : WebViewClient() {override fun shouldOverrideUrlLoading(view: WebView?,request: WebResourceRequest?): Boolean {view?.loadUrl(request?.url.toString())return true}override fun onReceivedError(view: WebView?,request: WebResourceRequest?,error: WebResourceError?) {super.onReceivedError(view, request, error)// 在这里处理错误,例如显示一个自定义错误页面}}// Load a web pagewebView.loadUrl("http://www.baidu.com")}// Go back in webview historyoverride fun onBackPressed() {if (webView.canGoBack()) {webView.goBack()} else {super.onBackPressed()}}
}

AndroidManifest.xml 文件: 同样不要直接复制替换,用来参考的 供大家手动去xml里面加减配置

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><!--配置网络权限--><uses-permission android:name="android.permission.INTERNET" /><applicationandroid:allowBackup="true"android:dataExtractionRules="@xml/data_extraction_rules"android:fullBackupContent="@xml/backup_rules"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/Theme.Webapp"android:usesCleartextTraffic="true"android:networkSecurityConfig="@xml/network_security_config"tools:targetApi="31"><activityandroid:name=".MainActivity"android:exported="true"android:label="@string/app_name"android:theme="@style/Theme.Webapp"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>

my_web.xml 文件:位于res/layout目录下 需要先新创建一个layout文件夹,这个可以直接复制

<WebView xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/webview"android:layout_width="match_parent"android:layout_height="match_parent" />

network_security_config.xml文件:位于res/xml 文件夹下
这个也是可以直接复制的

<?xml version="1.0" encoding="utf-8"?>
<network-security-config><base-config cleartextTrafficPermitted="true"></base-config>
</network-security-config>

目录结构如下:

在这里插入图片描述
如果是java格式的结构 可能是这样的:
在这里插入图片描述

接着build成apk 安装到我们自己手机就可以运行了, 我们就完成了一个简易的app

app功能:展示百度首页

(build步骤在上面注释里面)

用Android studio的虚拟设备 可能会出现连不上网的问题 需要自己解决,对新手来说不友好,本文暂不阐述
在这里插入图片描述

http://www.xdnf.cn/news/843409.html

相关文章:

  • 睡眠与养生
  • 微软最牛MS08-067漏洞各系统补丁下载地址
  • 移动端APP测试方法
  • 《与凤行》特效制作:互动科技引领沉浸式仙侠新纪元
  • LOGISTIC回归分析
  • Dart 语言简述
  • 计算机桌面游戏开发,桌面游戏菜单怎么做
  • 斥候密报_魔兽世界:解锁德拉诺飞行成就指南,并有宝箱插件分享
  • 五笔
  • 火山引擎DataWind产品可视化能力揭秘
  • WPA-PSK无线网络破解原理及过程
  • ahp层次分析法_四千字长文评测:轻食新风尚,7种低脂鸡胸肉的AHP评测
  • Unity游戏的GC(garbage collection)优化
  • 详解帧中继工作原理及作用
  • 爱普生喷墨打印机之连续供墨系统经典故障
  • APP要做哪些测试?APP测试要注意哪些问题?
  • Android知识之SDCard
  • 大学生网页设计作业——11张精美网页 html+css+javascript+bootstarp
  • 运维管理一体化:构建多维一体化的运维体系
  • 10大Web漏洞扫描工具
  • CONFIG.SYS文件详解
  • HTML网页设计结课作业——11张精美网页 html+css+javascript+bootstarp
  • 11招秘籍,用Python下载文件!
  • 向日葵下载网址
  • 算法导论习题(持续更新)
  • 保险需求的智能分析:智能保顾——互联网平台建设...
  • 何谓B/S架构,C/S架构,SOA架构?
  • 高级PHP应用程序漏洞审核技术-温故知新
  • “卓越级”!火山引擎边缘云持续推动行业标准与生态建设,获多项权威认可
  • Cajviewer 7.0.2 Windows 7下使用方法: