导航 App 很多,但是没有一个能多个地点规划最短路线 送外卖到多个地点不想走冤枉路? 旅游观光时希望节省路程时间? 送货上门规划最优路线? “两岸猿声啼不住 轻舟已过万重山” 使用轻舟 App 轻松规划最优路线 [App] 轻舟 - 多个地点规划路线 Android
这个 App 我写了大概大半年,根据 Switch 的逆向工程推出来的通讯方式,花了相当多的时间和精力。现在终于基本完成上架啦。希望有 Switch 的大哥可以下载下来玩玩,你的反馈对我来说非常重要~当然能帮我写个好评那就更加感激了 [App] Switch 游戏主机手柄 pro --- 一款 Switch 玩家必备的 App Android
序言 依赖注入(IOC)就是通过容器,将当前这个类所需的对象实例化,而不需要这个类自身去实例化这个对象。目的是为了类的解耦。在小项目里面可能无法体现依赖注入的价值,但是在大型多人合作的项目里面,依赖注入能让整个项目更加健壮和易于维护。 Inject 说起依赖注入,最大名鼎鼎的莫过于Java的Spring系列。在Flutter开发中也有很多的依赖注入框架,其中官方推荐的框架就是本文的主角 Inject 导入 由于Inject不支持导包的形式,因此只能通过导入源码的方式引入。 在lib同级别目录新建vendor文件夹 在vendor文件夹里导入inject源码 git clone https://github.com/google/inject.dart.git 然后在pubspec.yaml文件中引用 注意 Inject依赖于build runner,因此也需要引入build runner dependencies: inject: path: ./vendor/inject.dart/package/inject dev_dependencies: build_runner: ^1...... Flutter 入门到头秃 - 依赖注入 Inject Coder
序言 因为在工作中有给APP优化电量消耗的需求,因此了解到了battery-historian这个google出品的电量分析工具。它的配置方式有两种其一是下载go,python,git,对源码进行编译,但是该方法过程有点繁琐。第二种方式就是下载Docker一键配置环境,我这里用的就是方法二。 1.什么是Docker 不知道你有没有经历过配置ADT(Android Developer Tools)的经历,在大学期间配置这个环境对于新手的我来说那是噩梦般的体验。首先需要安装JDK,配置JAVA环境,下载安装eclipse,在eclipse上安装ADT插件,下载SDK,配置NDK工具路径和环境等等..经过N多的步骤后,当你以为到达黎明前夕时点击运行分分钟报出各种匪夷所思的问题,又得焦头烂额的搜索各种解决方案。如果你觉得这些还好,那对于linux环境几十个依赖的环境配置不知道你会作何感想。为了解决环境依赖的问题Docker横空出世,它实际上就是一个虚拟机,能通过一个命令将完整的一个环境下载下来,你不再需要为了各种兼容或者依赖等问题而挠头。(为了保护程序员的头发作出了史诗级的贡献) 2.怎么安装.... Docker的简单安装与使用 Coder
序言 之前心血来潮开始了开发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