12 Cmdmac

尚未进行身份认证

暂无相关描述

等级
TA的排名 13w+

使用libjpeg实现windows截图保存成jpeg文件【看这一遍就好啦】

工程中有个需求是要求在windows平台下截图某一个窗口,并实现保存成jpeg,实现功能大概是:1.查找窗口2.截图得到bitmap数据3.把bitmap数据保存成jpeg文件其中bitmap数据保存成jpeg文件这里使用libjpeg来实现,这里记录下编译和使用时遇到的一些坑,首先要下载源码进行编译1、下载源代码下载地址:http://www.ijg.org/files/,选择最新版...

2019-09-17 21:42:32

妙用Fragment轻松实现Android动态权限申请库

AndroidM之后,有的在manifest定位的权限需要在运行时动态申请才可以使用,这方面的详细信息可以参考官方文档:https://developer.android.com/training/permissions/requesting?hl=zh-cn,一般是需要申请权限时,需要检查是否已经有权限,如果没有则申请,主要使用到如下步骤:首先使用ContextCompat.checkSel...

2019-01-24 11:41:54

百度地图定位获取不到地址信息问题

在接入百度地图时,按官网的文档来做,在AndroidStudio配置时会遇到这个问题:sourceSets{main{jnilibs.srcDir'libs'jni.srcDirs=[]//disableautomaticndk-build}}这个配置在Studi...

2019-01-23 17:22:40

深入理解Android中的Drawable类

Drawable对于Android开发工程师来说非常熟悉,最常用的用法是在drawable目录里放入png或其他格式的图片,然后在代码里就可以用resources访问到如://访问test图片资源getResources().getDrawable(R.drwable.test);这里不是要讲Drawable资源怎么使用,而是来看一下这个类实现的一些原理以及它相关的一些子类的实现原理。...

2018-12-25 17:00:45

如何通俗易懂地理解gradle

1.什么是Gradle从gradle.com的userguide可以看到这样一段话:Gradleisanopen-sourcebuildautomationtoolfocusedonflexibilityandperformance.GradlebuildscriptsarewrittenusingaGroovyorKotlinDSL.Read...

2018-12-17 17:43:31

实现命令行CD命令

有的面试题要求实现cd命令,实现思路如下:扫描要cd到的目标路径,以目录分割符/作为切换扫描的分割点,如果扫描到.号则当前目录不变,如果扫描到“…“字符串,则把从当前路径从后往前找/号,当前路径就是从前面到这个/号的位置的内容。如果扫描到其他合法字符串就将当前内容拼上这个字符串。举个例子:当前路径是:/a/b/c要切到…/d/e扫描目标目录,分别要扫描到"…",“d”,“e&

2018-12-17 14:23:16

图片加载库Picasso和Glide对比

Android上图片加载库现在出现了有挺多了,比较出名的有ImageLoader、Picasso、Glide、Fresco,这里来对比一下两个比较相像的库,Picasso和Glide。这两个库在API使用上非常的类似,都是很简单的链式调用法,但是实现上却有较大的不同,下载源码就能发现Glide复杂很多,Picasso相对就简单不少,下面就分几个方面来简单对比一下这两个库的不同之处和实现的关键点。...

2018-12-14 15:39:13

Java线程池用法

Java几种线程池的用法:Java的线程池一般使用ThreadPoolExecutor,它实现了ExecutorService接口,ExecutorService又实现了Executor接口,但创建线程池一般使用Executors来创建,分别有下面几种不同的方法:1.newFixThreadPool/***Createsathreadpoolthatreuse...

2018-12-12 16:05:50

快速排序实现

快速排序算法虽然看起来简单,但是要手写实现一个没有bug的版本,对不是每天都在做数据结构和算法的工程师来说还是有点困难的,这里给出了4种两边查找的排序算法的实现,亲测过!实现主要是细节的注意,最关键是下标的处理上:/***排序方法一(基数固定在第一个位置):*设置左右两个扫描指针,左边是从第一个位置再往前一个位置(即排除基数的位置)开始,右边从最后一个位置再往后一个位...

2018-11-23 17:36:05

Android Sqlite数据库转义字符模糊查询

Android数据库使用的是sqlite3,有时会有模糊查询的需求,比如包含“12345”的SQL查询语句为:select*fromTablewheretitlelike"%12345%"模糊查询使用like关键字,%通配符表达0个或多个字符在当前位置,如果查询的内容刚好含有转义字符怎么办?一般是使用escape关键指定转义符,然后将查询内容的转义符做转义,但android里面...

2018-11-08 16:32:21

Vue.js上传文件踩坑之旅

最近在丰富Enlarge上传文件到手机上,因为项目中ajax是用了axios,所以文件上传也准备用它来做,以下是上传文件示例,网上也有很多代码://input的onchange事件onFileSelected(e){vardata=newFormData();for(leti=0;i<e.target.files.length;i++){...

2018-11-04 22:17:17

Android多语言适配繁体中文

Android多语言适配一般默认是values/drawable目录下的文件是英文语言的资源,如果在中文下使用不同的资源则需要新建values-zh/drawable-zh-xxxdpi这样,res目录下的命名规则是drawable-语言-国家-xxxdpi,在没有特定国家的资源会先找语言相关的目录.但是中文有点特别!这也是一个坑,按常规思维drawable-zh应该是简体中文/繁体中文共有的资源...

2018-10-30 19:21:01

手机PC互联开源项目Enlarge

EnlargeEnlarge是一个在PC网页端操作手机端数据的工具,目的打造一个开源的可定制化的PC与手机之间数据通信的系统,让你可以轻松就可以拥有AirDroid般的强大功能!Enlarge-Android手机app端,提供http/websocket服务,扫二维码登录功能Enlarge-Web浏览器操作手机的前端界面Enlarge-Server二维码登录服务...

2018-10-25 14:55:32

使用AnnotationProcessor自动生成代码

在上一篇实现类spring框架的文章中,android基于注解实现类似spring服务端框架使用了注解实现了与web服务本身的解耦,但实现的方式是使用反射得到method对象然后在请求到来时实例化对象然后用反射调用对应的函数,这种方法有一定的性能的损耗,使用上不够极致,这里再用注解处理器的方法实现对注解自动生成代码,实现一样的功能.注解处理器的基础就不多介绍了,这里直接说说如何实现.第一步:将...

2018-10-25 13:45:51

android基于注解实现类似spring服务端框架

用过spring或Retrofit的人都知道实现函数和http请求的绑定和解耦非常方便,这里分享一下基于NanoHttpd实现的简单注解框架。第一步定义注解类://http控制类,被该注解的类用来处理http请求@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)public@interfaceController...

2018-10-21 21:57:00

在vue.js上使用websocket

在vue.js上使用websocket有两种方法:方法一:使用内置websocket实现data(){return{websock:null,}},mounted(){//初始化this.initWebSocket();},methods(){initWebSocket(){//初始化weosocket...

2018-10-19 11:07:35

使用express布署vue.js项目

默认情况下,express是通过路由来选择模板文件来渲染前端页面,vue.js是静态的前端项目,要想在express下布署vue.js项目可以试下将vue.js打包的文件放在静态文件目录即可,实现如下:在app.js下做如下修改varapp=express();//viewenginesetupapp.set('views',path.join(__dirname,'vi...

2018-10-19 10:49:31

使用express4与socket.io搭建服务器

首先安装express4,参考http://www.expressjs.com.cn/starter/generator.htmlnpminstallexpress-generator-g然后创建express项目express-emyapp这样就创建了一个基于ejs模板的express后台服务项目.接下来安装soket.ionpminstallsocket.io-...

2018-10-19 10:41:21

Vue.js动态切换组件

在实际项目中,通常会有这样的需求:  在同一个界面区域内,要根据不同的情况展示不同的内容,比如像文件浏览器(windows资源管理器,finder)有列表显示文件夹内的内容和表格显示文件夹的内容,一般通过点击工具栏上的按钮进入切换.  那么像这种需求应该如何实现呢?用过vue.js都知道两个不同的界面显示和相关操作通常会抽象出不同的component来实现,如列表的实现FileView.vue...

2018-10-13 22:01:47

UiAutomator2.0遍历控件

使用过UiAutomator1.0的人应该有非常痛的痛点,那就是在遍历View树时非常麻烦或者说做不到,百度上找到的基本上是这么用的:UiScrollablelist=newUiScrollable(newUiSelector().resourceId("com.xxx.xxx:id/ni"));for(inti=0;i<list.getChildCount();...

2018-10-01 21:29:30

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!