自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 一款仿网易云音乐的App

GitHubGitHub这是我参加一个比赛的App,下面是设计的文档.一.选题背景:1.1选题背景:听音乐是一种很好的娱乐方式,但是自己喜欢的,好听的歌曲总是要去发掘,但是我们并没有那个时间和精力去一首首的听.如果聚集大家的力量的话会不会更好?每个人把自己认为好的歌曲分享出来,可能我们就会发现自己一直在等待的音乐…1.2项目意义:帮助爱好音乐的人,找到属于他(她)的音乐...

2018-04-06 10:36:45 6535

原创 Glide使用

Glide是一个Android的图片加载和缓存库,它主要专注于大量图片的流畅加载,Glide几乎可以胜任任何你需要使用到的图片从网络拉取,压缩,显示的场景. 基本用法:Glide.with(MainActivity.this).load(url).into(mImageView);apply 这里边有一个apply方法,用于一些对图片的个人定制,它传入的是RequestOptions,比如说我们

2017-08-13 11:50:05 702

原创 Retrofit2使用

构建步骤: 1.创建实例 2.写接口 3.获取call 4.获得响应 //写好接口,不能忘 public interface BlogService { @GET("blog/{id}") //这里的{id} 表示是一个变量 Call<ResponseBody> getBlog(/** 这里的id表示的是上面的{id} */@Path("id")

2017-07-23 11:04:42 408

原创 okhttp3使用

以下是我对okhttp使用的一些总结:同步Get请求private final OkHttpClient client = new OkHttpClient();public void run() throws Exception { Request request = new Request.Builder() .url("http://publicobject.com/h

2017-07-21 19:59:51 331

原创 安卓之路----日记一

昨天不知怎么的,突然想去实习,可能是因为觉得自己自学的提升太慢了.为此我跟学长说,我要去实习,我不想考研了,考研并不能解决我现在的问题,我应该去实习,以此来提升自己.学长也觉得是,为此我就开始咨询起来,安卓的待遇啊,上升的空间的,发展的前景啊等等.又在另一位学长的鼓舞下,我踌躇满志.可是现实往往并不能如愿.学长告诉我,南京的安卓工作不好找啊,大部分都是外包,外包是不培养人的.我说那怎办.......

2017-06-22 13:14:45 264

原创 策略模式

定义: 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们可以相互替换.策略模式让它的算法独立于使用它的用户而独立变化. 使用场景: 1.针对同一问题的多种处理方式,仅仅是具体行为有差别 2.需要安全地封装多种同一类型的操作时. 3.出现同一抽象有多个子类,而又需要if-else来选择子类时. 例子: 下面用计算交通工具的费用来演示它.public interface Ca

2017-06-19 10:28:19 155

原创 模板方法模式

定义: 定义一个操作中的算法中的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤.使用场景: 1.多个子类有公有的方法,并且逻辑相同时. 2.重复,复杂的算法,可以吧核心的算法设计成模板方法,周边的相关细节由子类实现. 3.重构时,把相同方法抽取到父类中.代码例子:public abstract class BaseClass{ prot

2017-06-17 22:12:07 130

原创 progressBar和ProgressDialog使用

一.在xml中设置的时候注意这几个值就可以了style="@android:style/Widget.ProgressBar.Horizontal" // style可以设定它显示的方式,这里的水平的显示,其他的可以自己试一下.android:indeterminate="true"//设置了当前为无模式进度条二.在代码中有两个设定要注意progressBar.setProgress();//设置进

2017-06-17 21:30:13 464

原创 SeekBar使用

像其他的控件一样在xml文件中先创建好.然后在界面中调用它.在调用它的时候不要忘记给它设定初值和最大值mSeekBar.setProgress(0); mSeekBar.setMax(max);然后在调用mSeekBar.setProgress(progress);方法给它设定值,因为seekbar要实时改变值,所以你最好把它放在一个线程里对它进行随时的设值.mSeekBar.setOnSee

2017-06-17 20:54:14 304

原创 Picasso源码解析

我一般看源码都是从它的使用入手,从它的使用来遍历它的执行过程.Picasso的使用只需一行代码,所以从这行代码开始. 这行代码就不用我写了吧.反正肯定要进入load方法.进入load方法一看,还要进入RequestCreator 类. RequestCreator类如下: 从这个变量Request.Builder data和它的一系列方法可以看出,这个类是对图片设置一些个人的请求,而这些请求被

2017-06-01 22:51:05 164

原创 universal-image-loader源码解析

一.执行流程: 首先我们是配置好configuration和displayOptions,然后进入到displayImage方法里来. 1.检查缓存里是否有图片 2.没有的话,将传进来的参数与option一起包装成ImageloadingInfo类 3.传入LoadAndDisplayImage里通过Engine类进行加载执行. 5.在LoadAndDisplayImage类里的trylo

2017-05-21 20:41:24 246

原创 Builder模式

Builder模式是一步一步创建一个复杂的对象的创建型模式.它将对象的构建与表示分离.public class Person{ private int age; private String name; private Person(Builder builder){ age = builder.age; name = build.name;

2017-05-21 11:40:52 214 1

原创 AsyncTask使用总结

官方文档上的: AsyncTask enables proper and easy use of the UI thread. This class allows you to perform background operations and publish results on the UI thread without having to manipulate threads and/or

2017-05-21 11:14:08 211

原创 Handler使用总结

大家都知道,在UI线程里是给你进行耗时操作的,但是我们要更新UI怎么办,所以一对好基友就出现了,Handler+thread.放代码了.public class MainActivity extends AppCompatActivity { private TextView textView; @Override protected void onCreate(Bundle

2017-05-21 11:01:07 215

原创 Service使用总结

Service,顾名思义就是服务的意思,就是要隐藏在UI后面悄悄搞事情的东西,而且还耗时,不过脸皮厚,一般不会被系统杀死.接下来我总结一下它的用法:一.start启动  public class MainActivity extends AppCompatActivity { private boolean mbound; private IAidl cat; @

2017-05-20 22:43:20 212

原创 BroadCastReceiver使用总结

广播有两种注册方式,废话不多说,上代码:动态:发送者public class MainActivity extends AppCompatActivity { MyReceiver1 myReceiver1 = new MyReceiver1(); @Override protected void onCreate(Bundle savedInstanceS

2017-05-20 22:00:19 233

原创 Java代码性能优化总结

1.尽量使用指定类,方法的final修饰符   带有final修饰符的类是不可派生的.如果指定一个类是final,则该类所有方法都是final的,Java编译器会寻找机会内联所有的final方法,此举能使性能平均提高50%.2.尽量重用对象.   特别是String对象,出现字符串连接时应使用StirngBuilder/StringBuffer.3.尽可能使用局部变量   应为

2017-05-19 22:21:33 189

原创 intent使用总结

intent主要用来进行组件之间的相互启动,当然它也可以启动系统自带的程序.一.Intent类的Java源代码中定义了Intent相关内容的变量,如下:1.componentName(组件名称),指定Intent的目标组件的类名称。组件名称是可选的,如果填写,Intent对象会发送给指定组件名称的组件,否则也可以通过其他Intent信息定位到适合的组件。组件名称是个Compon

2017-05-18 11:11:11 285

原创 工厂设计模式

今天我们来感受一下工厂方法模式,创建型设计模式之一.通过子类来决定实例化哪个类,在任何需要生成复杂对象的地方,都可以使用.public abstract class Product{    public abstract void method();}public class ConcreteProduct1 extends Product{    @overrid

2017-05-18 10:35:39 140

原创 单列模式

近乎完美的单列模式哦

2017-05-17 23:00:12 163

原创 Notification使用总结(基本使用)

Notification使用,不过只是基本使用.

2017-05-17 21:34:04 340

原创 fragment个人使用总结

以下做一些我在使用fragment的时候的总结:一.两种添加方法:  1.静态加载:就像一般控件在xml文件中使用的方法一样,给它配置一下属性,然后肯定有不一样的地方啦:继承fragment,在它的setContentView方法里决定他的布局,然后...就没有然后了.(就像用activity一样,虽然它跟activity不一样)  2.动态加载:说的很不方便,放伪代码吧(看注释)这里

2017-05-16 20:28:40 225

原创 RecyclerView用法总结

我个人觉得使用RecycleView更加方便,主要是我喜欢它的低耦合,随你配置,还有就是它里边帮你自动生成ViewHodler,这就很开心了.以下只是伪代码:一,adapter配置public class RecyclerAdapter extends RecyclerView.Adapter private static final int TYPE_HEA

2017-05-15 16:25:32 239

原创 Android studio配置

在这里我就个人在配置的时候出现的问题做一个总结:如果你想使用最新的sdk的话可以这样配置:     1.gradle-3.3-all.zip   将这个文件加到gradle-wrapper.properties目录  2. 加上这句 在build.gradle目录下 classpath 'com.android.tools.build:gradle:2.3.0'     3

2017-05-15 08:05:42 248

空空如也

空空如也

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

TA关注的人

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