自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(136)
  • 资源 (4)
  • 收藏
  • 关注

原创 java基础总结

一.  面向对象: { 1.面向对象的思想 :基于面向过程的编程思想     特点:符合我们思想的         将复杂的简单化         将我们从执行者变为指挥者     开发:不断创建对象使用对象指挥对象做事情     设计:就是管理和维护对象之间的关系     特征:封装,继承,多态      2.类与对象及其使用 :    类:java中基本单位

2016-10-24 12:31:40 347

原创 android上传图片至服务器

本实例实现了android上传手机图片至服务器,服务器进行保存服务器servlet代码publicvoid doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

2016-10-24 11:51:58 338

原创 Android开发中动画使用的注意事项

在Android开发过程中我们都知道,有一些比较酷炫的效果都是通过动画来实现的,Android提供了View动画、帧动画和属性动画三种动画,具体的使用方法和介绍网上有很多的介绍,这里我不做多余的赘述,在这篇博客里呢,我想就使用动画的一些注意事项做一些说明,希望对大家有用。1.OOM问题这个问题主要出现在帧动画中,当图片数量较多且图片较大时就极易出现OOM,这个在实际的开发中要尤其注

2016-10-12 17:43:56 387

原创 我眼中的View

1.每个View都只有一个父View2.整个视图只有一个根View 3.DecorView --- FrameLayout 3.1我们在写视图的时候,要尽可能的少写视图层级 3.2能用FrameLayout写的,就不要用RelativiLayout,能用RelativiLayout写的,就不要用LinearLayout。  4.我们通过setContentView设置的

2016-10-07 23:59:09 363 1

原创 AsyncTask研究

AsyncTask:关于线程池:asyncTask对应的线程池ThreadPollExecutor都是进程范围内共享的,都是static的,所以asyncTask控制着进程范围内所有的子类的实例.由于这个限制的存在,当使用默认线程池的时候,如果线程数超过线程池的最大容量,线程池就会爆掉(3.0后默认串行执行,不会出现这个问题).针对这种情况,可以尝试自定义线程池,配合asyncTask使用..

2016-10-06 23:44:24 307

原创 Android的面向组件开发

面向组件思想是在软件规模扩大,复杂度上升的背景下,以面向对象为基础而提出的一种软件设计思想。可以把它理解为一种更粗粒度的面向对象,其粒度一般大于对象,但具体要到什么程度,又可以根据实际情况来决定。这种思想以组件为基础,强调“服务”的概念。面向组件具有以下特点:低耦合性:组件之间一般互不依赖,一个组件只需要知道另一个组件的“名字”就可以访问它;高重用性:系统级的重用;高互操作性:不同

2016-10-05 02:34:22 337

原创 一些杂货

1.     listview中converView复用 可以使用三元表达式    View view = convertView != null ? convertView :View.inflate(MainActivity.this, R.layout.item, null);2.     数据库帮助类有两个方法,第二个方法更新数据库用,只有版本号发生变化的时候掉用 3.    

2016-10-04 13:11:45 364

原创 Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(上

在之前一篇博文中 Android中View绘制流程以及invalidate()等相关方法分析>>,简单的阐述 了Android View   绘制流程的三个步骤,即:                      1、  measure过程 --- 测量过程

2016-10-02 22:31:21 666

原创 Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(下

上篇文章Android中measure过程、WRAP_CONTENT详解以及xml布局文件解析流程浅析(上)>>中,我们  了解了View树的转换过程以及如何设置View的LayoutParams的。本文继续沿着既定轨迹继续未完成的job。        主要知识点如下:

2016-10-02 22:31:18 741

原创 view的测量,布局,绘制

矩形区域. Android原生桌面上的那些应用图标其实是 textview, 可以再 Android Device Monitor 中看(dump view).View只能有一个父View, 为什么? 这样设计, 系统底层只需跟最顶层的View交互. View是否必须有父View, 不是, 可以使用 WindowManager 加到屏幕上Android是 C/S 架构, 我们写的客户端

2016-10-02 22:31:16 354

原创 自定义控件3.自定义属性

在上一篇里, 自定义View的背景色和文字颜色都是在 onDraw 里写死的, 这次我们实现可以通过布局文件配置. 要实现这个功能, 需要有如下几个步骤:1. 创建 attrs.xml在 res/values 目录下新建一个 attrs.xml , 内容如下:xml version="1.0" encoding="utf-8"?> xmlns:android="http://schemas.and

2016-10-02 22:31:13 286

原创 自定义控件2.第一个自定义view

自定义一个View, 继承自 View, 实现如下效果:  其实就是一个宽高为100的蓝色方块, 左下角红色字题 Hello! (上面的Hello world 是系统的 TextView).1. 继承 View, 重写 onDraw 方法/** * 自定义一个简单的 View * * @author GAOYUAN * */public class CustomView1 extends Vie

2016-10-02 22:31:11 343

原创 自定义控件1.官方文档翻译

Android offers a sophisticated and powerful componentized model for building your UI, based on the fundamental layout classes: View and ViewGroup. To start with, the platform includes a variety

2016-10-02 22:31:08 1354

原创 自定义组合控件

转自http://www.cnblogs.com/hdjjun/archive/2011/10/12/2209467.html 代码为自己编写目标:实现textview和ImageButton组合,可以通过Xml设置自定义控件的属性。       通过代码或者通过xml设置自定义控件的属性1.控件布局:以Linearlayout为根布局,一个TextView,一个ImageButton。   Xm

2016-10-02 22:31:06 279

原创 android图片缩放、放大demo - Android实例教程

示例原图: 拖动查看其他部分:    放大仔细查看  代码示例,注释比较详细,其他不多讲了package com.study.drascale;import android.os.Bundle;import android.app.Activity;import android.graphics.Matrix;import android.graphics.PointF;import androi

2016-10-02 22:31:01 1232

原创 显示大图片的技巧

尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存。 因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView的 sou

2016-10-02 22:30:59 416

原创 线程池的基本思想还是一种对象池的思想

线程池的基本思想还是一种对象池的思想,开辟一块内存空间,里面存放了众多(未死亡)的线程,池中线程执行调度由池管理器来处理。当有线程任务时,从池中取一个,执行完成后线程对象归池,这样可以避免反复创建线程对象所带来的性能开销,节省了系统的资源。比如:一个应用要和网络打交道,有很多步骤需要访问网络,为了不阻塞主线程,每个步骤都创建个线程,在线程中和网络交互,用线程池就变的简单,线程池是对线程的一种封装,

2016-10-02 22:30:56 853 2

原创 android压缩图片,解决oom错误

你的ImageView只有128*96像素的大小,只是为了显示一张缩略图,这时候把一张1024*768像素的图片完全加载到内存中显然是不值得的。所以我们需要一个方法来解决这个问题。[java] view plaincopypublic static int calculateInSampleSize(BitmapFactory.Options options,          int reqWi

2016-10-02 22:30:54 387

原创 android从网络上异步加载图像

研究了android从网络上异步加载图像:(1)由于android UI更新支持单一线程原则,所以从网络上取数据并更新到界面上,为了不阻塞主线程首先可能会想到以下方法。     在主线程中new 一个Handler对象,加载图像方法如下所示[java] view plaincopyprint?private void loadImage(final String url, final int id

2016-10-02 22:30:51 342

原创 使用Lrucache,图片滑动时使用默认图片,停止时加载

注意:LruCache是有版本限制的,低版本的sdk需要在libs文件夹添加相应的support-4v文件。本文改造的大部分是参考http://www.iteye.com/topic/1118828,感谢。不废话直接上工程代码,内有关键注释,项目就不上传了,自己对照着上面网址改呗。首先是Application文件,负责创建图片存储文件夹:public class MyApp extends App

2016-10-02 22:30:49 515

原创 Handler研究2-AsyncTask,AsyncQueryHandler分析

AsyncTask可以自己写一个 AsyncTask, 唉.实际开发中, 如果用 AsyncTask 访问网络, 可以重写一个AsyncTask, 加上判断网络状态的功能    protected abstract class MyHttpTask extends AsyncTask {        // 当前BaseView类中无法获知需要进行什么操作        // protected 

2016-10-02 22:30:46 323

原创 Handler机制中的五大对象

Handler机制中的五大对象android的消息处理有三个核心类:Looper,Handler和Message。其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道,因此我没将其作为核心类。 另外, 还有一个类: HandlerThread.Message: 消息MessageQueue: 消息队列Handler: 消息处理器, 发送,

2016-10-02 22:30:44 2437

原创 Handler机制.源码分析

Handler<span style="font-family:宋体;mso-ascii-font-family:"Times New Roman";mso-hansi-font-family:"Times New Roman"">机制的原理 :Android<span style="font-family:宋体;mso-ascii-font-family:"Times New Roman

2016-10-02 22:30:41 499

原创 EmojiUtils

package com.fone.livechannel.ui.room;import java.io.FileInputStream;import java.util.regex.Matcher;import java.util.regex.Pattern;import android.content.Context;import android.graphics.Bitmap;import a

2016-10-02 22:30:38 753

原创 代码编译-反编译-解混淆

介绍Java的字节码一般是非常容易反编译的, 而android采用java编写, 生成的apk安装文件实际上就是一个压缩包, 可以将其解压缩, 再借用其他工具就能被反编译出来. 为了能对源代码就行一些必要的保护, 我们可以对编译好的class文件进行混淆处理. ProGuard的就是一个混淆器, 混淆器通过删除从未用过的代码和使用晦涩名字重命名类、字段和方法,对代码进行压缩,优化和混淆,

2016-10-02 22:30:36 805

原创 android事件总线(eventbus)设计与实现

1. 功能介绍AndroidEventBus是一个Android平台的事件总线库, 它简化了Activity、Fragment、Service等组件或者对象之间的交互,很大程度上降低了它们之间的耦合,使得我们的代码更加简洁,耦合性更低,提升我们的代码质量。AndroidEventBus吸收了greenrobot的EventBus以及square的otto的优点,并在此基础上做出了相应的改进,使得事

2016-10-02 22:30:33 493

原创 android事件总线(eventbus)开源库发布

AndroidEventBus如果你不知道事件总线是什么,那么没有关系,下面我们先来看这么一个场景:你是否在开发的过程中遇到过想在Activity-B中回调Activity-A中的某个函数,但Activity又不能手动创建对象来设置一个Listener什么的? 你是否想在某个Service中想更新Activity或者Fragment中的界面? 等等之类的组件之间的交互问题……一经思考,你会发现An

2016-10-02 22:30:31 459

原创 事件分发机制完全解析_下

<span style="font-size:10.5pt;font-family:"微软雅黑","sans-serif";mso-ascii-font-family:Arial;mso-hansi-font-family:Arial;mso-bidi-font-family:Arial;color:#333333">转载请注明出处:<span lang="EN-US" style="fo

2016-10-02 22:30:28 715

原创 Android事件总线

Android事件总线还能怎么玩?顾名思义,AndroidEventBus ( github链接 ,关于我为什么要写这个库请参考《AndroidEventBus ( 事件总线 ) 的设计与实现》)是一个Android平台的事件总线框架,它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使我们的代码更加简洁,耦合性更低,提升了我们的代码质量。

2016-10-02 22:30:26 540

原创 android优化内存_下

OOM: 内存泄露可以引发很多的问题:1.程序卡顿,响应速度慢(内存占用高时JVM虚拟机会频繁触发GC)2.莫名消失(当你的程序所占内存越大,它在后台的时候就越可能被干掉。反之内存占用越小,在后台存在的时间就越长)3.直接崩溃(OutOfMemoryError) ANDROID内存面临的问题:1.有限的堆内存,原始只有16M2.内存大小消耗等根据设备,操作系统等

2016-10-02 22:30:23 377

原创 android内存优化大全_上

<span style="font-size:10.5pt;font-family:宋体;mso-bidi-font-family:Arial;color:#663333;border:none windowtext 1.0pt;mso-border-alt:none windowtext 0cm;padding:0cm">转载请注明本文出自大苞米的博客(http://blog.csdn.ne

2016-10-02 22:30:21 535

原创 android内存优化大全_中

转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持!写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识

2016-10-02 22:30:18 275

原创 Android 解决图片大量下载:软引用必须懂4点

Android 解决图片大量下载:软引用必须懂4点可能对于Android开发者来说,软引用这个词有的会不是很熟悉,软引用在Java开发中用的比较多,但是,在Android开发中引用软引用,会给我们解决很多难题。AD:1.对象的强、软、弱和虚引用为了能更加灵活控制对象的生命周期,需要知道对象引用的4中级别,由高到低依次为 :强引用、软引用、弱引用和虚引用备注: 这四种的区别:⑴强引用(StrongR

2016-10-02 22:30:15 215

原创 android内存优化5—对界面UI的优化(2)

在一个应用程序中,一般都会存在多个Activity,每个Activity对应着一个UI布局文件。一般来说,为了保持不同窗口之间的风格统一,在这些UI布局文件中,几乎肯定会用到很多相同的布局。如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差;另一个是修改起来比较麻烦,对后期的修改和维护非常不利。所以,一般情况下,我们需要把相同布局的代码单独写成一个模块,然后在用到的时候

2016-10-02 22:30:13 252

原创 android内存优化6—对界面UI的优化(3)

本篇博文主要讨论一下复杂界面中常用的一种技术——界面延迟加载技术。 有时候,我们的页面中可能会包含一些布局,这些布局默认是隐藏的,当用户触发了一定的操作之后,隐藏的布局才会显示出来。比如,我们有一个Activity用来显示好友的列表,当用户点击Menu中的“导入”以后,在当前的Activity中才会显示出一个导入好友的布局界面。从需求的角度来说,这个导入功能,一般情况下用户是不使用的。即大部分时候

2016-10-02 22:30:10 382

原创 android内存优化-Activity, Thread引起的内存泄露0

Android编程中一个共同的困难就是协调Activity的生命周期和长时间运行的任务(task),并且要避免可能的内存泄露。思考下面Activity的代码,在它启动的时候开启一个线程并循环执行任务。 1 /** 2 * 一个展示线程如何在配置变化中存活下来的例子(配置变化会导致创 3 * 建线程的Activity被销毁)。代码中的Activity泄露了,因为线程被实 4 *

2016-10-02 22:30:08 681

原创 android内存优化4—对界面UI的优化(1)

在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的。界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局。通常,在这个页面中会用到很多控件,控件会用到很多的资源。Android系统本身有很多的资源,包括各种各样的字符串、图片、动画、样式和布局等等,这些都可以在应用程序中直接使用。这样做的好处很多,既可以减少内存的使用,又可以减少部分

2016-10-02 22:30:05 260

原创 Android内存优化2—使用软引用和弱引用

来自为知笔记(Wiz)

2016-10-02 22:30:03 220

原创 android内存优化3—从代码角度进行优化

通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的。一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构。重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能。下面我们就从几个方面来了解Android开发过程中的代码优化。 1)静态变量引起内存泄露在代码优化的过程中,我们需要对代码中的静态变量特别留意。静态变量是类相关的变量

2016-10-02 22:30:00 279

原创 android内存优化-1-内存泄露

1.资源对象没关闭造成的内存泄漏描述:资源性对象比如(Cursor,File文件等)往往都用了一些缓冲,我们在不使用的时候,应该及时关闭它们,以便它们的缓冲及时回收内存。它们的缓冲不仅存在于java虚拟机内,还存在于java虚拟机外。如果我们仅仅是把它的引用设置为null,而不关闭它们,往往会造成内存泄漏。因为有些资源性对象,比如SQLiteCursor(在析构函数finalize(),如果我们没

2016-10-02 22:29:58 225

23种设计模式知识要点.pdf

Java23种设置模式知识要点,从代码的演示中学习设计模式,针对每一种模式给出例子方便读者可以参考学习;

2019-05-27

Kotlin电商项目下载地址

包括kotlin Dagger2 Arouter RxBus Mvp retrofit resultApi的项目下载地址线上下载地址

2018-01-20

代码行数统计工具

代码统计,代码统计工具2.0最新版本,直接运行统计行数,

2017-10-13

android 动画轨迹

购物车,动画,赛贝尔曲线,动画轨迹,可以直接运行的代码

2017-10-13

空空如也

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

TA关注的人

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