前端开发
文章平均质量分 78
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 · 1360 阅读 · 0 评论 -
Java线程同步:synchronized锁住的是代码还是对象
在Java中,synchronized关键字是用来控制线程同步的,就是在多线程的环境下,控制synchronized代码段不被多个线程同时执行。synchronized既可以加在一段代码上,也可以加在方法上。关键是,不要认为给方法或者代码段加上synchronized就万事大吉,看下面一段代码:[java] view plain copy转载 2017-04-26 15:02:26 · 234 阅读 · 0 评论 -
Java序列化(Serializable)与反序列化
Java序列化与反序列化是什么?为什么需要序列化与反序列化?如何实现Java序列化与反序列化?本文围绕这些问题进行了探讨。 1.Java序列化与反序列化 Java序列化是指把Java对象转换为字节序列的过程;而Java反序列化是指把字节序列恢复为Java对象的过程。 2.为什么需要序列化与反序列化 我们知道,当两个进程进行远程通信时,可以相互发送各种类型的数据,包括转载 2017-04-26 14:48:11 · 254 阅读 · 0 评论 -
Java开发中的23种设计模式详解
一、设计模式的分类总体来说设计模式分为三大类:创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式转载 2017-04-26 14:28:42 · 417 阅读 · 0 评论 -
设计模式六大原则
目录:设计模式六大原则(1):单一职责原则设计模式六大原则(2):里氏替换原则设计模式六大原则(3):依赖倒置原则设计模式六大原则(4):接口隔离原则设计模式六大原则(5):迪米特法则设计模式六大原则(6):开闭原则设计模式六大原则(1):单一职责原则定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题转载 2017-04-26 11:40:08 · 262 阅读 · 0 评论 -
最流行的android组件大全
Android常用组件UI相关图片Android-Universal-Image-Loader:com.nostra13.universalimageloader:异步加载、缓存、显示图片ImageLoader:com.novoda.imageloader:异步加载、缓存、显示图片picasso:com.squareup.picasso:功能强大的图片下载缓原创 2017-04-25 16:48:26 · 2947 阅读 · 0 评论 -
Android屏幕直播方案
项目需求是实时同步Android手机屏幕画面至浏览器。这里有两个挑战,一是Android如何在应用内获得屏幕实时视频流,另一个是如何在浏览器上做视频直播。经过一番折腾,确定了如下的实现方案。期间,我们也实现了手机摄像头的直播。演示效果:演示Android获取实时屏幕画面原理与基础设置Android 5.0版本之后,支持使用MediaProjection的方式获取转载 2017-05-25 17:23:36 · 1338 阅读 · 0 评论 -
Android ImageReader使用
ImageReader类允许应用程序直接访问呈现表面的图像数据 创建ImageReader对像ImageReader ir = ImageReader.newInstance(int width, int height, int format, int maxImages);11参数默认图像的宽度像素默认图像的高度像素图像的格式用户想要读图像的最大数量主要操作:转载 2017-05-25 17:19:54 · 9358 阅读 · 0 评论 -
Android 架构
Android 操作系统是一个软件组件的栈,在架构图中它大致可以分为五个部分和四个主要层。Linux内核在所有层的最底下是 Linux - 包括大约115个补丁的 Linux 3.6。它提供了基本的系统功能,比如进程管理,内存管理,设备管理(如摄像头,键盘,显示器)。同时,内核处理所有 Linux 所擅长的工作,如网络和大量的设备驱动,从而避免兼容大量外围硬件接口带来的转载 2017-04-24 15:10:25 · 699 阅读 · 0 评论 -
Android 应用程序组件
应用程序组件是一个Android应用程序的基本构建块。这些组件由应用清单文件松耦合的组织。AndroidManifest.xml描述了应用程序的每个组件,以及他们如何交互。以下是可以在Android应用程序中使用的四个主要组件。组件描述Activities描述UI,并且处理用户与机器屏幕的交互。Services转载 2017-04-24 15:09:14 · 517 阅读 · 0 评论 -
Android 资源(Resources)访问
有许多东西用来构建一个优秀的 Android 应用程序。除了应用程序的编码,你需要关注各种各样的资源,诸如你用到的各种静态内容,如位图,颜色,布局定义,用户界面字符串,动画等等。这些资源一般放置在项目的 res/ 下独立子目录中。这节教程将学习如何来组织应用程序资源,指定替代资源,并在应用程序中访问它们。在eclipse中组织资源你需要将每种资源放置在项目中 res/转载 2017-04-24 15:08:22 · 2282 阅读 · 0 评论 -
Android 意图(Intent)和过滤器(Filter)
Android意图是一个要执行的操作的抽象描述。它可以通过 startActivity 来启动一个活动,broadcastIntent 来发送广播到任何对它感兴趣的广播接受器组件,startService(Intent) 或者bindService(Intent, ServiceConnection, int) 来与后台服务通讯。意图本身(一个 Intent 对象)是一个被动的数据结构,保转载 2017-04-24 15:07:20 · 839 阅读 · 0 评论 -
Android 碎片(Fragment)
碎片是活动的一部分,是的活动更加的模块化设计。我们可以任务碎片是一种子活动。下面是关于碎片的重要知识点 -碎片拥有自己的布局,自己的行为及自己的生命周期回调。当活动在运行的时候,你可以在活动中添加或者移除碎片。你可以合并多个碎片在一个单一的活动中来构建多栏的UI。碎片可以被用在多个活动中。碎片的生命周期和它的宿主活动紧密关联。这意味着活动被暂停,所有活动中的碎片转载 2017-04-24 15:05:32 · 397 阅读 · 0 评论 -
Android - 内容提供者(Content Provider)
内容提供者组件通过请求从一个应用程序向其他的应用程序提供数据。这些请求由类 ContentResolver 的方法来处理。内容提供者可以使用不同的方式来存储数据。数据可以被存放在数据库,文件,甚至是网络。有时候需要在应用程序之间共享数据。这时内容提供者变得非常有用。内容提供者可以让内容集中,必要时可以有多个不同的应用程序来访问。内容提供者的行为和数据库很像。你可以查询,编辑转载 2017-04-24 15:04:39 · 845 阅读 · 0 评论 -
Android 广播接收器(Broadcast Receivers)
广播接收器用于响应来之其他应用程序或者系统的广播消息。这些消息有时被称为事件或者意图。例如,应用程序可以初始化广播来让其他的应用程序指导一些数据已经被下载到设备,并可以为他们所用。这样广播接收器可以定义适当的动作来拦截这些通信。有以下两个重要的步骤来使系统的广播意图配合广播接收器工作。创建广播接收器注册广播接收器还有一个附加的步骤,要实现自定义的意图,你必须创建并广转载 2017-04-24 15:03:33 · 1180 阅读 · 0 评论 -
Android 服务(Service)
服务是一个后台运行的组件,执行长时间运行且不需要用户交互的任务。即使应用被销毁也依然可以工作。服务基本上包含两种状态 -状态描述StartedAndroid的应用程序组件,如活动,通过startService()启动了服务,则服务是Started状态。一旦启动,服务可以在后台无限期运行,即使启动它的组件已经被销毁。Boun转载 2017-04-24 15:02:17 · 617 阅读 · 0 评论 -
js弹出框、对话框、提示框、弹窗总结
js弹出框、对话框、提示框、弹窗总结一、JS的三种最常见的对话框[javascript] view plaincopy//====================== JS最常用三种弹出对话框 ======================== //弹出对话框并输出一段提示信息 f转载 2017-05-27 16:50:14 · 495 阅读 · 0 评论 -
H5 页面适配所有 iPhone 和安卓机型的六个技巧
目前,很多APP设计师小伙伴已经开始转向H5前端开发啦,但是解决所有iPhone和安卓机型的适配问题是我们的重中之重。无论是设计APP还是写前端H5.都是要考虑移动端的兼容性。25学堂今天跟大家来回顾一下H5页面去适配所有iPhone和安卓机型的一些技巧和办法。回归正题,兼容iphone各版本机型最佳的方式就是自适应。1、viewport 简单粗暴的方式:nam转载 2017-05-09 11:24:09 · 1076 阅读 · 0 评论 -
程序员未来前景如何?大龄程序员出路在哪里?
根据中国职业规划师对于行业的观察,得出一个结论,大龄程序员的出路主要有这三条:做管理、自己创业和继续写程序。那么我们来盘点下,我们的程序员兄弟们真的可以很好的在这几条路上好好发展么。首先,做管理。做管理是绝大多数人的选择。原因嘛,当下中国职场的大环境如此:招聘单位一般不要年龄大的程序员,再加上你年龄大些后,实战经验丰富,不让你带人让谁去带呢?可是这么看似很自然的事情也不容易转载 2017-05-09 11:31:00 · 1319 阅读 · 0 评论 -
Android Studio中ButterKnife的使用
1.Android Studio 安装ButterKnife插件和使用按照上图中1,2,3指示操作(注意:这里我的Android Studio中已经安装了该插件,所以显示的内容不太一样)。然后重启Android Studio。2.在项目上使用该开原创 2017-11-20 13:45:13 · 666 阅读 · 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 · 906 阅读 · 0 评论 -
我的Android进阶之旅------>Android中通过adb shell input来模拟滑动、按键、点击事件
今天在维护公司的一个小项目的时候,发现按公司手机的某个物理按键,激活相应的Service后,会在屏幕上模拟的点击了屏幕的某个坐标点。好家伙,原来是之前该项目的版本是按这个物理按键后,会弹出一个对话框,提示用户需要打开某些服务,然后出于良好的用户体验,直接模拟点击事件,点击该对话框,不让用户做多余的操作。但是后期版本的改动,该功能不需要了,但是代码可能没有改动完全,因此出现了上述bug。查看转载 2017-06-08 09:36:35 · 10093 阅读 · 5 评论 -
如何隐藏当前Activity到后台
有时候开发需要隐藏Acitvity,而不是关闭,这时候就需要使用到moveTaskToBack()函数。 moveTaskToBack()方法:在activity中调用 moveTaskToBack (boolean nonRoot)方法即可将activity 退到后台,注意不是finish()退出。参数说明:参数为false——代表只有当前activity是task原创 2017-06-03 22:22:19 · 6842 阅读 · 0 评论 -
Android5.0免Root截屏,录屏
MediaProjection介绍MediaProjection可以用来捕捉屏幕,具体来说可以截取当前屏幕和录制屏幕视频。MediaProjection由MediaProjectionManager来管理和获取。使用步骤首先获取MediaProjectionManager,和其他的Manager一样通过 Context.getSystemService() 传入参数MEDIA_转载 2017-05-22 16:19:19 · 715 阅读 · 0 评论 -
Android 蓝牙4.0连接几次后出现连接不了,搜索不到服务的情况
最近做手机蓝牙与BLE设备的智能项目。遇到一个问题,记录下来。方便以后。出现的情况是:手机蓝牙与蓝牙设备连接几次,交互信息后,无法再次连接与搜索到服务,需重启手机蓝牙或者关闭APP后,再次启动APP,才能再次连接设备。上网查找了不少资料。才找资料。非常感谢此博文提供的参考解决方案http://bbs.eeworld.com.cn/thread-438571-1-1.html转载 2017-05-22 12:52:52 · 1596 阅读 · 0 评论 -
Android中进程与线程及如何在子线程中操作UI线程
1. Android进程一个应用程序被启动时,系统默认创建执行一个叫做"main"的线程。这个线程也是你的应用与界面工具包(android.widget和android.view包中的组件)交互的地方。于是main线程也被称为界面线程。这种单线程的模式会带来低性能,除非你能正确的优化你的程序。打 个比方:用户触摸屏幕上的一个按钮时的点击事件即向线程中派发事件,比如每一个事件为一辆车。而转载 2017-05-19 17:15:03 · 270 阅读 · 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 · 2005 阅读 · 0 评论 -
volley的重试机制及错误处理机制
当我们进行网络请求的时候,可能会面临很多复杂的环境。比如网络环境不好、服务器异常等。所以当我们使用网络请求框架进行应用开发的时候,一个好的重试机制,可以让我们设定适当的重试次数,不会只请求一次或者一直重试请求无数次,以应对复杂的网络环境;一个好的错误处理机制可以让我们在出现错误的时候,及时作出反馈,不会一直在等待,使应用有一个友好的用户体验。volley的重试机转载 2017-05-10 10:08:48 · 529 阅读 · 0 评论 -
android 获取路径目录方法以及判断目录是否存在,创建目录
Environment 常用方法: * 方法:getDataDirectory()解释:返回 File ,获取 Android 数据目录。* 方法:getDownloadCacheDirectory()解释:返回 File ,获取 Android 下载/缓存内容目录。* 方法:getExternalStorageDirectory()解释:返回 File ,获取外部存储转载 2017-04-27 17:18:03 · 417 阅读 · 0 评论 -
一个 2 年 Android 开发者的 18 条忠告
原文:What 2 Years of Android Development Have Taught Me the Hard Way前言不要重复造轮子不要盲目的选择library坐下来喝杯咖啡阅读更多的代码看在上帝的份上维护一个恰当的编程规范吧你需要混淆是的真的需要使用一个恰当的架构用户界面就像笑话如果还需要解释那就糟糕了分析是你最好的朋友做一个营销专家是时候优化你转载 2017-04-27 16:57:53 · 1135 阅读 · 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 · 346 阅读 · 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 · 11226 阅读 · 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 · 296 阅读 · 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 · 1004 阅读 · 0 评论 -
Android 活动(Activity)
活动代表了一个具有用户界面的单一屏幕,如 Java 的窗口或者帧。Android 的活动是 ContextThemeWrapper 类的子类。如果你曾经用 C,C++ 或者 Java 语言编程,你应该知道这些程序从 main() 函数开始。很类似的,Android 系统初始化它的程序是通过活动中的 onCreate() 回调的调用开始的。存在有一序列的回调方法来启动一个活动,同时有一序列的转载 2017-04-24 15:01:10 · 652 阅读 · 0 评论 -
你的开发为何如此低效?
版权声明本文原创作者:Stay作者博客地址:http://blog.youkuaiyun.com/stay4it在开发中,编码我们有分层架构、设计模式做为套路来高效开发,但你也知道编码不是开发的全部,一个完全的开发流程用面向对象思想来概括,它分为OOA(面向对象分析)、OOD(面向对象设计)、OOP(面向对象编程)。一个好的代码结构是需要需求分析,架构设计做为辅助的,Stay尝试向你描转载 2017-05-02 09:49:54 · 255 阅读 · 0 评论 -
jQuery学习教程二十六: jQuery - noConflict() 方法
如何在页面上同时使用 jQuery 和其他框架?jQuery 和其他 JavaScript 框架正如您已经了解到的,jQuery 使用 $ 符号作为 jQuery 的简写。如果其他 JavaScript 框架也使用 $ 符号作为简写怎么办?其他一些 JavaScript 框架包括:MooTools、Backbone、Sammy、Cappuccin原创 2017-03-24 17:05:06 · 327 阅读 · 0 评论 -
jQuery学习教程七: jQuery 效果 - 动画 animate
jQuery animate() 方法允许您创建自定义的动画。jQuery 动画 - animate() 方法jQuery animate() 方法用于创建自定义动画。语法:$(selector).animate({params},speed,callback);必需的 params 参数定义形成动画的 CSS 属性。可选原创 2017-03-23 11:05:27 · 510 阅读 · 0 评论 -
jQuery学习教程六: jQuery 效果 - 滑动 slide
实例jQuery slideDown()演示 jQuery slideDown() 方法。 $(document).ready(function(){ $(".flip").click(function(){ $(".panel").slideDown("slow"); });}); div.panel,p.flip{margin:0px;pad原创 2017-03-22 15:24:29 · 723 阅读 · 0 评论 -
jQuery学习教程五:jQuery 效果 - 淡入淡出, Fading 方法
实例jQuery fadeIn()演示 jQuery fadeIn() 方法。$(document).ready(function(){ $("button").click(function(){ $("#div1").fadeIn(); $("#div2").fadeIn("slow"); $("#div3").fadeIn(3000原创 2017-03-22 14:55:37 · 530 阅读 · 0 评论
分享