老调重弹,Android Studio 打包H5项目(2020版)

一、下载Android Studio

安卓Studio 下载可以直接去官网,如果你不能翻墙,可以去网盘下载(现在是2020年05月22日)网盘地址 提取码: pgqm:

在这里插入图片描述

二、新建安卓项目

选择 Empty Activity:

在这里插入图片描述
新建好了项目之后,需要修改配置文件,把我们的H5项目集成进去。

三、一个完整的安卓应用需要哪些东西

这里,你需要知道,一个完整的App需要哪些最最基础的功能,我列了一下:

  1. 能访问网络
  2. 能回退,像App一样
  3. 自定义App图标,不要是个默认的Android 机器人就行
  4. 修改应用名称
  5. 修改主界面颜色,让它跟你的项目吻合
  6. 添加H5逻辑
1. 能访问网络

这个其实就是一个配置项目,在 AndroidManifest.xml 加一行就行,具体如下:

<?xml version="1.0" encoding="utf-8"?>
<manifest>
    <application>
        ......
    </application>
    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

示例代码中,加一段 uses-permission 的配置就可以了。

2. 能回退,像App一样

MainActivity 中添加如下方法就行,它其实是重写了方法:

public class MainActivity extends AppCompatActivity {
    private WebView webview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    	......
    }
    @Override//设置回退
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
            webview.goBack();
            return true;
        }
        return false;
    }
}

通过监听设备的onKeyDown 方法,实现回退的功能,因为它没有像Pc端的回退键。

3. 自定义App图标,不要是个默认的Android 机器人就行

个人觉得,这个是实际开发中很现实的一个需求,业务当然希望看到自己的东西像是自己的产品。从应用图标开始:
在这里插入图片描述
如上图所示,这里面在res文件夹里有5个mipmap 开头的文件夹,它里面放的就是图标,一大一小,但是修改的时候,只需要一个,图片,然后起两个不同的名字就行,大概像正面这样:

在这里插入图片描述
ic_launcher.pngic_launcher_round.png这两个图片是默认的,我们只需要替换图片,名称不变就行。

4. 修改应用名称

每个项目都有自己的名称,H5应用也一样,所以,这个也算是硬性需求了,修改也简单, 还是在AndroidManifest.xml文件中:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.we_research">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="应用名称"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:networkSecurityConfig="@xml/network_security_config"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

替换掉 android:label="应用名称"中的“应用名称” 就行。

5. 修改主界面颜色,让它跟你的项目吻合

为了让它看起来更完美,还可以修改App的主题颜色,让它与H5界面无缝吻合。这样看起来就和原生App一模一样啦:

在这里插入图片描述
如上图所示,找到res/values/colors.xml文件,然后修改里面的色值就行:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#6c6c6c</color>
    <color name="colorPrimaryDark">#000</color>
    <color name="colorAccent">#03DAC5</color>
</resources>
6. 添加H5逻辑

最后一步,就是最关键的一步啦,添加H5逻辑,这里有两种方法 : 第一种是把H5逻辑放在Assets 文件夹中(这个需要自己建);第二种是已经有发布的链接了,直接引用H5项目的链接,然后在MainActivity 中添加方法:

public class MainActivity extends AppCompatActivity {
    private WebView webview;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        webview = new WebView(this);
        webview.getSettings().setJavaScriptEnabled(true);
//        webview.loadUrl("file:///assets/index.html"); 本地资源引用
        webview.loadUrl("http://178.178.178.178/projectname/"); // 链接引用
        setContentView(webview);
    }
}

这样,一个完整的H5集成方案就完成了。

撒花.jpg

四、调试

可能有朋友还会关心一个现实的问题,如何调试。
新安装的Android Studio是没有Module的,也没有模拟器,需要自己安装
找不到Module的话,可以通过这样去找:
在这里插入图片描述
然后模拟器就下载默认的虚拟设备就行,但是这里有一个点要注意,2020版本的Android studio是需要 Intel Hyper-V虚拟技术的,但是默认Windows系统没有打开,所以,根据正面的图片中的步骤,打开:

在这里插入图片描述
这样就可以愉快地运行调试啦,哈哈,最后附上一张运行图:

在这里插入图片描述

这样就大功告成啦,喜欢请评论,点赞,收藏三连哟~

  • 2
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
对于使用 FFmpeg 处理视频的开发者来说,常常会遇到视频时间同步的问题。这个问题一般出现在视频的编码和解码过程中,原因是由于视频的帧率和音频的采样率不同步导致的。如果不处理这个问题,在处理视频的过程中可能会导致视频和音频不同步,出现画面与声音不匹配的情况。 下面介绍一种简单的方法来解决这个问题,使用 FFmpeg 的 filter_complex 参数进行音视频同步处理。 首先,我们需要使用 FFmpeg 的 ffprobe 工具来获取视频文件的基本信息,包括视频的帧率和音频的采样率。可以使用以下命令来获取: ``` ffprobe -i input.mp4 ``` 接下来,我们需要使用 FFmpeg 的 filter_complex 参数来进行音视频同步处理。具体来说,我们需要使用 aresample 和 setpts 这两个滤镜来处理音频和视频的时间戳。 aresample 滤镜用于调整音频的采样率,使其与视频的帧率同步。我们可以使用以下命令来调整音频的采样率: ``` -af aresample=async=1 ``` setpts 滤镜用于调整视频的时间戳,使其与音频的时间戳同步。具体来说,我们需要将视频的时间戳减去音频的时间戳差值,从而达到同步的效果。我们可以使用以下命令来调整视频的时间戳: ``` -vf setpts=PTS-STARTPTS+delay/TB ``` 其中 delay 是音频和视频之间的时间戳差值,TB 是视频的时间基准。 最终,我们可以使用以下命令来进行音视频同步处理: ``` ffmpeg -i input.mp4 -af aresample=async=1 -vf setpts=PTS-STARTPTS+delay/TB output.mp4 ``` 这样就可以解决音视频同步问题。需要注意的是,由于每个视频文件的帧率和采样率可能不同,因此 delay 和 TB 的值需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洲上牧童

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值