
android
文章平均质量分 66
j20lin
这个作者很懒,什么都没留下…
展开
-
caused by android.system.errnoexception open failed eacces (permission denied)解决方案,安卓6.0(API23)权限问题
在API23+以上,不止要在AndroidManifest.xml里面添加权限[html] view plain copy<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRI...转载 2018-06-22 11:08:41 · 1313 阅读 · 0 评论 -
Android线程管理之AsyncTask异步任务
前言: 前面几篇文章主要学习了线程以及线程池的创建与使用,今天来学习一下AsyncTask异步任务,学习下AsyncTask到底解决了什么问题?然而它有什么弊端?正所谓知己知彼百战百胜嘛!产生背景: 我们都知道Android应用程序是单线程模型,在子线程无法直接操作UI主线程,必须通过Handler机制,想了解这方面的知识可以参考这篇文章:And转载 2017-05-10 17:04:10 · 390 阅读 · 0 评论 -
Android线程管理之ThreadPoolExecutor自定义线程池
前言: 上篇主要介绍了使用线程池的好处以及ExecutorService接口,然后学习了通过Executors工厂类生成满足不同需求的简单线程池,但是有时候我们需要相对复杂的线程池的时候就需要我们自己来自定义一个线程池,今天来学习一下ThreadPoolExecutor,然后结合使用场景定义一个按照线程优先级来执行的任务的线程池。ThreadPoolExecutor转载 2017-05-10 17:13:09 · 502 阅读 · 0 评论 -
Android线程管理之Thread使用总结
前言 最近在一直准备总结一下Android上的线程管理,今天先来总结一下Thread使用。实现Thread两种方式 1.)继承Thread类/** * 继承Thread方式 */ private class SyncThread extends Thread { SyncThread(String nam转载 2017-05-10 17:18:05 · 317 阅读 · 0 评论 -
android input 按键分发(inputManager)
文章出处:http://blog.youkuaiyun.com/shift_wwx/article/details/49764595请转载的朋友标明出处~~之前InputManager 的启动过程 已经对inputManager 的启动过程做了简单的介绍。这里先小结一下:1、InputManagerService 构造,确认DisplayThread,做nativeInit转载 2017-06-04 23:14:33 · 1928 阅读 · 0 评论 -
Android中进程与线程及如何在子线程中操作UI线程
1. Android进程一个应用程序被启动时,系统默认创建执行一个叫做"main"的线程。这个线程也是你的应用与界面工具包(android.widget和android.view包中的组件)交互的地方。于是main线程也被称为界面线程。这种单线程的模式会带来低性能,除非你能正确的优化你的程序。打 个比方:用户触摸屏幕上的一个按钮时的点击事件即向线程中派发事件,比如每一个事件为一辆车。而转载 2017-05-19 17:15:03 · 247 阅读 · 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 · 327 阅读 · 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 · 6335 阅读 · 0 评论 -
Android 蓝牙4.0连接几次后出现连接不了,搜索不到服务的情况
最近做手机蓝牙与BLE设备的智能项目。遇到一个问题,记录下来。方便以后。出现的情况是:手机蓝牙与蓝牙设备连接几次,交互信息后,无法再次连接与搜索到服务,需重启手机蓝牙或者关闭APP后,再次启动APP,才能再次连接设备。上网查找了不少资料。才找资料。非常感谢此博文提供的参考解决方案http://bbs.eeworld.com.cn/thread-438571-1-1.html转载 2017-05-22 12:52:52 · 1493 阅读 · 0 评论 -
volley的重试机制及错误处理机制
当我们进行网络请求的时候,可能会面临很多复杂的环境。比如网络环境不好、服务器异常等。所以当我们使用网络请求框架进行应用开发的时候,一个好的重试机制,可以让我们设定适当的重试次数,不会只请求一次或者一直重试请求无数次,以应对复杂的网络环境;一个好的错误处理机制可以让我们在出现错误的时候,及时作出反馈,不会一直在等待,使应用有一个友好的用户体验。volley的重试机转载 2017-05-10 10:08:48 · 499 阅读 · 0 评论 -
android 获取路径目录方法以及判断目录是否存在,创建目录
Environment 常用方法: * 方法:getDataDirectory()解释:返回 File ,获取 Android 数据目录。* 方法:getDownloadCacheDirectory()解释:返回 File ,获取 Android 下载/缓存内容目录。* 方法:getExternalStorageDirectory()解释:返回 File ,获取外部存储转载 2017-04-27 17:18:03 · 393 阅读 · 0 评论 -
程序员未来前景如何?大龄程序员出路在哪里?
根据中国职业规划师对于行业的观察,得出一个结论,大龄程序员的出路主要有这三条:做管理、自己创业和继续写程序。那么我们来盘点下,我们的程序员兄弟们真的可以很好的在这几条路上好好发展么。首先,做管理。做管理是绝大多数人的选择。原因嘛,当下中国职场的大环境如此:招聘单位一般不要年龄大的程序员,再加上你年龄大些后,实战经验丰富,不让你带人让谁去带呢?可是这么看似很自然的事情也不容易转载 2017-05-09 11:31:00 · 1218 阅读 · 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 · 974 阅读 · 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 · 264 阅读 · 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 · 11091 阅读 · 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 · 308 阅读 · 0 评论 -
Kotlin - 初探与集成Android项目
Kotlin是基于JVM的编程语言, 由JetBrains公司开发, 目前已经开源.IntelliJ IDEA, PyCharm, Android Studio等IDE, 就是出自于JetBrains公司.Kotlin介绍:Statically typed programming language for the JVM, Android and the browser. 100%转载 2017-05-18 15:53:53 · 1566 阅读 · 0 评论 -
一个 2 年 Android 开发者的 18 条忠告
原文:What 2 Years of Android Development Have Taught Me the Hard Way前言不要重复造轮子不要盲目的选择library坐下来喝杯咖啡阅读更多的代码看在上帝的份上维护一个恰当的编程规范吧你需要混淆是的真的需要使用一个恰当的架构用户界面就像笑话如果还需要解释那就糟糕了分析是你最好的朋友做一个营销专家是时候优化你转载 2017-04-27 16:57:53 · 1107 阅读 · 0 评论 -
overridePendingTransition的简介
1 Activity的切换动画指的是从一个activity跳转到另外一个activity时的动画。它包括两个部分:一部分是第一个activity退出时的动画;另外一部分时第二个activity进入时的动画;在Android的2.0版本之后,有了一个函数来帮我们实现这个动画。这个函数就是overridePendingTransition这个函数有两个参数,一个参数转载 2017-04-27 17:17:41 · 243 阅读 · 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 · 365 阅读 · 0 评论 -
Android5.0免Root截屏,录屏
MediaProjection介绍MediaProjection可以用来捕捉屏幕,具体来说可以截取当前屏幕和录制屏幕视频。MediaProjection由MediaProjectionManager来管理和获取。使用步骤首先获取MediaProjectionManager,和其他的Manager一样通过 Context.getSystemService() 传入参数MEDIA_转载 2017-05-22 16:19:19 · 682 阅读 · 0 评论 -
Android Studio com.android.dex.DexException: Multiple dex files define(重复引用包)
如果你用Android Studio开发,并且要用其他项目作为library,这个问题是很容易出现的。出现这个问题的原因是包的重复引用,意思就是在你自己的项目中引用了某个包,而被你作为library的项目也引用了同一个包,就会有这个问题。那如何解决呢,我所知道的是有两种方法:方法1:按照惯例,直接上图吧,从下图可以看到我在library中有加了一个v4的包,同时我将它作为depen转载 2017-08-26 13:16:18 · 582 阅读 · 0 评论 -
Android开发 Error(建议收藏下来以备不时之需):The number of method references in a .dex file cannot exceed 64K.
前言我一直都知道app里面的方法数是有限制的差不多64000,具体的就未曾考证了在遇到这个问题之前,一直以为这个一个多么遥远的距离其实并不是的,稍有不慎这个异常出来了当前并不是你真的有编写了64k的方法数量了大部分都是因为包的重复导入,当前就算是真的超过64k的方法,本文也将提出解决方案当出现这个情况别慌,我们一步一步来 去除重复包我们项目中常常都会用到几个转载 2017-08-26 13:39:04 · 1030 阅读 · 0 评论 -
2016年GitHub上史上最全的Android开源项目分类汇总
以下内容为转载 版主原网址 http://itindex.net/detail/51896-github-android-开源GitHub上史上最全的Android开源项目分类汇总 今天在看博客的时候,无意中发现了 @Trinea在GitHub上的一个项目 Android开源项目分类汇总,由于类容太多了,我没有一个个完整地看完,但是里面介绍的开源项目都转载 2017-09-05 17:43:44 · 1341 阅读 · 0 评论 -
Android Studio中ButterKnife的使用
1.Android Studio 安装ButterKnife插件和使用按照上图中1,2,3指示操作(注意:这里我的Android Studio中已经安装了该插件,所以显示的内容不太一样)。然后重启Android Studio。2.在项目上使用该开原创 2017-11-20 13:45:13 · 629 阅读 · 0 评论 -
如何判断ACTIIVTY是否已经被销毁
判断ACTIIVTY是否已经被销毁 一般会遇到这样的情况:在一个Activity中启动一个异步任务,异步任务中需要返回值,然后被Activity使用,但是当异步任务还未结束时,按下home键,如果这个时候系统内存比较紧张,这个Activity有可能被销毁(如果使用小米手机进行真机调试,可以在开发者选项中开启不保留活动选项),这个时候异步任务返回后会报异常,那如何解决这种问题,最简单的办法是在异步...转载 2018-04-27 11:09:42 · 6164 阅读 · 0 评论 -
华为设备(手机、平板)不打印Log解决方案
进入设备的工程模式打开Log开关手机在拨号盘输入以下代码*#*#2846579#*#*1平板横屏模式下,打开计算器,输入一下代码一定要切换到横屏模式,否则无法输入括号()()2846579()()=1点击后台设置 点击Log设置 勾选CP日志 最后,重新运行App就ok了。...转载 2018-05-25 11:41:14 · 1139 阅读 · 0 评论 -
Android App架构设计
前言Web的架构经过多年的发展已经非常成熟了,我们常用的SSM,SSH等等,架构都非常标准。个人认为,Web服务逻辑比较清晰,目的明确,流程也相对固定,从服务器收到请求开始,经过一系列的的拦截器,过滤器->被转发到控制器手中->控制器再调用服务->服务再调用DAO获取想要的数据->最后把数据返回给web层。哪怕中间增加一些东西,如缓存什么的。他的模型依然是以用户请求的线程为...转载 2018-05-15 10:55:51 · 13152 阅读 · 2 评论 -
App架构经验总结(转)
原文链接: http://keeganlee.me/post/architecture/20160303架构因人而异,不同的架构师大多会有不同的看法;架构也因项目而异,不同的项目需求不同,相应的架构也会不同。然而,有些东西还是通用的,是所有架构师都需要考虑的,也是所有项目都会有的需求,比如API如何设计?架构如何分层?开发环境和生产环境如何分离?这几年,我负责研发过的App,有餐饮类的、社交类的、...转载 2018-05-15 11:15:22 · 277 阅读 · 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 · 8604 阅读 · 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 · 550 阅读 · 0 评论 -
Android 图片变换处理Matrix
讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放、旋转、位移、倾斜等。在最后将以一个简单的Demo来演示图片特效的变换。Matrix 对于一个图片变换的处理,需要Matrix类的支持,它位于"android.graphics.Matrix"包下,是Android提供的一个矩阵工具类,它本身不能对图像或View进行变换,但它可与其他API结合来控制图形、View的变换,如转载 2017-06-18 22:45:30 · 403 阅读 · 0 评论 -
如何隐藏当前Activity到后台
有时候开发需要隐藏Acitvity,而不是关闭,这时候就需要使用到moveTaskToBack()函数。 moveTaskToBack()方法:在activity中调用 moveTaskToBack (boolean nonRoot)方法即可将activity 退到后台,注意不是finish()退出。参数说明:参数为false——代表只有当前activity是task原创 2017-06-03 22:22:19 · 6766 阅读 · 0 评论 -
我的Android进阶之旅------>Android中通过adb shell input来模拟滑动、按键、点击事件
今天在维护公司的一个小项目的时候,发现按公司手机的某个物理按键,激活相应的Service后,会在屏幕上模拟的点击了屏幕的某个坐标点。好家伙,原来是之前该项目的版本是按这个物理按键后,会弹出一个对话框,提示用户需要打开某些服务,然后出于良好的用户体验,直接模拟点击事件,点击该对话框,不让用户做多余的操作。但是后期版本的改动,该功能不需要了,但是代码可能没有改动完全,因此出现了上述bug。查看转载 2017-06-08 09:36:35 · 9899 阅读 · 5 评论 -
android: viewpager+将activity转化成view
笔者之前已经做过了一个使用viewpgaer轮播效果的博客,但是viewpager本身也是深受androider的喜爱,如今基本每个app都会用到相关的功能,本篇文章也是讲一下用viewpager做主界面的用法。(笔者对viewpager的学习也是比较曲折,网上各种找不到符合自己功能的代码)笔者之后又学习了viewpager+fragment的使用,地址为:http://blo转载 2017-07-06 14:18:51 · 1320 阅读 · 0 评论 -
LocalActivityManager的用法
1.前言今天碰到一个问题,我的一个activity需要加载别人的另外一个activity,可能你会说用fragment嘛,但是我们两个属于不同的业务部门,各自平行开发,他不可能单独为了写个fragment,但是我要显示他activity的内容,这时就用到了LocalActivityManager类。2.使用步骤1)在我的activity中初始化一个父容器LinearLa转载 2017-07-06 14:24:52 · 731 阅读 · 0 评论 -
ViewPager限定预加载的页面个数setOffscreenPageLimit(int limit)
ViewPager里面还定义了一个 private int mOffscreenPageLimit = DEFAULT_OFFSCREEN_PAGES;默认值 是1,这表示你的预告加载的页面数量是1,假设当前有四个Fragment的tab,显示一个,预先加载下一个.这样你在移动前就已经加载了下一个界面,移动时就可以看到已经加载的界面了. 从日志里面可以看到onActivityC转载 2017-07-06 14:38:29 · 508 阅读 · 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 · 3866 阅读 · 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 · 850 阅读 · 0 评论 -
H5 页面适配所有 iPhone 和安卓机型的六个技巧
目前,很多APP设计师小伙伴已经开始转向H5前端开发啦,但是解决所有iPhone和安卓机型的适配问题是我们的重中之重。无论是设计APP还是写前端H5.都是要考虑移动端的兼容性。25学堂今天跟大家来回顾一下H5页面去适配所有iPhone和安卓机型的一些技巧和办法。回归正题,兼容iphone各版本机型最佳的方式就是自适应。1、viewport 简单粗暴的方式:nam转载 2017-05-09 11:24:09 · 1007 阅读 · 0 评论