- 博客(164)
- 资源 (16)
- 收藏
- 关注

转载 android进阶------高性能编程---理解中
注重原创:http://blog.youkuaiyun.com/litton_van/article/details/21702299关于专题 本专题将深入研究Android的高性能编程方面,其中涉及到的内容会有Android内存优化,算法优化,Android的界面优化,Android指令级优化,以及Android应用内存占用分析,还有一些其他有关高性能编程的知识. 随着技术
2016-11-14 23:42:25
494

原创 android知识回顾------如何搭建一个app
1.项目结构的搭建 可以抽取一些公用的模块,比如activity、fragment、adapter、数据库、工具类、自定义控件、网络层,需要从包名上直接体现出来2.Application的使用 application 是单例的,需要在这里面做些全局的初始化操作,比如友盟统计 图片的初始化3.base的处理 baseActivity的定义和使用的程读直接影响了代码量
2016-11-13 20:49:58
383

转载 android知识回顾----单例模式理解和举例
设计模式中,最简单不过的就是单例模式。先看看单例模式原文:http://www.iteye.com/topic/575052Singleton模式可以是很简单的,它的全部只需要一个类就可以完成(看看这章可怜的UML图)。但是如果在“对象创建的次数以及何时被创建”这两点上较真起来,Singleton模式可以相当的复杂,比头五种模式加起来还复杂,譬如涉及到DCL双锁检测(double
2016-11-13 14:40:28
348

原创 android知识回顾----观察者模式理解和举例
实例1:型运用是大家熟悉的BaseAdapter,BaseAdapter关联了一个DataSetObservable对象,并实现registerDataSetObserver和unregisterDataSetObserver两个方法实现注册和撤销Observer,方法notifyDataSetChanged间接调用Observer的实现者的onChange()方法,以达到通知数据改变
2016-11-13 14:32:21
528

转载 android知识回顾-----开源框架-----Volley
主要内容:主要特点主要源码解析使用方法1.Volley是什么? 使用场景? Volley是一个android轻量级异步网络加载和图片缓存处理框架。使用场景是数据量小,网络请求频繁2.Volley的主要特点(1). 扩展性强。Volley 中大多是基于接口的设计,可配置性强。 (2). 一定程度符合 Http 规范,包括返回 Resp
2016-11-13 13:12:16
503

原创 android知识回顾-----单向链表
一.单向链表的反转 【尊重原创,转载请注明出处】http://blog.youkuaiyun.com/guyuealian/article/details/51119499(一)单链表的结点结构: data域:存储数据元素信息的域称为数据域; next域:存储直接后继位置的域称为指针域,它是存放结点的直接后继的地址(位置)的指针域(链域)。
2016-11-13 12:14:39
2660

原创 android知识回顾---文件存储结构
最近一段时间,工作和学习方面都比较忙,所以,博客方面有一段时间没有投入时间啦,今天学习了一下Android文件存储方面的知识,主要是Internal Storage和External Storage的相关特性.主要知识来自android的官方文档和其他人的博客.Internal Storage 一般来说,你可以直接存储文件在机器的internal storage中,存储在这个位
2016-11-10 22:28:03
353

原创 android知识回顾-----序列化对象
.序列化的目的2.Android中序列化的两种方式3.Parcelable与Serializable的性能比较4.Android中如何使用Parcelable进行序列化操作5.Parcelable的工作原理6.相关实例 1.序列化的目的 1).永久的保存对象数据(将对象数据保存在文件当中,或者是磁盘中 2).通过序列化操作将对象数据
2016-11-10 21:42:47
384

原创 android知识回顾------安全加密(金融类)
1.使用RSA(非对称加密) AES(对称加密) Des方法对数据加密,是可逆的,但是MD5和SHA是不可逆的所以不适合,建议在项目中,针对需要加密的核心功能用SDK方式混淆打包加密,因为暴露在项目中的java代码都是不安全的,但是又怎么保证sdk不被黑客调用,所以需要进行 加密验证,通过RSA对称加密,来确定使用的权限,这是一个很好保护核心代码的安全加密方式。下面具体介绍 如何使用RSA。R
2016-11-09 13:54:33
1698

原创 android知识回顾----网络编程
volleyhttps://bxbxbai.github.io/2014/09/14/android-working-with-volley/ http://blog.youkuaiyun.com/guolin_blog/article/details/17656437如何控制TCP连接时的拥塞 http://blog.youkuaiyun.com/yechaodechuntian/article/det
2016-11-09 12:36:32
724

原创 android知识回顾-------使用到的设计模式及举例
1、适配器模式:ListView或GridView的Adapter简介:不同的数据提供者使用一个适配器来向一个相同的客户提供服务。适配器模式是一种重要的设计模式,在 android 中得到了广泛的应用。适配器类似于现实世界里面的插头,通过适配器,我们可以将分属于不同类的两种不同类型的数据整合起来,而不必去根据某一需要增加或者修改类里面的方法。 在 android 中常见的适
2016-11-09 00:00:26
362

原创 android知识回顾-----适配不同分辨率的机型
1.尽量使用dp设置控件的大小距离,文字使用sp,dp是和分辨率无关的 2.少用绝对布局,尽量使用相对布局 3.图片使用多路径 drawable_small drawable_large 4.不同大小和布局的情况下,布局差异大可以考虑使用 layout_large layout_small 多种布局仔细看了一下an
2016-11-08 23:15:52
722

原创 android知识回顾----性能优化
1.布局优化 常用的几种方式分别是:避免布局多层嵌套(可用工具hierarchyViewer帮助分析布局的嵌套关系)、过度绘制检查、viewStub(相对gone invisiable消耗资源更小 显示的时候调用 viewStub.inflate ) 、Android lint工具(Analyze—>Inspect Code)2.绘制优化 onDraw方法中避免创建新对
2016-11-08 11:16:02
638

原创 android知识回顾----fragment
本篇博客力求为大家说明Fragment如何产生,什么是Fragment,Fragment生命周期,如何静态和动态的使用Fragment,Fragment回退栈,Fragment事务;以及Fragment的一些特殊用途,例如:没有布局的Fragment有何用处?Fragment如何与Activity交互?Fragment如何创建对话框?Fragment如何与ActionBar集成等等。1.什么是
2016-11-08 00:07:20
747

原创 android知识回顾----bitmap和cache
1.bitmap的高效加载BitmapFactory 类为我们提供了几种decoding方法(decodeByteArray(), decodeFile(),decodeResource(), etc)来从不同的来源创建出 Bitmap ,如何选择最恰当的decode方法取决于你的图片数据来源,这些方法都会去尝试申请内存来构建Bitmap对象,所有很容易就会导致一个OutOfMemor
2016-11-05 08:33:41
1070

原创 android知识回顾-----多线程
1)现在有T1、T2、T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行?这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉。这个多线程问题比较简单,可以用join方法实现。sleep和yield有点相似都是让步,但是让法不一样sleep表示,当前线程停 一定时间后,再往下执行。把机会让给别的线程。他不管优先级,反
2016-11-02 18:22:39
783

原创 android知识回顾--线程和线程池
1.主线程和子线程 主线程就是主指UI线程,然而在android系统中一般不能在UI线程中进行耗时比较大的操作,这个时候就需要引进子线程去处理,android里有几个特殊的线程封装,分别是AsyncTask ThreadHandler IntentService2.AsyncTask 使用场景: AsyncTask是轻量级的异步任务类,他可以在线程池中执行异步任务,
2016-11-02 16:06:29
609

原创 android知识回顾---消息机制
Handler Looper MessageQueue Message1.Handler的机制流程 如果在主线程中new Handler,Activity创建的时候会创建Looper,创建Looper的时候会创建MessageQueue,通过looper.mQueue()能得到MessageQueue对象,如果不是在主线程中new Handler就需要 通过Looper.prep
2016-11-01 16:17:32
410

转载 android知识回顾--drawable
1、概述Drawable在我们平时的开发中,基本都会用到,而且给大家非常的有用。那么什么是Drawable呢?能够在canvas上绘制的一个玩意,而且相比于View,并不需要去考虑measure、layout,仅仅只要去考虑如何draw(canavs)。当然了,对于Drawable传统的用法,大家肯定不陌生 ,今天主要给大家带来以下几个Drawable的用法:1、自定义Drawab
2016-10-29 23:43:01
373

转载 android知识回顾--动画深入分析
Android中动画分为3种:Tween Animation:通过对场景里的对象不断做图像变换(平移、缩放、旋转)产生动画效果,即是一种渐变动画;Frame Animation:顺序播放事先做好的图像,是一种画面转换动画。Property Animation:属性动画,通过动态地改变对象的属性从而达到动画效果,属性动画为API 11新特性。一 Tween A
2016-10-29 12:29:26
406

原创 android知识回顾--view的事件体系
1.view的滑动,六种滑动方式: 一:通过layout来实现滑动效果 package com.example.testdragview;import android.content.Context;import android.util.AttributeSet;import android.util.Log;import android
2016-10-28 12:59:58
1657

原创 android知识回顾-----自定义view
1.Android view 如何测量?MeasureSpec 类来测量,分为三种模式默认EXACTLY(match_parent) AT_MOST(wrap-content) UNSPECIFIED自定义view 如TextView wrap_content 需要重写onMesuare 执行确切大小。public class MyView extends View {
2016-10-27 23:50:51
424

原创 android知识回顾-----4大组件之contentprovider
ContentProvider存在的意义:我的理解两点: 一:封装,为存储和获取数据统一接口 二:提供一种跨进程共享数据的方式1.ContentProvider的简介当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据。ContentProvider为存储和获取数据提供了统一的接口
2016-10-26 23:14:03
592
1

原创 android知识回顾---4大组件之broadcast广播
1.怎么可以让自定义的广播被指定app接收 思路就是自定义广播设置权限,接收的权限,只有指定的app的接收者才可以接收,其实activity service broadcast都是一样的,如果不设置这样的权限,在android系统中都是可以通过api或者指令去启用activity。简单思路:首先接收者需要在 xml文件中注册广播,需要自定义权限 然后注册的广播的时候加上这个权限。
2016-10-26 14:04:48
320

转载 android知识回顾---4大组件之service
五种交互方式,分别是:通过广播交互、通过共享文件交互、通过Messenger(信使)交互、通过自定义接口交互、通过AIDL交互。(可能更多)Service与Thread的区别 Thread:Thread 是程序执行的最小单元,可以用 Thread 来执行一些异步
2016-10-25 23:51:58
424

原创 android知识回顾---4大组件之activity
1.activity2.service3.contentprovider4.broadcaseReceiver
2016-10-25 22:40:44
429

原创 Android内存溢出处理方案
本人使用的工具是 Android studio 先下载 Memory Analyzer (jdk如果是64则下64的,保持一致)在Android Studio打开Android Device Monitor or DDMS. (打开ddms:tools--android--android device monitor)选中"com.example
2015-08-14 15:41:12
509

原创 Android的安全机制---笔记
一、安全主要解决什么问题:1、保密 2 、鉴别/认证 3、完整性 4、不可否认性日常生活中,有意无意能想到的密码术1、字母加密 2、藏头诗 3、到写文 4、算法与秘钥的分离 5、任何规则都可以定义密码术二、安全机制之对称加密 1、算法:置换算法和 转阵算法 DES AES
2014-11-24 13:54:54
780
原创 ordova build 编译之后没有任何反应
1.出现cordova build 编译之后没有任何反应的问题?也没有生成相应的apk文件?什么情况?> 1.应该是没有开始编译,哪里环境变量配置有问题,那么怎么检查呢?> 2. cordova requirements 这条命令会检查cordova现在的环境哪里配置不对?下面是我配置完成之后的结果> > D:\PhoneGap\PpcardCordova\PpcardSc...
2018-06-29 16:59:45
604
原创 android进阶---性能优化-----ui
怎样才能写出优秀的Android App,是每一个程序员追求的目标。那么怎么才能写出一个优秀的App呢?相信很多初学者也会有这种迷茫。一句话来回答这个问题:细节很重要。今天我们就从最基础的XML布局来谈谈怎么提高Android性能问题吧!也许你经常会遇到比较复杂的布局,这种情况下,最简单的方法就是多层嵌套实现效果,但是最简单的方法是否是最优的方法呢? 这里需要打一个大大的问号?????经验
2016-11-18 09:53:55
984
原创 android进阶----性能优化----电量优化
简单的说也就是主要在以下情况下耗电比较多:1、 大数据量的传输。2、 不停的在网络间切换。3、 解析大量的文本数据。那么我们怎么样来改善一下我们的程序呢?1、 在需要网络连接的程序中,首先检查网络连接是否正常,如果没有网络连接,那么就不需要执行相应的程序。检查网络连接的方法如下:ConnectivityManager mConnectivity; Tele
2016-11-18 09:05:52
1148
原创 android进阶----java知识----堆栈
Java 中的堆和栈 Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量分配内存空间,当超过变量的作用域后,Java会自动释放掉为该变量所分配的内存空间,该内存空间可以立即被另作他用。 堆内存用来存放由new创建的对
2016-11-17 23:30:28
445
原创 android知识回顾-----项目中哪些技术值得推广
1.baseactivity的创建,同时在定义findview initview onclick这些方法可以规则子类的的代码实现,便于阅读2.内部类使用activity的弱引用,同时定义静态3.观察者模式4.单例模式5.多用接口类内存的优化性能的优化 比如 布局优化 绘图优化 线程优化 ayncstask的合理使用 bitmap的使用 listview的使用
2016-11-13 22:37:18
358
原创 android知识回顾---UI和性能优化
1、提升我们的UI Perfermance 现在大家越来越注重性能问题,其实没必要那么在乎,但是既然大家在乎了,这里通过Cyril Mottier :master_android_drawables ppt中的一个例子来说明如果利用Drawable来提升我们的UI的性能。大家看这样一个效果图:布局文件:[html] view plai
2016-10-29 23:44:32
409
原创 java.lang.UnsatisfiedLinkError:Could not load bd_wsp_v1_0 loader dalvik.system
问题:1 根据错误提示是无法找到locSDK3这个库,但是又明明在armeabi中加入了liblocSDK3.so。被这个问题困扰了很久。在做NDK开发的时候,NDK编译的so有时会在armeabi和armeabi-v7a中分别放置一份。突然想到上面的错误是不是也是因为这个原因。然后在项目的libs目录下新建一个文件夹,命名为armeab
2015-08-03 17:26:57
2073
原创 android绘图---绘制颜色渐变的圆圈进度条
package com.example.fox_draw_view;/** * @auth:foxcen * @功能:画圆形进度条 */ import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.grap
2015-07-08 16:30:47
3825
转载 Android学习之绘图入门
Android的绘图继承于View组件,重写onDraw(Canvas canvas) 方法时涉及一个绘图API: Canvas 代表了依附于指定View的画布,并且提供了很多绘制方法。Canvas提供的方法还涉及一个API: Paint ,Paint代表了Canvas上的画笔,主要用于设置绘制风格,画笔颜色,粗细,填充风格等。Path代表任意多条直线连接而成的任意图形,当Canvas根据Path绘
2015-07-07 16:10:38
386
原创 android ant批量打包
补充遇到的问题:没有先clean项目就去ant打包,在proguard.cfg或者proguard-project.txt文件中引入了找不到的jar包导致can`t read *.jar无法打包ant打包其实不难,看里面的错误注释,然后查找就可以1.配置JAVA的环境变量 (参考http://jingyan.baidu.com/article/f96699bb8
2015-05-26 12:17:48
414
原创 从Eclipse导入工程到Android Studio
一、从Eclipse导入工程到Android Studio根据官方的介绍,Android Studio可以兼容Eclipse的现有工程,但需要做一些操作:首先升级ADT到最新版本,目前为版本号为22(注意和ADT相关的组件最好一并升级,避免后期可能出现的错误)选择需要从Eclipse导出的工程,右键选择Export并选择Android下的Generate Gradle Bu
2015-05-25 23:23:37
580
转载 关于ListView的Adapter,解决ListView滚动后内容重复的问题
这些天用到了ListView,由于要用到ImageView,且图片源不是在资源里面的,也就没法用到ID了,也就不能用SimpleAdapter之类的了。只能自己改写一个Adapter,直接继承BaseAdapter。由于一开始只是在网上看了一下如何写getView这个方法,根本没有去进一步理解各个参数的含义(当然现在也没有全理解。。。),一样一来,运行没问题了,ListView里面数据也有了,结果
2015-04-06 19:15:38
514
pager-taglib.jar
2013-06-08
大型门户网站是这样炼成的!(Struts_2+Spring_2+Hibernate_3)
2012-05-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人