- 博客(70)
- 资源 (3)
- 收藏
- 关注
原创 Android开源项目 Universal imageloader 源码研究之项目框架
Android开源项目 Universal imageloader 源码研究之项目框架本文主要了解Universal imageloader 源码结构 大部分都是UML图形方式 观察项目框架。基本客户化接口基本UML类图基本客户化接口初始化配置 ImageLoaderConfiguration.Builder config = new ImageLoaderConfiguratio
2015-12-30 10:47:11 995
原创 ViewDragHelper实现相册图片查看
ViewDragHelper实现图片滑动查看ViewDragHelper是SupportV4提供的实用工具类,主要用于多视图下View的拖拽滑动效果,比如侧滑栏,抽屉都能实现。程序员无需再去处理繁琐的onTouch事件问题。本文主要实现一个简单的图片滑动查看效果实现过程
2015-09-11 20:56:21 1146
原创 代理模式
代理模式应用代理从字面意思理解就是 一件事情自己并不做让别人来处理,比如苹果公司买苹果手机自己可以不用销售而是把产品给很多代理商去销售.先看一个接口public interface ISale { //销售 public int sale(Product pro);}谁来销售public class AppleCompany implements ISale {
2015-09-08 21:26:59 922
原创 Android自定义View绘制闹钟
Android自定义View绘制闹钟本文简单实现了一个闹钟 效果如下: 代码如下:package com.gaofeng.mobile.clock_demo;import android.content.Context;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.gr
2015-08-29 17:16:21 2380 1
原创 Android DrawerLayout 抽屉
Android DrawerLayout 抽屉DrawerLayout 在supportV4 Lib中,类似开源slidemenu一样,DrawerLayout父类为ViewGroup,自定义组件基本都是扩展这个类。 android.support.v4.widget.DrawerLayout下面是个简单的用法演示。点左上角的按钮 打开抽屉菜单。点击对应的ITEM 切换对应的内容,内容显示使用Fr
2015-06-03 16:19:18 1661 1
原创 Android LoaderCallbacks
在Fragment里面使用LoaderCallbacks接口 异步HTTP获取图片public abstract class AbstractLoader<D> extends AsyncTaskLoader<D> { public AbstractLoader(Context context) { super(context); } @Override
2015-06-01 15:06:52 2303
原创 Android App框架设计之编写基类BaseActivity
Android App框架设计之编写基类BaseActivity编写基类BaseActivity - OOP里面子类里面能够共享父类的方法,提高代码的可复用性 - 基类的编写要根据实际项目的情况,有的可能很简单 比如只是显示 “关于” 信息, 业务功能非常少 你可以不用继承基类进行扩展BaseActivity继承Activity 还是 FragmentActivity 还是其它? 也是根据你
2015-05-20 18:16:27 41456 12
原创 Android roboguice 开源框架使用
Android roboguice 应用开源的roboguice是一个依赖注入框架,如果你用过Spring 应该知道其好处。 减少程序员的负担,代码变的更加简洁。地址:https://github.com/roboguice/roboguice工具用的是Android Studio 因为Gradle可以自动添加第三方库。Gradle部分内容:dependencies { compile
2015-05-13 20:40:55 2763
转载 序列化和反序列化技术
序列化和反序列化技术转载: http://www.infoq.com/cn/articles/serialization-and-deserialization简介文章作者服务于美团推荐与个性化组,该组致力于为美团用户提供每天billion级别的高质量个性化推荐以及排序服务。从Terabyte级别的用户行为数据,到Gigabyte级别的Deal/Poi数据;从对
2015-05-12 17:41:11 1147
原创 使用EventBus进行Fragment和Activity通信
使用EventBus进行Fragment和Activity通信本文介绍EventBus的基本使用,以及用于Fragment和Activity之间通信。 github地址: https://github.com/greenrobot/EventBus 版本是 EventBus-2.4.0 release EventBus是基于订阅和发布的一种通信机制,使用流程如下:
2015-05-11 16:23:44 21472 2
翻译 Google官方提供的有用的Android范例程序,值得学习的新技术
原文,Google官方blog。 http://android-developers.blogspot.sg/2015/04/new-android-code-samples.html这里有一些例子,涵盖了Android穿戴,NFC ,截屏 ,都已经提交到Google样列仓库的Github上。 https://github.com/googlesamples这有些代码列子。
2015-04-24 15:09:30 11497 1
原创 Android 5.0 CardView 应用
CardView 属于Support v7 里面的新的Widget. 扩展于FrameLayout,UI显示主要包括1.边框圆角2.有阴影Shadow用来突出个性,比如展览,相册等。主布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tool
2015-04-22 17:21:42 34153 2
原创 Android 5.0 RecyclerView 使用
RecyclerView 是5.0开始出来的新的ListView,主要是提高了性能,显示方式也多样化。提高了性能,老版本中我们优化view都是通过定义一个Holder来实行的,现在的RecyclerView就封装了一个Holder支持水平滚动和垂直滚动2种列表还支持Grid格子布局和乱序的布局ICON + TEXTpublic class Item { public int imgId;
2015-04-20 22:26:21 3336 1
原创 Android使用Gradle进行打包混淆,包括依赖Library
下面的脚本100%能用,只要你的版本和路径配置正确环境:Eclipse Windows 7Gradle:2.3Android项目里面包含了多个Library主项目配置:settings.gradle 文件配置library库include 'lib_01'include 'lib_02'project(':lib_01').projectDir = new
2015-04-15 09:30:55 19072
原创 开源Android-PullToRefresh下拉刷新源码分析
PullToRefresh 这个库用的是非常至多,github 今天主要分析一下源码实现.我们通过ListView的下拉刷新进行分析,其它的类似。整个下拉刷新 父View是LinearLayout, 在LinearLayout添加了Header View ,Footer View,和ListViewPullToRefreshBase 是父类 扩展了 LinearLayout水平布局
2015-04-02 14:48:07 7634 1
原创 AsyncHttpClient 源码分析
开源的AsyncHttp是基于Apache HTTP Client包装的一个库,比较简单,回调进行获取数据,不用自己处理线程和实例化Handler上一篇写了个 AsyncHttpClient 获取图片和网页数据演示 简单用法AsyncHttpClient.java 是暴露的接口,最主要的就是Post和Get 2种,还有其他的HTTP请求方式 比如还有Delete,Patch操作
2015-04-01 11:00:21 5541
原创 AsyncHttpClient 获取图片和网页数据演示
AsyncHttpClient 极其好用,采用回调的方式并且是异步的,UI线程已经封装好。 https://github.com/loopj/android-async-http这个例子较为简单。先看运行结果点击按钮 从网络上获取图片和baidu首页显示出来.项目是直接用的源码,为了研究源码使用的。public class HTT
2015-03-17 16:21:38 5083
原创 Android OpenGL ES 应用(二) 纹理
上一篇讲了基础入门 OpenGL (一) ,这一次主要学习OpenGL 纹理基本学习总结要是做复杂的OpenGL应用程序,一定会用到纹理技术。纹理说白了就是把图片或者视频图像绘制到OpenGL空间中。因此纹理也有坐标系,称ST坐标,或者UV上面是纹理坐标空间,但没有固定的方向下面演示加载一张image作为纹理贴图。public class Tex
2015-03-17 14:03:08 2397
原创 SurfaceFlinger研究(一)
2014年的时候就研究过SurfaceFlinger 阅读源码多次 也没有搞得很清楚,这次帖到博客里面 做个记录.SurfaceFlinger 是Android系统里面最复杂的模块,算是个框架. 今天主要把握运行流程,从ActivtyThread.java 运行Activity 然后到Activity setContentView 的执行路线.
2015-01-15 17:29:02 1114
原创 Android UDP广播包抓取
只是贴代码,以前写的突然忘记了. private WifiManager.MulticastLock multicastLock; public void init(Context context){ WifiManager wifiManager = (WifiManager) context.getSystemService(Conte
2015-01-04 17:45:56 3477
原创 Gradle进行项目jar打包
Ant 和 Maven构建工具都是用xml来描述任务结构的,总体而言打包项目等任务都可以,但毕竟xml的灵活性稍微差些,新的企业构建工具Gradle就类似于linux上的shell脚本,采用Groovy动态语言编写脚本。
2014-12-27 19:30:32 11390
原创 Android系统启动研究1
Android系统较为庞大,要搞清楚系统运行原理需要长期努力。系统启动部分看了几遍但没有总结,今天简单总结一下。Android首先重点是启动zygote进程,这个进程来源于init.rc的读取,zygote进程主要用于孵化新的app程序,还包括启动android大量的服务SystemService
2014-12-21 18:03:37 1006
原创 AsyncTask测试多任务
本人进行过模拟测试,发现AsyncTask并不适合多任务,以及长期的异步任务,因为每次只能运行一个AsyncTask,如果运行多个其它任务将会等待下面通过一个代码例子和日志打印得到证实。
2014-12-17 13:34:35 7544 5
原创 AsyncTask下载图片
最近在看很早以前写过的代码,把一些东西回顾一下。本文先回顾一下AsyncTask的基本使用. AsyncTask说简单点就是 开启一个线程,并且把结果提交给ui线程。Thread+Handler,不过里面做了一些封装 减轻了我们维护线程的麻烦
2014-12-16 22:33:59 1058
原创 Android动画应用总结1
本人其实比较懒,不太喜欢写文字,喜欢写代码比较多,不过今天有点时间还是写一点.Android里面的基本动画看起来还是比较简单的手机的坐标系知道坐标系很重要,这样容易设置起始点和结束点动画配置都放在res/anim目录下,直接写代码也是OK首先看渐变,就是设置物体从透明到完全显示的一个渐变效果 <alpha andro
2014-12-12 11:34:29 645
原创 Android Launcher源码研究(三) 加载app流程2
今天继续分析Launcher源码,首先Launcher实现了LauncherModel.Callbacks接口,APP信息数据加载成功后 ,回调接口把app信息显示到Launcher的 workspace界面上,这个过程代码里面称为bind.
2014-11-26 14:52:41 2878 1
原创 Android中自定义ViewGroup实现表格展示学员信息
本文通过扩展Android ViewGroup实现表格 可用于课程信息,学生信息视图展示,实现表格方式可以用布局拼凑 也可以自定义ViewGroup方式实现。
2014-11-22 17:45:23 6821 1
原创 Android Launcher源码研究(二) 加载app流程1
今天主要分析Android Launcher源码中的一些重要类之间的关系,基本的加载app信息流程.
2014-11-21 17:13:51 4881
原创 Android Launcher源码研究(一) 基本结构
Launcher 是 Android手机开启后第一个运行的 应用程序,也叫Home,或者叫做手机桌面。本文介绍的是4.1源码的launcher2 app. Android41\packages\apps\Launcher2首先找到主Activity,打开AndroidManifest.xml 入口是 com.android.lau
2014-11-20 17:36:13 2289
原创 IOS UITableView 使用xib
使用xib可以灵活的进行UITableViewCell设计。工程结构 xcode6环境我们的UITableView 就是显示一个列表 ,列表每个item实体为Guser@interface GUser : NSObject@property (strong,nonatomic) NSString *username;@property (stron
2014-11-02 21:17:32 4063
原创 IOS AFNetworking基本学习
AFNetworking 是较为出名的一个网络http库,很多项目中使用。在github上下载了最新的代码kua
2014-10-21 14:58:47 3260 3
转载 iOS网络通信http之NSURLConnection
文章来源:http://blog.csdn.net/xyz_lmn/article/details/8968182
2014-10-21 10:55:41 1054
转载 iOS网络编程之NSStream
文章来源:http://blog.csdn.net/kesalin/article/details/8867781
2014-10-21 10:54:43 884
原创 Android使用Messenger进行Service IPC通信分析
如果想要进行IPC通信,一般写一个AIDL接口,再写一个Service子类,然后实现AIDL接口 当做IBinder返回给Activity界面层。如果不想写AIDL接口文件,只是单I线程中与Service进行通信 我们可以用Android写好的Messenger类来处理,一样能将消息传递给Service进行通信。先写上基本代码:public class MyService
2014-09-21 15:26:37 7051 7
原创 NDK 5 使用POSIX线程
Java中使用线程特别简单,实现Runnable接口 或者 继承Thread.NDK中使用线程可以在Activity中直接调用java线程,也可以通过JNI启动线程,这个线程源于POSIX中的线程库。需要使用POSIX中pthread头文件如果启动了Posix线程,是无法与Android Java层交互的,主要是因为POSIX线程中无法直接调用JNIEnv 。
2014-01-05 01:30:02 4240
原创 NDK 4 使用Socket与服务器通信
Android是基于Linux内核的,NDK提供的头文件基本都是 posix 协议的。 如果熟悉Linux环境下的开发,其实做NDK会非常容易。下面主要演示 通过JNI Socket获取服务器响应数据 并显示在UI上面。LINUX下的C 之前接触过,不过长时间不用 又生疏了。开发工具这次使用的是:IntelliJ Community IDE比eclipse稍微只能不少。大家
2013-12-03 14:53:21 10143 1
原创 NDK Java JNI调用
这次主要学习NDK C调用JAVA 类,这种做法可以作为回调,比如JNI层获取网络数据 然后回调JAVA层 把获取的网络数据传给应用层并显示。创建一个简单的User类,和 SimpleAction.在JNI层实例化一个User类,并附上值,传个SimpleAction类,然后JNI层调用doLogin方法 打印出User类的信息。 public class User { pu
2013-11-05 10:52:44 1315
原创 NDK Java C 数据类型转换
这次主要学习 NDK 类型转换java数据类型和JNI底层的C类型进行转换,这个也不难1. java 字符串转C字符串2.java 数组转C数组3.
2013-10-27 17:40:33 1601
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人