1.前言 前段时间 我在跑高速的时候收到了一条微信 因为当时在开车 所以过了两个小时我才点开它 是我姐跟我说爸爸阳了 幸好我爸爸身体不错休息几天也就康复了 可是这个事情却让我开始有了一丝顾虑 万一我们开车时真的有很紧急的消息那该怎么办呢 难道我们要在120的时速下边开车边看手机吗 为了解决这个问题 我决定做一个 微信车载版 2.使用指南 1.下载文字转语音中文语音包 在设置->无障碍->文字转语音->设置->安装中文语音数据包 2.启动无障碍服务 点击APP右上角 开启无障碍服务 点击允许 3. 自动返回 假如你在开车的时候使用它,你可能希望它操作完成后能回到你的导航应用上 因此提供了一个自动返回的开关,自动返回到你上一个操作的APP 但是开启这个功能需要你提供应用访问权限 3.蓝牙配件 该APP可以通过蓝牙多媒体控制器来控制 理论上可以适配大部分蓝牙多媒体控制器 个人测试中使用的是这款 淘宝链接 https://s.click.taobao.com/6q9Q3Nu 播放/暂停按钮 -> 切换当前联系人 下一首歌 -> 发起语音聊天 .... [APP] 微信车载助手 - 让你开车也能安全收发微信 APP
导航 App 很多,但是没有一个能多个地点规划最短路线 送外卖到多个地点不想走冤枉路? 旅游观光时希望节省路程时间? 送货上门规划最优路线? “两岸猿声啼不住 轻舟已过万重山” 使用轻舟 App 轻松规划最优路线 [App] 轻舟 - 多个地点规划路线 Android
这个 App 我写了大概大半年,根据 Switch 的逆向工程推出来的通讯方式,花了相当多的时间和精力。现在终于基本完成上架啦。希望有 Switch 的大哥可以下载下来玩玩,你的反馈对我来说非常重要~当然能帮我写个好评那就更加感激了 [App] Switch 游戏主机手柄 pro --- 一款 Switch 玩家必备的 App Android
序言 之前心血来潮开始了开发99个APP的计划,这是我的第三个APP Recorder251~(撒花) 看到这个APP的名字,懂的人大概会心一笑了。这个APP的创作灵感就是华为李宏远事件。华为前员工李洪元被华为举报涉嫌敲诈导致被刑拘251天。首先,我算是华为的花粉,鸿蒙发布会时我就在现场的最前排。但当我看到李洪元事件的发生的全知乎的删帖,热度的减退,心里有了点别扭。这就是开发这个APP的背景了。 简介 这个APP看上去跟Chrome非常相似,但是实际上它是一个录音机。除了正常的网页浏览外,当点击菜单列的星星按钮后就会开始录音,重新点击星星就会保存录音。 点击星星旁边的下载按钮就可以跳转到录音记录界面 当然其他菜单按钮是没有作用的(doge) 夹带了私货,点击home按钮后,会进入到我的Blog 尾语 这个App功能较为简单,技术知识就不写啦。另外,欢迎来知乎给我一个Start,或许能让你发现一个有趣的人~ 我的知乎 我的99APP开发进度 [APP] Recorder251 - 录音器 Android
序言 二维码/条形码是生活中非常常见的技术,只要通过手机或者扫码枪扫描一下就能读取到里面的信息,给我们的生活带来了很多的便利。在Android开发当中,这也是很常用的技术。本文主要简单的介绍所用到的工具及用法。 1.导入包 最通用的条码识别库应该是zxing,但是由于该库过于复杂,对于刚接触的人来说无异于杀鸡用牛刀。因此我们使用zxing-android-embedded这个封装过的库用作这次开发。 因为该库有很多东西需要我们自己更改源码,所以直接下载 zxing-android-embedded 并import 该module,具体过程不详叙。 2.常规用法 1.在application里增加硬件加速 <application android:hardwareAccelerated="true" ... > 2.通过该命令打开扫码的界面 new IntentIntegrator(this) .setDesiredBarcodeFormats(IntentIntegrator.ONE_D_CODE_TYPES) .setPrompt("提示") .setCameraId...... Android 二维码/条形码的识别或生成 Android
序言 记录Android的一些判断网络,蓝牙,GPS,等设备状态的方法。 1.判断网络是否可用 // 是否有可用网络 private boolean isNetworkConnected() { ConnectivityManager cm = (ConnectivityManager) mContext.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo network = cm.getActiveNetworkInfo(); if (network != null) { return network.isAvailable(); } return false; } 2.判断wifi是否可用 // Wifi是否可用 private boolean isWifiEnable() { WifiManager wifiManager = (WifiManager) mContext .getSystemService(Context.WIFI_SERVICE); return wifiManager.isWifiEnab..... Android常用的蓝牙,GPS,网络等状态检测方法汇总 Android
序言 之前买了台Android测试机,发现原生的Launcher不太对我胃口,毕竟Android的精髓在于折腾。打算学习一下Launcher开发,顺便有了这篇文章。实际上我们的Android桌面Launcher其实也只是一个稍微特殊一点的App。并没有什么太高深的内容,我们都可以通过简单的代码实现你心中最完美的Android Launcher。 惯例先上效果图 画质较差,将就看下 1准备工作 实际上判断一个App是否是Launcher很简单,我们只需要在manifest里面增加两句category <activity android:name=".MainActivity" android:screenOrientation="portrait" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> <category an..... 教你撸一个属于你独一无二的 Android Launcher Android
1.序言 Android 原生手机熄屏的时候可以看到屏幕饱和度会减低变灰,然后有一个缩放的动画再关闭屏幕。我一直很好奇这个饱和度变低的效果到底是如何实现的。今天决定来尝试用自己的方法实现一下类似的效果。 先上效果图 gif20190516170046.gif 2.思路 第一反应也是最容易想到的方法就是使用ValueAnimator在UpdateListener 里面遍历所有window.decorView下的子View,依次改变其饱和度。但是不用想都能知道这个方法有很大的问题。如果界面的控件有很多的话,那光跑这个效果就足以榨干手机的性能了。编写Android 里面的动画效果其实有两个很重要的点。1.用尽量少的性能实现相同的效果 2.不要用物理的思维去实现(比如有些悬浮粘附效果其实只是两个View交替显示的障眼法)既然依次遍历不可行,那我是否可以只改变一个View来实现这个效果呢? 3.实现 首先随便写一个带按钮的布局 关键是必须在最外层有一个match_parent大小的ImageView可以覆盖住整个布局 设置按钮的点击事件 btn.setOnClickListener { va...... 使用 ColorMatrix 实现界面整体饱和度渐变 Android
1.序言 最近找到了一个非常简单的DB管理工具 名为Sugar ORM 号称不需要编写SQL语句就能实现数据库操作。实际使用了一番发现在数据库表结构不复杂的情况下还是蛮好用的。另外Sugar ORM不提供数据库加密,因此需要配合SQLCipher实现加密。(这两个工具似乎在其他平台也能使用,下面以Android为例) 2.牛刀小试 Sugar ORM 1.导入Module 因为后面需要加入SQLCipher,所以直接下载源码import Module方便修改源码。具体import方法略过。 2.创建数据库基本信息 你的数据库信息需要提前在Manifest里输入,SugarDB才能正确初始化 <application> <meta-data android:name="DATABASE" android:value="sugar_example.db" /> <meta-data android:name="VERSION" android:value="2" /> <meta-data android:name="QUERY_LOG" andr.... SugarORM SQLCipher 数据库及加密教程 Android
序言 我所在的公司是一家外包公司,项目很多可是只有我一位Android开发,为了能更有效率的接项目,经理决定让有Vue基础的几位前端开发配合我开发,于是就有了一篇踩坑的文章。 1.Weex是个啥? Weex是阿里巴巴出品的一套类似React Native的混合开发技术,目标是一套代码,多端运行。(Web,IOS,Android)阿里自家的淘宝客户端上也有使用。能通过加载服务器js文件随时切换UI。 2.咋样用? 1.配置环境 在Android端的配置并不复杂,按教程设置gradle依赖,权限,然后在你的Application初始化 fun initWeexSdk() { val config = InitConfig.Builder().build() WXSDKEngine.initialize(this, config) } 跟教程比少了两个Adapter,但是没关系,后面会讲到怎么用。 接下来就要封装一个简单的BaseWXActivity,继承IWXRenderListener abstract class BaseWXActivity : BaseActivity(), I...... Weex-Android 教程 - 从入门到放弃 Android
序言 开始Codeing的第一步就是熟悉你的Ide,熟练使用你的开发工具能极大的提高你的开发效率和撸代码的体验,下面总结几个必须要会的关于Android Studio 的小技巧或快捷键。 1.layout preview 很多Android初学者编码的时候写UI往往是写了一段就开始run到实机看效果,有时候为了改个padding或者textcolor就需要重新编译,耗费非常多的不必要的时间。其实Android Studio已经为你考虑到了。编写UI的时候只需要点击右上导航栏Gradle上方的Preview就可以看到UI效果了,你可以一边撸码,一边看到显示效果。 2.代码跟踪/打开实现 代码跟踪是个特别实用的东西,你只需要在类或参数的位置按住Ctrl + 鼠标左键就能看到类或参数的使用位置,这个东西初学者都知道。还有一个类似的东西是打开实现。用于快速的看到interface类被实现的地方,在MVP框架中,这个小技巧能很快的帮助你找到interface的实现,操作方法就是Ctrl + alt + 鼠标左键。 3.返回上/下个光标位置 在编写代码的时候经常会跳转到不同的类,如果你想回到刚刚..... 关于 Android Studio 必须要会的技巧 Android