自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

转载 ssh-agent用法

ssh-agent一直不知道啥是ssh-agent,今晚看了几篇文章,终于领悟到了。一般的ssh过程ssh-keygen 生成一个公钥私钥,注意,这里生成私钥的时候可以选密码,也可以不选密码。 openssh牛的地方在于能用key 登陆,而非用密码。 然后做免密码登陆,一般是复制到.ssh/authorized_keys ,或者用ssh-copy-id 。其实第二步做完以后

2015-09-06 18:38:23 676

转载 UI-Router源码解析

angular路由路由(route),几乎所有的MVC(VM)框架都应该具有的特性,因为它是前端构建单页面应用(SPA)必不可少的组成部分。那么,对于angular而言,它自然也有内置的路由模块:叫做ngRoute。不过,大家很少用它,因为它的功能太有限,往往不能满足开发需求!!于是,一个基于ngRoute开发的第三方路由模块,叫做ui.router,受

2015-08-25 18:16:38 603

转载 AngularJS:何时应该使用Directive、Controller、Service?

AngularJS:何时应该使用Directive、Controller、Service?AngularJS是一款非常强大的前端MVC框架。同时,它也引入了相当多的概念,这些概念我们可能不是太熟悉。(译者注:老外真谦虚,我大天朝的码农对这些概念那是相当熟悉啊!)这些概念有:Directive(指令)Controller(控制器)Service (服务)下面我们逐个来看这

2015-08-03 15:28:36 525

转载 Angular新手容易碰到的坑

Q1. 错在哪里?如果你这么写过,会发现这个位置啥也没有加载出来,那么,错在哪里呢?错在ng-include需要的是一个变量,如果你在$scope中有这样一个变量$scope.userShowTemplateUrl = "views/users/show.html",并且把上面这句变为就能正常工作了。或者这样写也行:<div ng-include=" 'views/user/sho

2015-07-31 15:10:03 889

原创 解决SDK更新导致Eclispe中ADT版本太低不能启动

离线更新ADT离线包下载地址:ADT离线包下载地址(改地址不只包含ADT,还有许多Android工具可以下载)安装方法:启动 Eclipse ;选择  Help > Install New Software 在右上角单击 添加 按钮;在“添加库”对话框中,单击 Archive 本地安装。选择下载的文件 adt-23.0.4.zip  并点击 OK

2015-05-13 14:32:21 545

原创 Android Studio新手入门教程

新手安装完Android Studio后,需要配置JDK和SDK的路径。进入到AS中File-->Other Settings-->Default Project Structure中,如图:  将JDK的安装路径和SDK的路径复制上去。(JDK最好是1.7版本以上)2.给AS配置免费好用的代理由于墙的原因,每次更新AS/SDK的时候都是费了牛劲。一次性给A

2015-05-12 16:19:36 846

原创 String之lastindex,substring方法笔记

int idexof(String str)返回字符串中第一个含有str字符串的索引值int idexof(String str, int fromIdex)从指定的索引fromIdex位置开始,返回出现str字符串的索引值int lastdIdexof(String str)返回字符串最后一次出现str字符串的索引值int lsetIdex(Str

2015-04-21 10:44:39 1329

原创 SQLite常用命令

插入语句:关键词:inse

2015-04-19 21:49:44 481

原创 Android之ListView头部添加ViewPager

目前很多客户端都采用的是ListView添加两个头部,一个是下拉加载更多的View,另外一个就是ViewPager来进行广告/图片的轮播。今天我们先来实现一个简单的ListView头部添加ViewPager的Demo(暂不考虑事件冲突):ListView添加头部/尾部分别调用的是:listView.addHeaderView(view);listView.addFooter

2015-04-16 14:40:07 4562

原创 Android之DrawerLayout实现ViewPager+左右侧边栏

Android在V4包中提供了DrawerLayout布局来实现侧边栏的效果,代替了之前总是用第三方库实现的方法。关于DrawerLayout网上的介绍也很多,今天我们来实现一个基于DrawerLayout实现的Demo:框架结构:内容区域是ViewPager,里边包含Fragment,通过FragmentPageAdapter来与ViewPager关联。侧边栏我们用的是Linea

2015-04-16 11:16:56 2728

原创 Android侧边栏DrawerLayout实现问题笔记

关于DrawerLayout实现的侧边栏大家可以去Google官网查询,已经很完善了。本章只记录一些实现过程中遇到的问题,以后有时间会发布一篇复杂的DrawerLayout框架。遇到的问题:1.Fragment调用setArgyments(Bundle)的时候报错:Fragment already active原因:setArgyments在Fragment添加到FragmentMan

2015-04-14 16:53:42 1158

原创 Android Button圆角矩形+Selector组合

Android默认Button是矩形的,假如需要一个圆角矩形的Button该如何实现呢?Drawable Resources为我们提供了不同类型的画板。其中有一个Shape Drawable。这个XML文件定义了一个几何图形,包括颜色和渐变和四个边角角度。关于 Google官方文档也给出了详细的解释:点击打开链接 (需要翻墙)Shape提供了几种属性:1.标签:用来描述圆角

2015-04-13 16:51:01 1902

原创 Android之View间的淡入淡出效果

整体动画思路:1.创建淡入淡出View的引用,因为之后要设置他们的一些动画效果 private View contentView; private View progressView;2.对于淡出的View,最终要将其设置为GONE。防止再占据布局空间,以节省布局资源。3.设置淡入淡出的过渡时间 int mAnimationTime = getResources().getIn

2015-04-08 11:02:32 6520

原创 Android JSON解析

Android JSON解析一般有三种方法。第一种:JSON本身提供的包org.json其中提供了JSONArray、JSONObject、JSONStringer、JSONTokener等类第二种:Google提供的GSON工具需要将gson包放置在应用内才可以使用,常用的方法gson.fromJson(xxx),该方法有多种参数。具体请参考GSON文档第三种:阿里巴巴提供的

2015-04-03 09:41:41 417

原创 Android之DiskLruCache模板

关于DiskLruCache的详细说明请看Android之硬盘缓存DiskLrucache完全解析今天我们参照Android之硬盘缓存DiskLrucache完全解析>,来实现一个Demo。首先,说一下大概步骤流程:1.需要获得DiskLruCache的对象,这个对象不能通过new的方式创建,而是通过DiskLruCache.open的方法获得: public sta

2015-04-01 15:46:12 398

转载 Android之硬盘缓存DiskLrucache完全解析

本文转自:http://blog.csdn.net/guolin_blog/article/details/28863651概述记得在很早之前,我有写过一篇文章 Android高效加载大图、多图解决方案,有效避免程序OOM ,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache技术。但LruCache只是管理了内存中图片

2015-03-31 15:50:36 537

原创 Android网络操作之Volley

Volley是Google在13年I/O大会上推出的一款HTTP库。它封装了大部分我们平时用到的网络操作,使用起来也很方便,省去了每次都得构建网络模板。Volley 有如下的优点:自动调度网络请求。高并发网络连接。通过标准的HTTP的cache coherence(高速缓存一致性)使得磁盘与内存缓存不可见(Transparent)。支持指定请求的优先级。支持取消已经发出

2015-03-27 14:48:32 442

转载 Android应用性能优化之SparseArray代替HashMap

本文转自:Android应用性能优化之使用SparseArray替代HashMapHashMap是java里比较常用的一个集合类,我比较习惯用来缓存一些处理后的结果。最近在做一个Android项目,在代码中定义这样一个变量,实例化时,Eclipse却给出了一个 performance 警告。 意思就是说用SparseArray来替代,以获取更好性能。老实说,对Spa

2015-03-26 21:37:31 402

原创 Android之ListView包含多种类型的Item

一般情况下,ListView中的Item的类型的都是相同的,即每个Item的布局都调用的同一个XML。但是我们现在的需求需要ListView包含多种类型,需要如何实现呢?是的,就是覆写Adapter的getItemViewType(int position)和get ViewTypeCount()方法。getItemViewType(int position)代表第position个Ite

2015-03-24 11:23:30 1979

原创 Android之何时调用onNewIntent方法

我们知道Activity的启动模式有四种:分别是默认的方式,singleTop,singleTask,singleInstance。onNewIntent方法的调用和singleTop或者singleTask有关。当启动模式为singleTop的时候,android系统会先检查栈顶的实例是不是该Activity的实例,如果不是的话,它会创建一个该Activity的实例,并启动onCre

2015-03-21 18:14:37 4876

原创 Android之ViewStub

ViewStub:  ViewStub是一个看不见,不占用控件的View,在布局中只起到一个占位符的作用,也就是说当应用程序加载布局的时候,它不会消耗任何内存与资源。你可以把一些不常用的布局放在ViewStub中,仅需要的时候再进行显示。以此来达到性能优化的作用。将只需要特定时候显示的布局标记在ViewStub中。当需要显示这些View的时候可以调用ViewStub的inflate

2015-03-20 18:10:30 373

原创 Android之JNI总结笔记

由于项目中的APP都是与硬件交互,所以难免会与Kernel层交互,但上层软件又是有Java语言编写的,怎么和C/C++语言交互呢?这里就使用到了JNI(Java Native Interface)。Java如何调用JNI:1.需要在Java中定义本地函数,使用关键字Native。private native boolean jniopenserial()。2.需要在Java

2015-03-19 16:35:17 373

原创 Android Tab切换Viewpager+FragmentPageAdapter方法

上一篇我们用Fragment的方式实现了Tab的切换:Android Tab切换之Fragment方法今天我们将利用ViewPager+FragmentPageAdapter的方式实现。将之前内容区域Fragment替换为ViewPager并且ViewPager中包含的也是Fragment。这样的好处就是可以通过滑动ViewPager进行内容区域的切换。该DEMO依然沿用之前的代码,只

2015-03-19 15:41:44 1122

原创 Android Tab切换之Fragment方法

纵观现在大部分Android客户端界面框架基本都是TitleBar+内容区域+TabBar的模式。其中TabBar用来切换对应的内容区域。今天我们用Fragment的方式实现Tab的切换不多说~上图:点击底部的Tab,中间的Fragment内容区域就会相应的切换。这里的Fragment只是简单的显示一个TextView。Title的布局title_ui.xml:

2015-03-18 16:45:41 4624

原创 Android之android:layout_gravity和android:gravity的区别

布局的时候用忘记这两个属性的区别了,特地记录下~                                                                                                                                                                             

2015-03-17 17:18:57 494

原创 Android4.4修改NavigationBar/StatusBar

最新项目要求修改Navigation/StatusBar,其中涉及到了调整他们的高度等,特地记录下来。什么是NavigationBar/StatusBar标记1,我们称之为StatusBar。主要显示通知和状态,如时间,电池电量,信号强度等标记2,我们称之为NavigationBar。Android4.0中新引进的一个虚拟导航栏,代替了传统的硬件导航。包括返回键,菜单键

2015-03-16 14:38:55 2323 1

原创 Android之ListView性能优化

ListView相信大家都不会陌生,一个非常常用的控件用来显示垂直滚动的列表。而对它的优化也是至关重要。因为Android的MVC设计模式,ListView一般会与Adapter配合使用达到视图、数据、逻辑的分离。ListView负责视图、Adapter负责数据与View的绑定常见的Adapter有SimpleAdapter、ArrayAdapter、ListAdapter、BaseA

2015-03-11 17:27:56 468

原创 Android之px和dp

关于px和dp单位的问题,已经是老生常谈的问题了。今天修改项目布局时又用到了两者之间的关系,所以特地记录下来,以免忘记。关于PX:即像素,1px代表屏幕上一个物理的像素点,与像素密度没有直接的关系在不同分辨率下的设备上使用同一数值的px单位会生成不同大小的图片(例如下面图片都是用100px):关于DP:它与“像素密度”密切相关,所以首先我们解释一下什么是像素密度。假

2015-03-10 12:07:57 555

原创 Android之IntentService搭配LocalBroadcast

没事儿逛Android官方文档时无意发现了IntentService和LocalBroadcast,之前从来没用过 先来了解下IntentService:IntentService:IntentService为在单个后台线程执行一个操作提供了一种直接的实现方式。它可以处理一个长时间操作的任务并确保不影响到UI的响应性。 而且IntentService的执行并不受UI的生命周期的影响。I

2015-03-09 17:52:43 698

原创 Android之Binder模型

之前也有讲过Android为什么不用Linux的IPC而实现了自己的Binder机制,今天来脑补一下Binder的模型~本篇博客部分内容摘自Binder Communication and Discovery在Android系统中,为了安全性进程和进程之间一般是相互独立的。那么,进程间通信需要如何进行呢?Android中进程间通信的方式一般分为四种:Intent、Broadcast

2015-03-06 11:24:32 585

原创 Android之新Thread中的Handler

在实现代码之前,先来了解下HandlerThread这个类,根据Android官方文档的描述:Handy class for starting a new thread that has a looper. The looper can then be used to create handler classes. Note that start() must still be called.

2015-03-05 15:42:42 337

原创 Android之Handler异步处理数据

这里展示一个Demo,具体实现了一个ProgressBar通过新建的线程完成一系列的操作,并实时更新UI界面。package com.example.handler;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.app.Activity;impo

2015-03-05 14:53:18 609

原创 Android之Handler、Looper、Message探索

本篇文章是根据Android中消息系统模型和Handler Looper的内容进行自己理解的修改与添加通过Android文档描述的信息来看:这里主要介绍了Handler的两个主要作用:1.发送和处理消息或Runable在未来的某个时间点上。2.使动作在不同的线程中执行。谷歌为我们提供了一些消息发送方法: post(Runnable), postAtTime(Ru

2015-03-05 10:32:44 475

原创 关于我们平时生活中的网络

转自为什么中国网民比IP地址多那么多?普通家庭宽带上网有固定IP地址吗解释道:因为IP地址分为公网IP和私有IP;由于我国IP v4数量只有3.31亿个(这里指的是公网IP),而随着我国网民的不断增加,这些数量已经远不够我们使用了,所有大家想出一种方法。就是建立一个内网,也可以称为局域网。在局域网中的设备我们不用为它们分配稀缺的公网IP,而是分配私有IP。私有IP分为A、B、C三类。其中我

2015-03-04 10:42:42 619

原创 Android网络之简单服务器与客户端双向接收

这里我们通过Socket实现功能;我们在PC机端用Java编写一个简单的服务器,向客户端发送数据同时接收客户端发送过来的数据并打印出来。同理,我们的Android APP作为客户端,同样向服务端发送数据,并且接收其发送来的数据,并通过TextView显示出来。首先作为服务器端的代码:package com.socket.myu;import java.io.Buffer

2015-03-03 10:51:07 556

原创 查询PC端口占用情况和本机的IP地址

本文部分内容参考自百度知道查询PC端口占用情况:CMD使用命令 netstat -an查询本机IP地址:CMD使用Ipconfig

2015-03-02 12:03:18 436

原创 Java笔记之List<E>和ArrayList<E>

通过JAVA JDK1.6的描述:java.util Interface ListAll Superinterfaces:Collection, IterableAll Known Implementing Classes:AbstractList, AbstractSequentialList, ArrayList, AttributeList, CopyOnWriteArray

2015-02-25 16:29:26 2298

原创 Android电话流程之OutgoingCallBroadcaster

本章部分内容参考自:Phone ---- OutgoingCallBroadcaster解析 Android电话拨打流程源码分析根据Android4.4源码找到OutgoingCallBroadcaster.java,文件位置位于:packages/services/Telephony/src/com/android/phone/OutgoingCallBroadcaste

2015-02-12 14:50:08 2997

原创 Java之String与StringBuffer

通过Java之关于你所不知道的String这篇文章,我们已经大概了解了JAVA中String的相关知识。这里,我们主要探讨Java中String和StringBuffer的区别。说起StringBuffer,先来查看JDK1.6文档:java.lang Class StringBufferjava.lang.Object extended by java.lang.Str

2015-02-11 11:03:08 451

原创 Java之关于你所不知道的String

本文内容参考自:java中String s="abc"及String s=new String("abc")详解                                 JAVA里面 String a = "aaa"; 和 String a = new String("aaa");有什么区别?等首先,我们先介绍下JAVA中的栈(stack)和堆(heap);JAVA中的

2015-02-10 16:49:38 448

空空如也

空空如也

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

TA关注的人

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