随笔分类 - 移动开发
关于移动互联网开发的一切心得
摘要:近期,我一直在业余时间研究纯血鸿蒙(HarmonyOS)App的开发,所使用的IDE是华为官方的DevEco Studio 3.1.1。 随着使用时间的增长,我发现了几个特别容易被忽略,但又特别实用的功能,今天列举三个分享给大家。这三个实用功能在日常开发中的使用频率非常频繁,如果善加利用,将会极大地
阅读全文
摘要:仅需半小时,即可实现纯血鸿蒙版本的ChatGPT! 废话少说,先看效果图: 如上图所示,这个小Demo实现了AI智能问答。靠右加粗的文本是用户点击底部提交按钮后出现的;后面靠左对齐的普通文本是来自AI的回答内容。当然,整个内容是可滑动浏览的,当内容被滑动时,屏幕右侧将出现滚动条。最后,为什么UI是英
阅读全文
摘要:本周的聊技术话题和大家说说如何在Android中实现自适应文本大小显示。 想象一下,在布局中,通常显示文本的区域大小是固定的,但是文本长度并不总是固定的。比如列表中的文章标题、界面下方的按钮文本等等。 为了尽可能让这些文字可见,传统的做法是通过文本长度设置文本大小,或者通过android:ellip
阅读全文
摘要:这次的分享源于最近的实际开发工作。 项目需求是 在原生Android应用中嵌入WebView,放置用于支撑音视频直播业务的Web页; 另外还需提供Word、Excel、PowerPoint、PDF等常见文档格式的内容预览。 经过一番技术选型,最终选定集成腾讯TBS浏览服务进项目,支撑如上所述两个功能
阅读全文
摘要:本次分享的主题源于笔者在实际开发中遇到的问题。 具体现象为:当普通的9-Patch图用作TextView的backGround属性后,整个TextView便有了一定的Padding值。但笔者并没有给定padding属性,甚至在预览视图中,也没有展现出padding效果。但运行起来后,便莫名其妙地有了
阅读全文
摘要:今天博主来谈一个开发Flutter App的小技巧——怎样有效地退出程序。 这种方法典型的应用场景就是用户许可协议的同意与否。从用户的角度讲,虽然大部分人都会无脑点击“同意”,但我们仍不应忽视“不同意”的作用——退出App。 笔者在网络上搜索了一下相关的API,发现大部分的文章都在推荐一种方法,即:
阅读全文
摘要:本文是Flutter中Canvas和CustomPaint API的使用实例。 首先看一下我们要实现的效果: 结合动图演示,列出最终目标如下: 在程序运行后,显示一个小球; 每次程序启动后,小球的样式均发生随机性变化,体现在大小、颜色和位置三点; 小球运行的规律参考桌球或三维弹球游戏; 单击屏幕,小
阅读全文
摘要:从一开始接触Flutter,相信读者都会铭记一句话,那就是——一切皆组件。今天我们就来体会一下这句话的神奇魔力,我们先从实际的产品需求说起。 我们先来看一个简化的运行图: 我们要实现如上图所示的日期选择器,App是iOS风格。 Flutter SDK自身有类似上图的日期选择器,但是Material
阅读全文
摘要:要问到Flutter和Android原生App,在开发是有何区别,编程方式是绕不开的话题。Flutter采用声明式编程,Android原生开发则采用命令式编程。 声明式编程 VS. 命令式编程 我们首先要明确的,是何为声明式编程,何为命令式编程。 何为声明式编程 摘录一段来自百度百科的定义: 声明式
阅读全文
摘要:如果你是一位前端开发工程师,对“跨平台”一词应该不会感到陌生。像常见的前端框架:比如React、Vue、Angular,它们可以做网页端,也可以做移动端,但很少能做到跨PC、Mac端,也就是我们熟知的Windows、Linux以及macOS上的应用程序。即使有,受限于JS的性能瓶颈,当有大量的科学计
阅读全文
摘要:继上一篇Flutter自定义组件的视频短课(视频地址: https://www.bilibili.com/video/BV1ap4y1U7UB/ )后,我们继续来聊自定义组件。视频中我为大家详解了Cupertino风格的单选框的实现,这次我们就说说Cupertino风格的复选框。我们先来看看效果:
阅读全文
摘要:这次是Flutter开发技术分享,解决的问题点来自本人实际的开发经历。 首先描述一下问题:在某个组件中调用setState()方法更新该组件状态,结果是无法做到更新效果,组件仍然维持原状。 下面我们用代码示例还原问题场景: class _MyHomePageState extends State<M
阅读全文
摘要:今天和各位分享一个博主在实际开发中遇到的问题,以及解决方法。废话不多说,我们先来看需求: 我们要做一个iOS风格的底部菜单弹出组件,具体涉及showCupertinoModalPopup()方法,该方法被执行后,会出现如下图类似所示的菜单弹出视图: 相信这个弹出菜单视图都有见过吧?下面重点来了:在本
阅读全文
摘要:在实际开发中,我们通常需要实现某个组件的更多点击事件。比如:原生的RaisedButton组件是无法响应诸如拖拽或是按下、抬起等细化的动作,它只有一个onPressed()方法来表示。当我们想实现这些细化事件时,通常使用的组件是GestureDetector。 我们先来看下面这段代码: Gestur
阅读全文
摘要:概述 今天,我们来聊聊一个专门为“懒人程序员”准备的工具——Adobe XD。使用它可以快速将原型设计图转换为可执行的Flutter代码, 而由于Flutter自身跨平台的特性,因此这些自动生成的代码即可以用在Android、iOS这样的移动设备上,也可以用在Web页中。 认识Adobe XD 首先
阅读全文
摘要:今天,我们来聊聊移动端原生开发。本篇文章涉及Android/iOS两大移动端,将从产品优势和使用方式两大角度解读阿里云移动研发平台(EMAS)。 一、产品优势 阿里云平台所提供的移动研发平台,英文简称为EMAS,意为Enterprise Mobile Application Studio。从名称上看
阅读全文
摘要:scrcpy简介(拼写是scrcpy,非Python爬虫框架Scrapy) 简单地来说,scrcpy就是通过adb调试的方式来将手机屏幕投到电脑上,并可以通过电脑控制您的Android设备。它可以通过USB连接,也可以通过Wifi连接(类似于隔空投屏),而且不需要任何root权限,不需要在手机里安装
阅读全文
摘要:这篇文章要感谢来自知乎的小伙伴:子非鱼,他最近被一件事情困惑,那就是:Android手机无法联调了。在解决完他的疑问后,突然意识到,其实自己在前一段时间也曾遇到同样的问题,最后居然还怀疑是电脑和手机不兼容导致的。然而,罪魁祸首居然是数据线。 好了,下面我们来看一下具体情况吧。 我们都在使用苹果公司的
阅读全文
摘要:今天我们来聊一聊有关AppCompat,作为Android Jetpack系列文章的开篇。说到Android Jetpack,我们先看一下这张图: 从图中我们可以看到,整个Android Jetpack分为了四大部分,而我们今天要讲述的就是Foundation中的AppCompat小节,官方将该部分
阅读全文
摘要:这次我们依旧来谈谈有关性能优化的话题,这次我们会用到Google给我们提供的分析工具——Systrace。如果你还不了解这个工具,最好先了解一下。Google 官方文档: https://developer.android.com/studio/command line/systrace 我们还会用
阅读全文

浙公网安备 33010602011771号