自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Renfer的专栏

有关android、java、javascript、html、css

  • 博客(38)
  • 资源 (5)
  • 问答 (1)
  • 收藏
  • 关注

原创 EventBus的介绍

什么是EventBus?EventBus是一个Android和Java的开源库,使用发布者/订阅者模式进行松散耦合。 EventBus只需几行代码即可实现与分离类的集中通信 - 简化代码,消除依赖关系,并加速应用程序开发。消息发布者通过EventBus将事件发送给消息订阅,具体流程如下图所示:使用EventBus带来的好处简化了组件之间的通信将事件发送者和接收者分离在UI工件(例如...

2019-08-18 18:08:39 568

原创 EventBus之ThreadMode

什么是ThreadMode?ThreadMode翻译为中文即为“线程模式”。每个事件处理程序方法都有一个线程模式,它确定EventBus调用该方法所在的线程。 EventBus专注于发布事务线程的独立性。线程模式分类POSTING消息订阅者将与发送者所处在同一线程中。这是默认值。该模式避免了线程切换所带来的开销。这是处理简单事务所推荐的模式。如果发布线程是主线程,使用该模式必须立即返回...

2019-08-18 17:48:05 1241

原创 RxJava1.x 数据转换源码解析

RxJava1.x 数据转换源码解析

2019-08-17 20:24:00 207

原创 RxJava1.x 线程切换源码解析

RxJava1.x 线程切换源码解析

2019-08-17 20:22:48 151

原创 RxJava1.x 订阅流程源码解析

RxJava1.x 订阅流程源码解析

2019-08-17 20:16:39 104

原创 RxJava 1.x核心组件介绍

RxJava 1.0核心组件介绍

2019-08-17 20:15:49 114

原创 RxJava 介绍

RxJava 介绍

2019-08-17 20:13:59 431

原创 Flutter开发中启用Dart DevTools 连接App进行调试

1. 运行项目点击上图红框中的调试按钮,运行项目。2. 启动Dart DevTools点击上图红框中的按钮后将会打开浏览器页面(如下图3所示)。3. 点击Open Observatory如上图所示,点击“Open Observatory”,之后会打开如下图5所示的网页将上图5中地址栏选中的蓝色背景的复制后填入图3中的输入框中,如下图6所示:点击Connect后,最终效果如...

2019-07-24 17:45:35 12778 1

原创 关于Android Studio中找不到Dart DevTool的问题

Android Studio3.1以上flutter插件才支持Dart DevTool,旧版本的话只支持Flutter Inspctor。 安装新版本的AS之后,需要同时升级AS 中的Dart及Flutter插件。 安装好后如下图所示:![带Dart DevTool的AS](https://img-blog.csdnimg.cn/20190719112735259.png?x-oss-proc...

2019-07-19 11:28:57 3380

原创 Multiple commands produce '/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework

Flutter 运行在Android上没有问题,在IOS上出现以下问题:Multiple commands produce '/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.frameworkTarget 'Runner' has copy command from '/ios/Flutter/Flutter.fr...

2019-07-19 11:22:29 2996

翻译 Android如何支持不同的像素密度

支持不同的像素密度Android设备不仅有不同的屏幕尺寸(手机,平板电脑,电视等),而且它们的屏幕也有不同的像素大小。 也就是说,虽然一个设备每平方英寸有160个像素,但另一个设备在同一空间中可以容纳480个像素。 如果不考虑像素密度的这些变化,系统可能会缩放图像(导致图像模糊),或者图像可能会以完全错误的尺寸显示。使用与密度无关的像素第一个必须避免的陷阱便是使用像素来定义距离或大小。 用像...

2019-04-29 17:42:40 479

原创 Java锁的种类

Java锁的种类内置锁Java 提供了一种内置的锁机制来支持原子性:同步代码块(Synchronized Block)。同步代码块包含两部分,一个作为锁的对象引用,一个作为由这个锁保护的代码块。以synchronized来修饰的方法就是一种横跨整个方法体的同步代码块,其中该同步代码块的锁就是方法调用所在的对象。每个Java对象都可以用做一个实现同步的锁,这些锁称为内置锁或监视锁。线程进入同步代...

2019-04-17 16:55:21 4282

原创 Java线程安全

什么是线程安全性当多个线程访问某个类时,这个类始终都能表现出正确的行为,那么就称这个类是线程安全的。如何实现线程安全无状态对象即对象既不包含任何域,也不包含任何对其他类中域的引用。计算过程中的临时状态仅存在于线程栈上的局部变量中,并且只能由正在执行的线程访问。由于线程之间并没有共享状态,就好像都在访问不同的实例。由于线程访问无状态对象的行为并不会影响其他线程中的正确性,故而无状态对象是...

2019-04-17 16:48:28 88

原创 多线程概述

文章目录什么是线程?什么是多线程?使用多线程的目的多线程优势多线程风险什么是线程?线程是操作系统能够进行运算调度的最小单位。 它被包含在进程之中,是进程中的实际运作单位。 一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。什么是多线程?多线程是指:一个程序内部存在多个线程同时执行。使用多线程的目的提高资源使用效率,从而提高程序的运行效率...

2019-04-15 17:23:17 284

翻译 AndroidManifest.xml文件中<activity>元素用法

AndroidManifest.xml文件中&amp;lt;activity&amp;gt;元素用法AndroidManifest.xml文件中元素用法语法用法描述属性android:allowEmbeddedandroid:allowTaskReparentingandroid:alwaysRetainTaskStateandroid:autoRemoveFromRecentsandro...

2018-07-29 23:28:29 4072 1

翻译 AndroidManifest.xml文件中<action>元素用法

AndroidManifest.xml文件中&amp;lt;action&amp;gt;元素用法AndroidManifest.xml文件中元素用法用法描述:属性(attributes):元素必须放在&amp;lt;intent-filter&amp;gt;中,形如:&amp;lt;intent-filter ... &amp;gt;&amp;lt;action android:name=&quot;strin

2018-07-28 17:07:55 2381

翻译 AndroidManifest.xml 文件详解

AndroidManifest.xml 文件详解AndroidManifest.xml 文件详解概述文件特性包名和应用ID(application ID)应用程序组件(App components)意图过滤器(Intent filters)Icons和labels权限(Permissions)设备兼容性(Device compatibility)文件约定元素(E...

2018-07-27 16:50:37 13617

翻译 JNI介绍

第一章 介绍java本地接口概述历史背景JDK10 本地方法接口Java运行时接口原生的本地接口和javaCOM接口目标java本地接口方法面向 JNI 编程改变第一章 介绍 这一章介绍的是Java本地接口(JNI).JNI是本地编程的接口,它允许运行在java虚拟机里面的java代码调用使用其它语言编写的库和应用,例如C,C++等其它语言. JNI最有利的地方在于它

2016-11-28 09:36:55 402

原创 java枚举单例的好处

java枚举单例好处不外乎三点:1.线程安全 、2.不会因为序列化而产生新实例、 3.防止反射攻击。线程安全通过类加载机制保证不会因为序列化而产生新实例当前类自己实现了readResolve()方法防止反射攻击。因为单例类的修饰是abstract的,所以没法实例化。

2016-04-21 17:28:32 1050

原创 Android Camera多屏幕适配解决预览照片拉伸

通常,拍照预览页面的照片拉伸主要与下面两个因素有关:1.     Surfaceview的大小2.     Camera中的Preview的大小如下图: 如图,该手机surfaceview大小为1280*720(横屏,比例为:16:9)预览尺寸大小为960*720(横屏,比例为4:3)。从上面的二维码可以看到产生了明显的拉伸。正因为surfaceview的宽高比例跟camera

2015-10-22 20:12:49 23059 16

原创 浅谈android如何同时适配pad和手机

前期的注意事项和技巧前段时间公司要做的一个android app,同时要做到适配pad跟手机。刚开始觉得这根本不可能实现,因为我们市场上见到的app都是要两个版本的,分别是手机版和pad版。因为手机和屏幕的尺寸相差太大,所以一般都不会说一个app同时兼容两个版本。  为了做到屏幕的兼容,所以我专门去网上查找资料,看看目前市场上主流的手机尺寸和分辨率分别是多少。主要找到的情况如下图所示:

2015-07-26 00:28:12 22014 2

原创 话说android端七牛图片上传

七牛图片上传业务流程如下图(这是官方的图):由上图可知,要想实现图片上传,是要三端进行交互的(我刚刚开始以为只要七牛服务器跟客户端交互就行)接下来步骤如下:1、首先肯定是要有一个七牛的账号,并创建一个空间2、客户端向业务服务器(也就是客户端的应用服务器)发请求你要上传多上张图片3、业务服务器根据客户端的请求向七牛云存储生成token(应用的服务器下载好相应的七牛sdk然

2015-04-04 10:51:36 3119 2

原创 ListView焦点

如果ListView中的单个Item的view中存在checkbox,button等view,会导致ListView.setOnItemClickListener无效,事件会被子View捕获到,ListView无法捕获处理该事件.解决方法:第一种方法:在checkbox、button对应的view处加android:focusable="false"   and

2014-12-12 09:47:37 857

原创 android 中的Service

Service用处耗时比较长的功能操作放在后台。(下载,MP3播放)Service是一个应用程序组件Service没有图形化界面可以使用Service来更新ContentProvider,发送Intent以及启动系统的通知等等。Service不是一个单独的进程,Service不是一个线程。Service的生命周期onCreat():当Service第

2014-12-12 09:43:39 811

原创 广播机制

广播机制BroadcastReceiver用于监听被广播的事件。开发Broadcast Receiver 对象注册到Android操作系统当中。注册方法:1.在AndroidManifest.xml中注册,具体哪个Broadcast Receiver接收哪个操作就要在intent-filter中声明action。如果声明的action与Broadcast Receiver不匹配

2014-12-12 09:40:09 519

原创 Handler的使用

Handler的基本概念    Handler提供了一种异步处理的机制。    存在两个队列,一个是把线程放进去的队列,另一个是消息队列。    Activity是一个线程,下载是另一个线程。Handler基本使用方法     马上加入到消息队列中:post(Runnable对象引用),     从消息队列中移除:removeCallback(Run

2014-12-12 09:38:05 787

原创 SQLite的使用方法

SQLite介绍    关系型数据库,功能比较全,消耗比较小。SQLiteOpenHelper使用方法    SQLiteOpenHelper能更方便的对数据库进行操作。    SQLiteOpenHelper是一个抽象类,需要先写一个类来继承它。也就获得SQLiteOpenHelper对象,通过getReadableDatabase()或者getReadableD

2014-12-12 09:35:18 574

原创 Oauth工作原理

Oauth定义1、Oauth是一种安全认证的协议2、Oauth协议为用户资源的授权提供了一个安全的、开放而又简易的标准3、Oauth的授权不会使第三方触及到用户的账号信息 官方地址:http://www.oauth.netOauth中的角色1、Service Provider(服务提供者):服务提供者通常是网站,在这些网站当中保存着一些受限制的资源。例如

2014-12-12 09:33:22 868

原创 Ubuntu下手机USB 显示??? insufficient permissions for device

1.如果没有51-android.rules文件,在/etc/udev/rules.d/目录下创建51-android.rules;命令:sudovi/etc/udev/rules.d/51-android.rules然后在里面输入 : SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"2.修改/e

2014-12-11 16:28:41 704

原创 andorid Junit 单元测试

创建一个package com.yunfeng.service;public class PersonService { public void save(){  String  str = "123";  Integer integer = new Integer(str); }}

2014-09-04 16:33:38 609

原创 Android中用webView来解决文字排版实现两端分散对齐的方式

// 文字排版  versionwv = (WebView) findViewById(R.id.about_version);

2014-08-19 17:34:41 7435 2

原创 Java中的单例模式

这是创建的单例leipublic class Danli {private int name;public int getName() {return name;}public void setName(int name) {this.name = name;}private Danli() {// TODO Auto-generated const

2014-08-16 23:55:32 586

原创 Android中的DatePicker和AutoCompleteTextView

创建DataPickerDialog的步骤       (1) 声明一个监听器,使用匿名内部类            private DatePickerDialog.OnDateSetListener mDateSetListener =               new DatePickerDialog.OnDateSetListener() {       

2014-03-08 11:50:51 811

原创 Android中Spinner的使用方法

(1)在布局文件中的声明        android:id="@+id/spinnerld"    android:layout_width="fill_parent"    android:layout_height="wrap_content"    />(2)在String.xml当中声明一个数组        Mercury    Venus   

2014-03-08 10:49:27 1104

原创 AWT中的Event

AWT中的Event事件处理基础    1.事件:一个对象,它描述了发生什么事情。    2.事件源:产生事件的组件。    3.事件监听器:能够接收、解析和处理事件类对象、实现和用户交互的方法。事件处理机制    1.委派式事件处理(delegation):个别的组件将整个事件处理委托给特定的对象,当该组件发生指定的事件时,就通知所委托的对象,有这

2014-02-22 20:16:12 805

原创 java中的AWT布局管理器

布局管理器:按照某种规则布局组件常用布局管理器FlowLayout    1.从左到右按顺序配置在Container中,若到达右边界,则会折回到下一行中    2.FlowLayout是Panel和Applet的默认管理器    3.构造方法:FlowLayout()、FlowLayout(int align)、FlowLayout(int align,

2014-02-22 14:30:04 1701

原创 android中的Service

ServiceService用处耗时比较长的功能操作放在后台。(下载,MP3播放)Service是一个应用程序组件Service没有图形化界面可以使用Service来更新ContentProvider,发送Intent以及启动系统的通知等等。Service不是一个单独的进程,Service不是一个线程。Service的生命周期onCreat(

2014-02-21 20:28:21 528

原创 android中的Handler

Handler的基本概念    Handler提供了一种异步处理的机制。    存在两个队列,一个是把线程放进去的队列,另一个是消息队列。    Activity是一个线程,下载是另一个线程。Handler基本使用方法     马上加入到消息队列中:post(Runnable对象引用),     从消息队列中移除:removeCallback(Run

2014-02-12 13:29:19 579

深入理解 Android 一

2017-05-04

七牛android sdk

本人亲测可以使用,官方的导入进工程里面依赖不了,不能引用。下载这个完全没有问题。

2015-04-04

Eclipse快捷键.pdf

当你看完这份文档之后,你的开发效率肯定有显著的提高!

2014-12-13

eclipse快捷键大全

看了这份文档之后,保证你的开发效率会提高很多。

2014-12-13

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除