java
文章平均质量分 75
j20lin
这个作者很懒,什么都没留下…
展开
-
IDEA在编辑时提示could not autowire
在开发中我再applicationContext-dao.xml中加入了mapper扫描器[html] view plain copy<!--mapper扫描器--> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!--扫描包路径,如果需要扫描多个包,中间使用半角逗号隔开...转载 2018-06-15 12:01:52 · 1176 阅读 · 0 评论 -
Android 图片变换处理Matrix
讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放、旋转、位移、倾斜等。在最后将以一个简单的Demo来演示图片特效的变换。Matrix 对于一个图片变换的处理,需要Matrix类的支持,它位于"android.graphics.Matrix"包下,是Android提供的一个矩阵工具类,它本身不能对图像或View进行变换,但它可与其他API结合来控制图形、View的变换,如转载 2017-06-18 22:45:30 · 373 阅读 · 0 评论 -
Android5.0免Root截屏,录屏
MediaProjection介绍MediaProjection可以用来捕捉屏幕,具体来说可以截取当前屏幕和录制屏幕视频。MediaProjection由MediaProjectionManager来管理和获取。使用步骤首先获取MediaProjectionManager,和其他的Manager一样通过 Context.getSystemService() 传入参数MEDIA_转载 2017-05-22 16:19:19 · 647 阅读 · 0 评论 -
JNI开发之HelloWorld(Android Studio+ndk-bundle)
1.工具:(1)Android Studio2.1.2。 (2)ndk-bundle。2.安装好Android Studio。3.下载ndk-bundle。如图: 4.下载好之后会自动解压到sdk目录下。然后复制改该路径。在Android Studio 中点击File->Project Structure,指定ndk的路径: 5.新建Android Stud转载 2017-06-02 11:46:54 · 337 阅读 · 0 评论 -
Android 蓝牙4.0连接几次后出现连接不了,搜索不到服务的情况
最近做手机蓝牙与BLE设备的智能项目。遇到一个问题,记录下来。方便以后。出现的情况是:手机蓝牙与蓝牙设备连接几次,交互信息后,无法再次连接与搜索到服务,需重启手机蓝牙或者关闭APP后,再次启动APP,才能再次连接设备。上网查找了不少资料。才找资料。非常感谢此博文提供的参考解决方案http://bbs.eeworld.com.cn/thread-438571-1-1.html转载 2017-05-22 12:52:52 · 1447 阅读 · 0 评论 -
Handler消息如何取消
handler发消息方式:发送即时消息:Message msg = new Message(); msg.what = 100; handler.sendMessage(msg);延时5秒发送消息:Message msg = new Message(); msg.what = 100; handler.sendMe原创 2017-05-20 17:22:10 · 6198 阅读 · 0 评论 -
Android三种实现定时器的方法
方法一:Handler+Threadpackage com.xunfang.handerDemo; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.widget.Text转载 2017-05-20 16:39:35 · 309 阅读 · 0 评论 -
Android中进程与线程及如何在子线程中操作UI线程
1. Android进程一个应用程序被启动时,系统默认创建执行一个叫做"main"的线程。这个线程也是你的应用与界面工具包(android.widget和android.view包中的组件)交互的地方。于是main线程也被称为界面线程。这种单线程的模式会带来低性能,除非你能正确的优化你的程序。打 个比方:用户触摸屏幕上的一个按钮时的点击事件即向线程中派发事件,比如每一个事件为一辆车。而转载 2017-05-19 17:15:03 · 230 阅读 · 0 评论 -
android input 按键分发(inputManager)
文章出处:http://blog.csdn.net/shift_wwx/article/details/49764595请转载的朋友标明出处~~之前InputManager 的启动过程 已经对inputManager 的启动过程做了简单的介绍。这里先小结一下:1、InputManagerService 构造,确认DisplayThread,做nativeInit转载 2017-06-04 23:14:33 · 1853 阅读 · 0 评论 -
Android线程管理之Thread使用总结
前言 最近在一直准备总结一下Android上的线程管理,今天先来总结一下Thread使用。实现Thread两种方式 1.)继承Thread类/** * 继承Thread方式 */ private class SyncThread extends Thread { SyncThread(String nam转载 2017-05-10 17:18:05 · 286 阅读 · 0 评论 -
如何隐藏当前Activity到后台
有时候开发需要隐藏Acitvity,而不是关闭,这时候就需要使用到moveTaskToBack()函数。 moveTaskToBack()方法:在activity中调用 moveTaskToBack (boolean nonRoot)方法即可将activity 退到后台,注意不是finish()退出。参数说明:参数为false——代表只有当前activity是task原创 2017-06-03 22:22:19 · 6684 阅读 · 0 评论 -
我的Android进阶之旅------>Android中通过adb shell input来模拟滑动、按键、点击事件
今天在维护公司的一个小项目的时候,发现按公司手机的某个物理按键,激活相应的Service后,会在屏幕上模拟的点击了屏幕的某个坐标点。好家伙,原来是之前该项目的版本是按这个物理按键后,会弹出一个对话框,提示用户需要打开某些服务,然后出于良好的用户体验,直接模拟点击事件,点击该对话框,不让用户做多余的操作。但是后期版本的改动,该功能不需要了,但是代码可能没有改动完全,因此出现了上述bug。查看转载 2017-06-08 09:36:35 · 9712 阅读 · 5 评论 -
IntelliJ IDEA 下的svn配置及使用的非常详细的图文总结
IntelliJ IDEA使用教程 (总目录篇)首先,使用的时候,自己得先在电脑上安装个小乌龟。也就是svn啦。第一步安装小乌龟。如下:具体安装好像没什么具体要求,一路next,就好。如上图箭头所示,在安装 TortoiseSVN 的时候,默认 command line client tools,是不安装的,这里建议勾选上。这个我不确定我当时选没选,不过呢,你给安装上,也是没问题的。把上面的勾选取...转载 2018-06-04 11:47:15 · 225 阅读 · 0 评论 -
Android Studio中ButterKnife的使用
1.Android Studio 安装ButterKnife插件和使用按照上图中1,2,3指示操作(注意:这里我的Android Studio中已经安装了该插件,所以显示的内容不太一样)。然后重启Android Studio。2.在项目上使用该开原创 2017-11-20 13:45:13 · 590 阅读 · 0 评论 -
程序包org.apache.http不存在,解决方式
类里提示爆红import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.StatusLine;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpG转载 2017-08-26 12:28:16 · 8507 阅读 · 0 评论 -
最新实用的Android Studio插件
前面转载过一个Android studio常用插件,那时候android studio刚出来,插件不多,现在插件已经很丰富了,特地再转载一个全的来……原文地址:https://ydmmocoo.github.io/2016/06/28/Android-Studio%E6%8F%92%E4%BB%B6%E6%95%B4%E7%90%86/现在Android的开发者基本上都转载 2017-08-04 10:31:22 · 508 阅读 · 0 评论 -
android 绘制控件圆角边框
在开发的过程中有时候需要把控件做出圆角边框的样子,下发介绍绘制的方法: 首先,在res下面新建一个文件夹drawable,在drawable下面新建三个xml文件:shape_corner_down.xml、shape_corner_up.xml和shape_corner.xml,分别是下面两个角是圆角边框,上面两个角是圆角边框,四个角全部是圆角边框。 shape_c原创 2017-08-03 10:06:55 · 820 阅读 · 0 评论 -
Android 禁止RecycleView的滑动
1.问题?使用RecycleView 时,如果数据量很少只有几个,需求不需要它上下左右滑动,在xml配置中加上Android:scrollbars=”none”,这只是去掉了滑动bar。但是RecycleView 上下还是能滑动,且有阴影。2.解决方案How to disable RecyclerView scrolling?public class Custo转载 2017-07-07 14:12:27 · 3670 阅读 · 0 评论 -
ViewPager限定预加载的页面个数setOffscreenPageLimit(int limit)
ViewPager里面还定义了一个 private int mOffscreenPageLimit = DEFAULT_OFFSCREEN_PAGES;默认值 是1,这表示你的预告加载的页面数量是1,假设当前有四个Fragment的tab,显示一个,预先加载下一个.这样你在移动前就已经加载了下一个界面,移动时就可以看到已经加载的界面了. 从日志里面可以看到onActivityC转载 2017-07-06 14:38:29 · 474 阅读 · 0 评论 -
LocalActivityManager的用法
1.前言今天碰到一个问题,我的一个activity需要加载别人的另外一个activity,可能你会说用fragment嘛,但是我们两个属于不同的业务部门,各自平行开发,他不可能单独为了写个fragment,但是我要显示他activity的内容,这时就用到了LocalActivityManager类。2.使用步骤1)在我的activity中初始化一个父容器LinearLa转载 2017-07-06 14:24:52 · 692 阅读 · 0 评论 -
android: viewpager+将activity转化成view
笔者之前已经做过了一个使用viewpgaer轮播效果的博客,但是viewpager本身也是深受androider的喜爱,如今基本每个app都会用到相关的功能,本篇文章也是讲一下用viewpager做主界面的用法。(笔者对viewpager的学习也是比较曲折,网上各种找不到符合自己功能的代码)笔者之后又学习了viewpager+fragment的使用,地址为:http://blo转载 2017-07-06 14:18:51 · 1285 阅读 · 0 评论 -
Android线程管理之ThreadPoolExecutor自定义线程池
前言: 上篇主要介绍了使用线程池的好处以及ExecutorService接口,然后学习了通过Executors工厂类生成满足不同需求的简单线程池,但是有时候我们需要相对复杂的线程池的时候就需要我们自己来自定义一个线程池,今天来学习一下ThreadPoolExecutor,然后结合使用场景定义一个按照线程优先级来执行的任务的线程池。ThreadPoolExecutor转载 2017-05-10 17:13:09 · 487 阅读 · 0 评论 -
Android线程管理之AsyncTask异步任务
前言: 前面几篇文章主要学习了线程以及线程池的创建与使用,今天来学习一下AsyncTask异步任务,学习下AsyncTask到底解决了什么问题?然而它有什么弊端?正所谓知己知彼百战百胜嘛!产生背景: 我们都知道Android应用程序是单线程模型,在子线程无法直接操作UI主线程,必须通过Handler机制,想了解这方面的知识可以参考这篇文章:And转载 2017-05-10 17:04:10 · 361 阅读 · 0 评论 -
android 获取路径目录方法以及判断目录是否存在,创建目录
Environment 常用方法: * 方法:getDataDirectory()解释:返回 File ,获取 Android 数据目录。* 方法:getDownloadCacheDirectory()解释:返回 File ,获取 Android 下载/缓存内容目录。* 方法:getExternalStorageDirectory()解释:返回 File ,获取外部存储转载 2017-04-27 17:18:03 · 375 阅读 · 0 评论 -
Android ImageReader使用
ImageReader类允许应用程序直接访问呈现表面的图像数据 创建ImageReader对像ImageReader ir = ImageReader.newInstance(int width, int height, int format, int maxImages);11参数默认图像的宽度像素默认图像的高度像素图像的格式用户想要读图像的最大数量主要操作:转载 2017-05-25 17:19:54 · 9141 阅读 · 0 评论 -
android 禁止锁屏,保持高亮
开始在手机上开发应用了。但是发现与机顶盒不一样,手机因为电池使用有限,所以隔段时间会锁屏,很影响开发以及使用。今天在网上查了些资料,代码上实现“禁止锁屏,保持高亮”大致有以下几种方法:1、在每个Activity中的onCreate()中加入代码:@Overrideprotected void onCreate(Bundle savedInstanceState) { su转载 2017-05-23 15:24:44 · 1463 阅读 · 0 评论 -
10种简单的Java性能优化
你是否正打算优化hashCode()方法?是否想要绕开正则表达式?Lukas Eder介绍了很多简单方便的性能优化小贴士以及扩展程序性能的技巧。最近“全网域(Web Scale)”一词被炒得火热,人们也正在通过扩展他们的应用程序架构来使他们的系统变得更加“全网域”。但是究竟什么是全网域?或者说如何确保全网域?扩展的不同方面全网域被炒作的最多的是扩展负载(Scaling lo转载 2017-05-03 17:13:28 · 290 阅读 · 0 评论 -
35 个 Java 代码性能优化总结
代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑 的,就像大海里面的鲸鱼一样,它吃一条小虾米有用吗?前言代码优化,一个很重要的课题。可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有什么影响呢?这个问题我是这么考虑 的,就像大海里面的鲸鱼一样,它吃一条小虾米有用转载 2017-05-03 17:12:25 · 272 阅读 · 0 评论 -
菜鸟要做架构师(二)——java性能优化之for循环
完成同样的功能,用不同的代码来实现,性能上可能会有比较大的差别,所以对于一些性能敏感的模块来说,对代码进行一定的优化还是很有必要的。今天就来说一下Java代码优化的事情,今天主要聊一下对于for(while等同理)循环的优化。作为三大结构之一的循环,在我们编写代码的时候会经常用到。循环结构让我们操作数组、集合和其他一些有规律的事物变得更加的方便,但是如果我们在实际开发当中运用不转载 2017-05-03 17:11:40 · 460 阅读 · 0 评论 -
【Java重构系列】重构31式之搬移方法
重构第二式:搬移方法 (Refactoring 2: Move Method) 毋容置疑,搬移方法(Move Method)应该是最常用的重构手段之一,正因为太常用而且较为简单,以至于很多人并不认为它是一种很有价值的重构,但事实并非如此,在最初的代码诞生之后,有些方法可能会被放在一些不合适的地方,例如,一个方法被其他类使用比在它所在的类中的使用还要频繁或者一转载 2017-05-03 17:10:49 · 341 阅读 · 0 评论 -
【Java重构系列】重构31式之封装集合
2009年,Sean Chambers在其博客中发表了31 Days of Refactoring: Useful refactoring techniques you have to know系列文章,每天发布一篇,介绍一种重构手段,连续发文31篇,故得名“重构三十一天:你应该掌握的重构手段”。此外,Sean Chambers还将这31篇文章【即31种重构手段】整理成一本电子书, 以下是博客转载 2017-05-03 17:10:00 · 311 阅读 · 0 评论 -
浅谈 MVP in Android
转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46596109; 本文出自:【张鸿洋的博客】一、概述对于MVP(Model View Presenter),大多数人都能说出一二:“MVC的演化版本”,“让Model和View完全解耦”等等。本篇博文仅是为了做下记录,提出一些自己的看法,和帮助大家如何转载 2017-05-03 15:14:54 · 242 阅读 · 0 评论 -
开发人员的必备技能
对于刚开始学习软件开发的新人来说,“必备技能”往往意味着一个长长的、标有重要度的学习列表,但是过长的列表通常会导致新人不知如何开始学习,压力倍增。本文尝试列举出最重要的几个技能,也期望通过此列表能给新人一个比较明确的学习重点和路径。深入学习一门编程语言没有掌握任何一门编程语言,就不可能成为一名编程人员。许多程序员试图在学习之初一次学习几种编程语言,以便应对他们第一份转载 2017-05-11 10:19:59 · 309 阅读 · 0 评论 -
java mkdir()和mkdirs()区别
mkdirs()可以建立多级文件夹, mkdir()只会建立一级的文件夹, 如下:new File("/tmp/one/two/three").mkdirs();执行后, 会建立tmp/one/two/three四级目录new File("/tmp/one/two/three").mkdir();则不会建立任何目录, 因为找不到/tmp/one/tw转载 2017-05-25 17:20:36 · 397 阅读 · 0 评论 -
Android屏幕直播方案
项目需求是实时同步Android手机屏幕画面至浏览器。这里有两个挑战,一是Android如何在应用内获得屏幕实时视频流,另一个是如何在浏览器上做视频直播。经过一番折腾,确定了如下的实现方案。期间,我们也实现了手机摄像头的直播。演示效果:演示Android获取实时屏幕画面原理与基础设置Android 5.0版本之后,支持使用MediaProjection的方式获取转载 2017-05-25 17:23:36 · 1198 阅读 · 0 评论 -
一个 2 年 Android 开发者的 18 条忠告
原文:What 2 Years of Android Development Have Taught Me the Hard Way前言不要重复造轮子不要盲目的选择library坐下来喝杯咖啡阅读更多的代码看在上帝的份上维护一个恰当的编程规范吧你需要混淆是的真的需要使用一个恰当的架构用户界面就像笑话如果还需要解释那就糟糕了分析是你最好的朋友做一个营销专家是时候优化你转载 2017-04-27 16:57:53 · 1084 阅读 · 0 评论 -
关于Android 5.x的低功耗蓝牙BLE开发简介
蓝牙4.0分为标准蓝牙和低功耗蓝牙(BLE),标准蓝牙就是手机上用的那种,低功能耗蓝牙由于其具有最大化的待机时间、快速连接和低峰值的发送和接收特性,被广泛用于智能手表、智能手环等可穿戴设备上。在安卓4.3之前,安卓平台上的BLE开发相当难搞,好在谷歌在4.3之后发布了官方的API。在安卓5.0之后又引入了新的API,原来的API已经被废弃。在新的系统里采用旧API开发的APP仍可使用,但采用新AP转载 2017-04-27 15:03:05 · 288 阅读 · 0 评论 -
安卓6.0权限问题导致老蓝牙程序出现异常解决办法:Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission...
一、问题: 之前写的一款安卓4.4的应用程序,用来连接蓝牙BLE,而现在拿出来用新的AS编译(此时SDK为6.0,手机也是6.0)应用程序并不能搜索到蓝牙,查看log总是报权限错误:Need ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION permission... 二、解决过程: 但是,我把相应的权限加入m转载 2017-04-27 15:00:21 · 10983 阅读 · 0 评论 -
Android-网络通信框架Volley使用详解
1 Volley发送get请求:public void getJson() { String url = "http://"+host+":8080/web/json.jsp?username=xjs&password=123456"; mQueue.add(new JsonObjectRequest(Method.GET, url, null, new L转载 2017-05-09 17:02:11 · 240 阅读 · 0 评论 -
android Java 打印堆栈的几种方法
java 中可以通过 eclipse 等工具直接打印堆栈,但是对于某些环境中无法使用 eclipse 工具时,需要知道堆栈,如何处理呢?介绍3种方法供选择:方法一:package name.xu;public class CallStack { public static void printCallStatck() { Throwable e原创 2017-05-09 16:26:42 · 952 阅读 · 0 评论