Android
文章平均质量分 79
奉君逍遥
这个作者很懒,什么都没留下…
展开
-
Java设计模式之创建型设计模式
什么是设计模式设计模式(Design Pattern)是前辈们对代码开发经验的总结,是解决特定问题的一系列套路。它不是语法规定,而是一套用来提高代码可复用性、可维护性、可读性、稳健性以及安全性的解决方案。1995 年,GoF(Gang of Four,四人组/四人帮)合作出版了《设计模式:可复用面向对象软件的基础》一书,共收录了 23 种设计模式,从此树立了软件设计模式领域的里程碑,人称...原创 2014-12-06 21:19:31 · 275 阅读 · 0 评论 -
Android 设计模式之观察者模式
/* * 观察者模式 * 定义对象间的一种一个(Subject)对多(Observer)的依赖关系,当一个对象的状态发送改变时,所以依赖于它的 * 对象都得到通知并被自动更新 * * 当然,MVC只是Observer模式的一个实例。Observer模式要解决的问题为: * 建立一个一(Subject)对多(Observer)的依赖关系,并且做到当“一”变化的时候, * 依赖这个原创 2014-12-30 16:16:14 · 418 阅读 · 0 评论 -
Android 低功耗蓝牙BLE连接通信
简介蓝牙(Bluetooth®):是一种无线技术标准,可实现固定设备、移动设备和楼宇个人域网之间的短距离数据交换(使用2.4—2.485GHz的ISM波段的UHF无线电波)。蓝牙技术最初由电信巨头爱立信公司于1994年创制,当时是作为RS232数据线的替代方案。蓝牙可连接多个设备,克服了数据同步的难题。蓝牙 4.0蓝牙技术联盟于2010年6月30日正式推出蓝牙核心规格4.0 。它包...原创 2020-03-29 23:21:22 · 2645 阅读 · 1 评论 -
CMake 入门基础
简介Make 工具,例如GNU Make,QT 的qmake,微软的MS nmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的 Makefile 格式也千差万别。这样就带来了一个严峻的问题:如果软件想跨平台,必须要保证能够在不同平台编译。而如果使用上面的 Make 工具,就得为每一种标准写一次 Makefile ,这将是...原创 2020-03-13 23:06:07 · 981 阅读 · 0 评论 -
Android NDK与JNI基础
什么是NDKAndroid NDK 是一套工具集合,允许你使用C/C++语言来实现应用程序的部分功能。NDK本身其实就是一个交叉工作链,包含了Android上的一些库文件,然后,NDK为了方便使用,提供了一些脚本,使得更容易的编译C/C++代码。什么是JNIJNI,全称为Java Native Interface,即Java本地接口,JNI是Java调用Native 语言的一种特性。通...原创 2020-03-12 22:57:43 · 409 阅读 · 1 评论 -
Android终端Termux安装MariaDB/MySQL数据库
前言Android移动设备并非设计为服务器(尽管其中一些功能强大),但是,随着技术的进步以及我们可以用手机做更多的事情,总是很有趣的。今天,借助Termux应用程序,我们将了解如何在Android上安装MySQL或MariaDB数据库。为此,只需执行一些简单的命令即可,我们将在Android中拥有一个MySQL数据库服务器;功能齐全,随时可以执行查询。如果我们想将其投入生产,只要我们配置安...原创 2019-10-23 01:54:35 · 14356 阅读 · 4 评论 -
Android终端Termux安装Scrapy
前言Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架。Scrapy 使用了 Twisted异步网络库来处理网络通讯,其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中。其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的, 也可以应用在获取API所返回的数据(例如 Amazon Associates Web Services ) 或者通用的网络爬虫。Scrap...原创 2019-04-01 15:33:47 · 2825 阅读 · 2 评论 -
Android设置或清除默认桌面
配置桌面程序<activity android:name=".ui.main.MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android....原创 2019-03-08 10:33:12 · 5443 阅读 · 2 评论 -
Android APK签名工具
概述当使用 apktool 回编译生成 APK 后,由于没有对 APK 签名,安装无法成功。因此,需要对 APK 文件进行重新签名方可安装。工具介绍jarsigner是JDK提供的针对JAR包签名的通用工具,位于如下位置:jdk/bin/jarsigner.exeapksigner是Google官方提供的针对Android APK签名及验证的专用工具,位于如下位置:...原创 2019-02-25 14:49:01 · 3768 阅读 · 1 评论 -
Android终端Termux安装Sanic
前言Sanic是一个类似Flask的基于Python3.5 +支持 async/await 语法的异步无阻塞web框架,这意味着我们可以依靠其处理异步请求的新特性来提升服务性能。但是Sanic的速度能有这么大的提升,关键还是Sanic使用了uvloop作为asyncio的事件循环。uvloop基于libuv,libuv是一个使用C语言实现的高性能异步I/O库,uvloop用来代替asyncio...原创 2019-02-12 17:23:07 · 1288 阅读 · 1 评论 -
android-apt切换为官方annotationProcessor
前言Android Gradle插件2.2版本发布后,Android 官方提供了annotationProcessor来代替android-apt,annotationProcessor同时支持 javac 和 jack 编译方式,而android-apt只支持 javac 方式。同时android-apt作者宣布不在维护,当然目前android-apt仍然可以正常运行,如果你没有想支持 ja...原创 2019-02-12 14:08:29 · 445 阅读 · 1 评论 -
RxJava2 计时器的Scheduler线程调度
简介RxJava是一个异步的框架,使用Scheduler调度器通过observeOn和subscribeOn这两个方法可以对线程进行控制调度器种类Schedulers.io( )用于IO密集型任务的操作(读写文件、读写数据库、网络信息交互等),具有线程缓存机制,CoreSize为1,在此调度器接收到任务后,先检查线程缓存池中,是否有空闲的线程,如果有,则复用,如果没有则创建新的线程...原创 2019-02-11 15:54:40 · 824 阅读 · 1 评论 -
RxJava 2.0操作符记录
创建操作符用于创建被观察者对象(Observable)对象和发送事件create 创建一个最基本的被观察者对象Observable just 将对象或者对象集合转换成一个会发射这些对象的Observable defer 在观察者订阅之前不创建这个Observable,为每一个观察者创建一个新的Observable fromeAr...原创 2018-10-09 17:35:03 · 288 阅读 · 0 评论 -
Android使用OpenCV免安装Manager
1,下载OpenCV的,Android的SDK:HTTPS://opencv.org/opencv-3-4-1.htmlapk:OpenCV Manager apk的存放目录(根据不同cpu型号有不同的apk请根据自己的机器cpu型号来应,一般v7a的就好了)。 samples:OpenCV的代码案例里面包括了人脸检测和其他。 SDK:包括了SDK和LIB包。2,导入测试工程使用...原创 2018-07-06 11:31:34 · 911 阅读 · 1 评论 -
Android 使用系统签名打包APK
概述我们在进行Android开发的时候,如果开发的是系统应用,都需要系统的签名才能正常运行。而系统应用一般是把代码统一放到系统代码库中跟随系统一起编译。如果我们想用Android Studio单独开发某个应用而使用系统签名的时候,有两种开发的方式:一种是编译完成后,使用SignApk.jar来进行签名,SignApk.jar是Android源码包中的一个签名工具。一种是把系统的p...原创 2017-05-16 15:41:33 · 1500 阅读 · 1 评论 -
Android 模拟返回键、菜单键、主页键
发送命令模拟按键操作方法一:/** * 用Runtime模拟按键操作 * * @param keyCode 按键事件(KeyEvent)的按键值 */private void sendKeyCode1(int keyCode) { try { String keyCommand = "input keyevent " + keyCode; ...原创 2017-01-11 16:18:50 · 9245 阅读 · 0 评论 -
Android Context 上下文 你必须知道的一切
1、Context概念其实一直想写一篇关于Context的文章,但是又怕技术不如而误人子弟,于是参考了些资料,今天准备整理下写出来,如有不足,请指出,参考资料会在醒目地方标明。Context,相信不管是第一天开发Android,还是开发Android的各种老鸟,对于Context的使用一定不陌生~~你在加载资源、启动一个新的Activity、获取系统服务、获取内部文件(夹)路径、创建Vie...转载 2015-02-12 00:25:38 · 261 阅读 · 0 评论 -
java中volatile关键字的含义
在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。Java语言是支持多线程的,为了解决线程并发的问题,在语言内部引入了 同步块 和 volatile 关键字机制。 synchronized 同步块大家都比较熟悉,通过 synchronized 关键字来实现,所有加上synchronize...转载 2015-01-15 14:11:24 · 326 阅读 · 0 评论 -
Android AIDL使用详解
1.什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口icp:interprocess communication :内部进程通信2.既然aidl可以定义并实现进程通信,那么我们怎么使用它呢?文档/android-sdk/docs/gui...转载 2015-01-13 22:01:07 · 376 阅读 · 0 评论 -
Log详解(Log.v,Log.d,Log.i,Log.w,Log.e)的用法
在调试代码的时候我们需要查看调试信息,那我们就需要用Android Log类。android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,...转载 2014-11-19 15:39:08 · 528 阅读 · 0 评论 -
ThreadLocal工作原理
1.概述 ThreadLocal为我们解决多线程程序的并发问题提供了一种新的思路。使用这个工具类可以很简洁地编写出优美的多线程程序。ThreadLocal很容易让人望文生义,想当然地认为是一个“本地线程”。其实,ThreadLocal并不是一个Thread,而是Thread的局部变量,也许把它命名ThreadLocalVariable更容易让人理解一些。当使用ThreadL...转载 2014-10-21 21:54:28 · 446 阅读 · 0 评论 -
javax.net.ssl.SSLHandshakeException 异常错误记录
错误信息javax.net.ssl.SSLHandshakeException: com.android.org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certificate: null该错误是由于HTTPS证书过期而导致,将接口请求切换至HTTP后可以正常访问或进行证书续...原创 2018-12-25 09:26:10 · 1428 阅读 · 1 评论 -
Android终端Termux安装NumPy、Jupyter
NumPyNumPy是Python语言的一个扩充程序库。支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。Numpy内部解除了Python的GIL(全局解释器锁),运算效率极好,是大量机器学习框架的基础库安装依赖包apt-get install clang python python-dev fftw注:经测试fftw不用安装也可以成功用pip安装nu...原创 2018-10-12 16:30:57 · 18207 阅读 · 11 评论