自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

贤鱼

开源、协作、发展

  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 带有滚动条的textview

有一些需求需要展示多行文字,超出范围的文字可以滚动展示,我们知道一般展示文字都是用textview,但大部分情况都只有一行,如果出现多行应该怎么设置呢,这里将最近项目中用到的需求做一下记录总结。其实textview还有很多属性可以使用,这里我们会用到android:lineSpacingExtra = "5dp"//行间距android:maxLines="18"//最大行数android:m

2017-02-09 21:22:26 747

原创 提高android编译速度的方法

提高Aandroid编译速度的方法最近在做的项目越来越大,编译的时间也越来越长了,这时候每更新一次都要忍受几分钟的编译时间,有没有提高编译速度的方法呢,网上可能有其他的方法或者插件什么的,这里只总结自己实践的方法。步骤1.编译打包:一般我们写好代码,然后执行运行项目命令,即那个小三角 Run app,但是项目越来越大的时候这种方式会很费时间。我是用菜单栏上的Build -> Build APK

2017-02-05 00:56:26 1035

原创 Fragment的addToBackStack()使用

Fragment的addToBackStack()使用官方文档介绍,这个方法的作用:当您移除或替换一个片段并向返回栈添加事务时,系统会停止(而非销毁)移除的片段。 如果用户执行回退操作进行片段恢复,该片段将重新启动。 如果您不向返回栈添加事务,则系统会在您移除或替换片段时将其销毁。下面通过例子感受一下这个效果先看一下主布局,就一个按钮和准备加载fragment的容器

2016-12-11 11:52:04 15783 2

原创 android样式的简单使用

android样式的简单使用了解android中的样式android中可以通过设置xml文件,指定特定view的样式,activity也可以指定特定样式这里先从简单的例子了解和使用样式设置view的样式给textview设置样式,一般如果应用中textview有多处地方的样式一样,可以抽取到res/values/styles.xml文件中统一设置,在布局文件中通

2016-12-10 21:48:08 529

原创 动态修改布局和添加控件

动态修改布局参数和添加控件需求:代码中动态修改布局参数,使得布局中的控件位置改变在布局中动态添加控件实现步骤布局主界面的布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.an

2016-12-07 22:44:50 1180

原创 相册获取、相机拍摄,裁剪圆形头像

相册获取、相机拍摄,裁剪圆形头像应用场景很多应用都有个人中心,个人中心就会有头像,现在一般都流行圆形头像,那么怎么设置呢使用步骤这里参考了网上各位大神的文章,因为中途遇到几个坑,折磨了一天,快要疯了,因为本人也是菜鸟,所以被虐是必然了,当然我们看到新人遇到问题时,不要觉得那个问题是简单的,当初如果你没有遇到这种需求或没接触过那些坑时,或许也会感到不简单的。因为遇

2016-12-04 20:30:15 1259

原创 自定义组合控件之省市区三级联动选择

自定义组合控件之省市区三级联动选择需求一般的购物网站都会有收件地址的填写,为了让用户快速输入自己想要的地址,将全国省市区地址预定好,用户只要动动手指选择就可以。做这个组合控件之前,是由于项目的需要,就是做地址管理的模块,当时想模仿京东商城的实现,但时间和水平有限,所以将就的做了如下实现。先罗列当时开发前后的设计思路设计思路地址管理模块功能:

2016-12-02 21:12:52 3351

原创 Spinner的简单使用

Spinner的简单使用本文简单介绍Spinner控件的使用动笔之前先唠叨一下,最近找工作不顺,可能受到大环境的影响,不过感觉andriod的市场确实比较饱和了,根据鄙人浅显的认识,感觉目前的andriod应用已经达到了一个平衡状态,想想android的目前主要的应用方向有哪些,鄙人暂时想到的方向如下:1.电商应用:这个会涉及到几个岗位,大概是美工,android工程师,后

2016-11-22 20:14:26 29270 2

原创 android手机信号强度检测

android手机信号强度检测最近在面试的时候被问到一个问题,当手机处于弱网状态下,如何处理,如何监听网络信号强度变化。这里先了解关于手机信号强度的相关几个概念文章出处:http://blog.csdn.net/fuchengbo000/article/details/42740357Android手机信号强度介绍android定义了2种信号单位:d

2016-11-17 13:07:20 18497 4

原创 CardView的简单使用

CardView的简单使用cardView是android 5.0新特性中提供的一个新控件,通过源码可以看到cardView是继承字FrameLayout,属于容器,说以在使用的时候是用来包裹子控件的。下面介绍一下简单的使用方法,可以给子控件添加圆角,阴影给子控件添加圆角效果先来给一张美女图片添加圆角效果布局文件如下:<android.support.v

2016-11-16 15:26:00 354

原创 JAVA中的深克隆和浅克隆

java中的深克隆和浅克隆上次说要解析okhttp的源码后部分,说来也惭愧,最近找工作也就没多少时间去整理了。其实底层封装了http协议,再往下就是Socket的封装了,再往下就是TCP/IP协议了。对于数据的传输,归根结底还是跟文件输入输出流那样,通过二进制流的形式进行通信,只是不同的层次做了不同的封装。有空再做分析了。面试过程也会需要准备一些基础知识,有些可能是常见的基础,有些

2016-11-14 01:18:34 320

原创 OKHttp源码分析(一)

OKHttp源码分析(一)首先来看okhttp的使用,使用有两种方法,即同步请求和异步回调,先来看异步回调的使用方式//创建Okhttp客户端对象OkHttpClient okHttpClient = new OkHttpClient();//[1]//创建请求对象Request request = new Request.Builder()//[2] .

2016-10-23 19:35:49 377

原创 okhttp3的使用

本文主要讲解okhttp的使用方法,包括get请求,post请求,文件上传下载。首先要知道,如果我们不设置缓存,okhttp默认是没有做数据缓存的,需要自己手动添加缓存1.简单的get请求,异步请求(即直接在主线程发起的请求,okhttp内部实际是开启了子线程处理网络请求,但是回调方法还是在子线程,需要手动切换到主线程更新UI)//创建okhttp客户端对象

2016-10-23 16:25:02 4483

原创 线程池的使用和分析

首先,既然可以直接创建线程,为什么要用线程池,其实一个方案的出现,要么为了增加功能,要么为了解决一些缺陷,而线程池就是为了优化系统性能而出现,由于线程的生命周期中包括创建、就绪、运行、阻塞、销毁阶段,当我们待处理的任务数目较小时,我们可以自己创建几个线程来处理相应的任务,但当有大量的任务时,由于创建、销毁线程需要很大的开销,运用线程池这些问题就大大的缓解了。但是使用线程池时需要注意,要根据任务

2016-10-22 17:09:12 3439 1

原创 第三方单点登录(SSO——Single Sign On)

集成第三方登录大概的思路都差不多,只要拿到集成文档,照着做就可以,下面用一张图来概括一下QQ单点登录的集成

2016-10-21 10:21:30 4673

原创 handler底层原

参考文章:http://blog.csdn.net/woshiwxw765/article/details/38146185?locationNum=10关键相关的类,Handler,Message,MessageQueue,LooperHandler:用来发送消息,处理消息Message:消息实体对象,handler通过sendMsg将实体放到消息队列里面 ,感觉

2016-10-21 10:11:48 289

原创 Android中事件传递测试

事件传递的三个方法dispatchTouchEvent-->onInterceptTouchEvent-->onTouchEvent总的来说,事件传递总是父容器先收到事件,然后分发给子容器,如果父容器是依附在activity里,则activity是没有onInterceptTouchEvent()方法的,对于ViewGroup,三个方法都有对于View,

2016-10-21 10:08:38 430

原创 Aandroid中https请求的单向认证和双向认证

一、HTTPS 单向认证1. 给服务器生成密钥keytool -genkeypair -alias skxy -keyalg RSA -validity 3650 -keypass 123456 -storepass 123456 -keystore skxy.keystore2. 给Tomcat服务器配置Httpstomcat/config/server.xml修

2016-10-21 09:49:31 16918 5

原创 FragmentManager的使用注意事项

在给ViewPager绑定FragmentPagerAdapter时,new FragmentPagerAdapter(fragmentManager)的FragmentManager,一定要保证正确,如果ViewPager是Activity内的控件,则传递getSupportFragmentManager(),否则会出现一些意想不到的问题,比如加载不到数据,fragment中的viewpager

2016-10-21 09:18:42 907

原创 发送和接收无序广播

发送广播:1.在需要发送的地方设置意图动作,发送广播 Intent intent = new Intent(); intent.putExtra("data", "这是一条新的消息"); intent.setAction("com.skxy.unorder.MainActivity.FM"); sendBroadcast(intent);//发送广播,不需要在清单文件注册

2016-10-21 09:06:19 1941

原创 i++与++i的区别

今天看到网上有个提问,现在和大家分享一下网上的理解.class Demo {public static void main(String [] args){int i=0;for(int j=0;j    i=i++;  }System.out.println("i="+i);}}一开始我也以为最终结果为i=100,实际的结果是i=0.为什么会出现这

2016-03-30 16:23:16 408

原创 阶乘之和

/*1.打印输出n的阶乘,如n!=1*2*3*4*....*n思路:1,遍历1到n的所有整数2,用sum1记录阶乘的和2,打印输出n之前(包括n)所有整数的阶乘之和,如1!+2!+3!+....+n!思路:1,遍历1到n的所有整数2,用sum1记录每一次阶乘的和3,用sum记录所有整数阶乘的和*/import java.util.

2016-03-30 16:20:13 462

原创 int与Integer类型关系

/*测试Integer与int类型的关系*/public class TestInteger{public static void main(String[] args){/*Integer i01 = 59;int i02 = 59;Integer i03 =Integer.valueOf(59);Integer i04 = new Integer(59);

2016-03-30 16:19:27 469

原创 =与==

/*测试if()中=与==语句的作用域首先=和==跟作用域没有关系,你这两段代码分别输出的是b和c,这使你误认为是=和==的作用域差异导致,第一段代码b==false是比较,b初始化为true,所以判断结果为false,只能执行else if(b)的代码,结果为true所以输出b;第二段代码,将false赋值给b,此时b就是false,当然就不能执行第一条语句,往下执行到e

2016-03-30 16:18:34 304

原创 字符串数组元素提取比较

/*需求:求出1-1000以内的所有数字中  数字9一共出现了多少次?         只要9出现了就算一次   999就算出现了三次         思路1:土办法1,遍历到1000;2,将遍历到的数取出百位,十位,个位,并判断是否为9,如果为9,则计数器加1;思路2:使用字符串转换的方法1,遍历1到1000;将得到的整数转换成字符串类型2,遍

2016-03-30 16:17:21 1483

原创 静态代码块

/*静态代码块:静态代码块的特点:随着类的加载而执行,只执行一次,并优先于主函数执行。静态代码块的作用:一般用于给类进行初始化。静态代码块中执行语句不需要返回值。*/class B{static{System.out.println("in class B!");}}public class StaticTest{//优先于m

2016-03-30 16:16:28 253

原创 指定数组中的数据比大小

/*比大小:需求:1.要求定义A-K  13张牌 分别代表 1-13点分数[A,2,3,4,5,6,7,8,8,10,J,Q,K]  2.本人和电脑 每人随机分三张牌显示在控制台 要求纯随机3.然后比较你和电脑三张牌的点数之和的大小,分出谁是赢家,并赢了多少点,输了多少点或打平思路:1,定义两个字符串数组,分别存储个人和电脑随机分到的三张牌2,使用for()

2016-03-30 16:15:24 2203

原创 继承应用

/*题目:请用java中面向对象的思想用代码描述如下内容:小红(女)有爸爸和妈妈,爸爸和妈妈分别有自己的爸爸和妈妈。。。,小红的爸爸会做工作A和B,小红的妈妈会做工作C和D。 要求:将上面的情景用Java类来描述,要求自己抽象出接口和对象。*///定义接口interface Inf{public void getInf();}class Person imp

2016-03-30 16:14:26 280

原创 求最大公约数和最小公倍数

/*题目:输入两个正整数m和n,求其最大公约数和最小公倍数。思路:1,先比较两个数的大小,取出最小的数作为除数最大值min  在遍历1到x之间满足能够同时被n,m整出的最大整数,即为最大公约数2,两个数乘积作为公倍数的最大值max,遍历1到到max,满足同时除以n和m的最小整数即为最小公倍数。*/import java.util.Scanner;public

2016-03-30 16:10:06 317

sun官方java教程中文版.pdf

sun官方java教程中文版,比较简洁的java教程

2013-07-13

空空如也

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

TA关注的人

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