- 博客(55)
- 资源 (21)
- 收藏
- 关注
原创 RxAndroid学习笔记<一>
一,什么是Rx1.Rx的基本介绍:Rx是响应式编程的意思,本质是观察者模式,是以观察者(Observer)和订阅者(Subscriber)为基础的异步响应方式。(1)缩写:ReactiveX时Reactive Extensions的缩写,一般简写为Rx(2)定义:Rx = Observables + LINQ + Schedulers. LINQ---语言集成查询(3)
2017-06-20 20:21:19
745
原创 Picasso简介<一>
一,简介:1简意:picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io.picasso/2.优点:可以实现图片下载和缓存功能在实际开发中异步图片加载时需考虑:(1)在adapter中需要取消已经不在视野范围的ImageView图片资源的加载,否则会导致图片错位,Picasso已经解决了这个问题(2)复杂的图片进行
2017-06-08 15:07:38
4792
原创 Kotlin学习笔记2 : 变量常量与基本数据类型
一:继承与类与方法定义:(1)继承用一个英文冒号: extends---> :默认的类是不可以被继承的,只能继承声明为open或者abstract的类open class Person (name: String , surname: String) {}(2)创建类用class:如 class A{},还可以带参数,也可以写方法体:open class Person (
2017-05-28 16:18:05
684
原创 kotlin学习笔记之环境配置
一,简意:kotlin是JetBrains开发的基于JVM的语言,它是使用Java开发者的思维被创建的,Intellij作为它主要的开发IDE二,优点:(1)易学习易掌握:kotlin语言容易学习与掌握(2)kotlin与我们日常生活使用的IDE无需配置就能完全整合(3)更易表现(4)更安全(如null)(5)它可以扩展函数,函数式(lambda)支持(6)互操作:
2017-05-26 22:46:43
4843
原创 消息通知之Notification与PendingIntent<一>
Notification-----状态栏信息通知一.简意:(1)消息通知:当某些应用有消息时,在手机最上方的状态栏会有一条通知二,基本用法:(1)获取服务:通过getSystemService来获取NotificationManager服务NotificationManager manager = (NotificationManager)getSystemService(Co
2017-05-01 21:53:01
5005
原创 数据存储之SQLite与LitePal<一>
SQLite一.简意:(1)SQLite:是一款轻量级关系数据库,占用资源少,运行速度快(2)适用于大量复杂关系数据(file,sp此时不太适合)二,用法:(1)创建一个类 继承SQLiteOpenHelper,重写onCreate()和onUpgrade()方法onCreate()方法:创建表onUpgrade():版本更新如下:public class My
2017-04-28 18:56:47
4008
原创 SharedPreferences和File<一>
一,SharedPreferences:(1)简称:SP存储(2)位置:用它时,将会默认在data/data/包名/下创建一个名字为:shared_prefs的文件夹, 然后再在shared_prefs目录下创建你命名的文件.(3)创建步骤:获取上下文的SharedPreferences对象调用刚刚获取的SharedPreferences对象的editor()方法,返回
2017-04-28 18:55:57
684
原创 学习笔记之-----OkHttp之使用与简单封装
一.OKHttp的简单使用:1.简意:OKHttp是一个高效的Http库2.优点:(1)支持SPDY,共享同一个Socket来处理同一个服务器的所有请求(2)如果SPDY不可用,则通过连接池来减少请求延时(3)无缝的支持GZIP来减少数据流量(4)缓存响应数据来减少重复的网络请求3.支持情况:(1)一般的get请求(2)一般的post请求(3)基于Http的
2017-03-09 00:34:26
724
原创 IndexOutOfBoundsException: Inconsistency detected. Invalid item position
前言:不知道是不是我的as没更新还是更新出错啊,今天用RecyclerView时竟然会出现一个奇怪的bug问题:java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position…原因:据说是:RecyclerView 下拉刷新时,若绑定的 List 对象在更新数据之前进行了 clea
2017-03-08 19:55:41
9106
7
原创 学习笔记之----Adapter的封装(RecyclerView)
前言:因为RecyclerView在项目中要经常使用,故而为了方便而封装一,四步骤:1,数据要使用泛型2,数据绑定通过实现抽象方法来实现3,ViewHolder中的View成员变量转而通过view数组来实现4,基类里面提供常用的方法以,上一篇文章RecyclerView+MaterialRefreshLayout为例,上一篇链接:http://blog.csdn
2017-03-05 16:32:52
549
原创 下拉刷新上拉加载之MaterialRefreshLayout
一,简意:是一个下拉刷新控件,它同时也能上拉加载,使用较简单,支持api 11及上二,用法:与SwipeRefreshLayout基本一样,但比它更强大,更漂亮,也更容易使用三,引用具体步骤:1,在Gradle中引入依赖:compile 'com.cjj.materialrefeshlayout:library:1.3.0'2,在布局中直接使用,里面可以放置任意列表控件<com
2017-03-02 17:42:03
2880
原创 SwipeRefreshLayout(下拉刷新)与RecyclerView之简单使用<一>
一,简意:SwipeRefreshLayout是V4支持包中提供的一个新的控件,它可以实现下拉刷新的功能。但是缺点是没有实现上拉加载更多。但是网上有很多开发者对它进行加强,使得它可以实现上拉加载。二,用途:可以包裹一个任何可以滚动的内容(ListView GridView ScrollView RecyclerView),可以自动识别垂直滚动手势。使用起来非常方便三,方法:1.将需要下
2017-03-01 20:57:33
999
原创 win10之缺少一个或者多个协议(只能上qq不能上网)
前言:最近win10莫名出了一些故障,导致电脑能上qq,却打不开任一款浏览器的网页,,百度了一下,,试了好多方法,最后终于能解决了,写下点经验,以供有相同情况的人参考,谢谢!一,问题描述: 电脑:win10问题:能登录QQ,但不能上网打开ie浏览器:诊断一下问题,发现提示:缺少一个或者多个网络协议附注:若右下脚找不到wifi或者连接选项先右下角右击打开网
2016-11-24 13:54:26
19035
4
原创 网络编程之URL与Http<一>
URL:一,基本知识:(1)全称:Uniform Resource Locator ----- 统一资源定位器(2)组成:协议名,主机,端口和资源(protocol://host:port/resourceName如:http
2016-07-27 21:58:10
5437
原创 Android之广播与服务<一>
前言:作为四大组件成员--广播和服务,虽然在用户使用时它们通常是隐身的,但是好多地方都有它们的身影,如:发送短信,状态栏通知,夜间模式,后台音乐播放等等....One ----------- 广播:一,基本知识:(1)名字:BroadcastReceiver(2)作用:用于监听系统全局的广播消息,以便实现系统中不同组件之间的通信(3)经常用途:飞行模式,后台音乐播放(
2016-07-24 17:56:04
2041
原创 Intent 之系统Intent<一>
前言:Android中的Intent中主要有两种:即系统Intent和自定义Intent系统Intent:一,基本知识:(1)解释:意图,意图机制,是连接组件的管理者。(2)Intent对象的基本构成:如:在下雨天,我喜欢吃肉,特别是鸡肉Action:表达动作,可通过Intent.setAction()设置,如例句中的:谓语--吃常用的有: 常用于:Intent.A
2016-07-19 21:54:00
3351
原创 异步操作之handler+message<一>
例子(1):从网络上加载图片,然后显示出来:布局文件:activity_third:采用ScrollView布局,放置一个LinearLayout(里面放置3个ImageView,用于显示网上图片)<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width
2016-07-18 20:41:51
4459
原创 异步任务之AsyncTask实现<一>
前言:因为handler+message来实现异步操作相对复杂,故而如果只需简单异步操作的话,可用异步任务AsyncTask来实现一,基本知识:(1)源自:android.os.AsyncTask :三个参数Params --------启动任务执行的输入参数,比如HTTP请求的URL。Progress -----后台任务执行的百分比,。Result -------
2016-07-18 11:25:22
4643
原创 ViewFlipper与Gesture的使用<一>
一,ViewFlipper的基本知识:(1)用途:常用于多个组件之间的切换,如动画播放,手势滑动切换,等等(2)基本知识:继承自ViewAnimator,可调用addView(View v)添加多个组件(3)基本方法:flipper.startFlipping() ---- 开始自动播放动画 flipper.setInAnimation(上下文对象,动画布局)
2016-07-16 15:25:54
2256
原创 工厂方法模式VS简单工厂模式
转发请注明出处:http://blog.youkuaiyun.com/qq_28055429/article/details/51628921One----简单工厂模式:一,基本知识:(1)定义:简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。(2)理解:简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式...
2016-06-10 23:14:46
9493
2
原创 装饰者模式
一,概念:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰者模式比生成子类更为灵活二,英文名:Decorator三,理解: (1)装饰者模式利用SetComponent来对对象进行包装的,每个装饰者对象的实现和如何使用这个对象是分开的, (2) 每个装饰者对象只关心自己的功能,不关心如何被添加到对象链当中四,结构图:附加说明:Compo
2016-06-10 21:24:28
621
原创 浅谈代理模式--Proxy
一,代理模式的基础知识简写:Proxy解释:为其他对象提供一种代理以控制对这个对象的访问基本情况:在某些情况下,一些客户不能或者不想直接引用某个对象,就可以利用代理(中介)来实现二,组成部分:一般由3部分组成(1)抽象角色:通过接口或抽象声明真实角色实现的业务方法。(2)代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作
2016-06-09 17:28:43
839
原创 安卓之创建,读写文件,本地收藏,访问文件的权限和产品测试种类(方法)
一,测试:(1)盒子测试黑盒测试: 只关心程序执行的过程和结果白盒测试: 根据源代码写测试方法或者测试用例(2)根据测试的次数:冒烟测试: smoke test ------在android中,常用android猴子(monkey)压力测试:pressure test 测试抗压能力等(3)用android猴子测试来举例 --
2016-05-31 21:11:16
2301
原创 浅谈设计模式的六大原则
一,单一职责原则:就一个类而言,应该仅有一个引起它变化的原因(就是实现类要责任单一)英文--Single Responsibility Principle 简写:SRP举个例子: 父类:Animalpublic class Animal { void move(String animal){ System.out.println(animal + "是主要用脚来
2016-05-26 21:48:28
4510
原创 狐狸捉兔子,约瑟夫,猴子选大王,求剩余者42
•第一题:猴子选大王。题目:有M个猴子围成一圈,每个有一个编号,编号从1到M。打算从中选出一个大王。经过协商,决定选大王的规则如下:从第一个开始,每隔N个,数到的猴子出圈,最后剩下来的就是大王。要求:从键盘输入M,N,编程计算哪一个编号的猴子成为大王•第二题:设有N个人围成一圏,并且按照顺时针方向从1到N编号,由第S个人开始进行从1到M报数,报数到第M个人时,此人出圏,再从下一个人重新
2016-05-26 00:02:42
2088
原创 ListView之聊天界面的实现和ListView的动态改变布局
一,特点:两个布局界面二,方法:(1)返回第position个Item是什么类型的@Overridepublic int getItemViewType(int position){return type ;}(2)返回布局总数public int getViewTypeCount(){return number ;}三,见代码:(1)布局文件:
2016-05-24 20:37:49
5562
原创 安卓之文字,链接,图片,音乐,分享功能的实现
搞了好久,还是没搞好,没得到想要的效果,还是总结一下,以供和我一样的新手参考:ONE: 相关知识一,Intent的相关属性:(1)Action: 指Intent将要完成的动作setAction:设置动作getAction:获取动作(2)Data: 指执行动作需要操作的数据,不同的Action有不同的Data如:在联系人数据库中的一条联系人记录,表现形式为UriACT
2016-05-22 20:30:35
6394
原创 android音乐播放器之在线播放功能的实现
前言:由于最近在做一个音乐播放器,需实现在线播放功能的实现,故而找了一些资料,看了别人的一些博客,现在终于可以实现了需求:根据用户输入歌曲名+歌手名返回:从百度音乐api查询,若有该曲则播放该曲,若无这里没做异常处理一,前提解说:(1)百度音乐api提供一个接口地址:http://box.zhangmen.baidu.com/x?op=12&count=1&titl
2016-05-05 23:55:31
8095
5
转载 Android--WindowManager.LayoutParams(下)
本文参照自:http://developer.android.com/reference/android/view/WindowManager.LayoutParams.htmlBRIGHTNESS系列该系列主要用于设置window的brightness(screenBrightness/buttonBrightness)。我们可以通过WindowManager.LayoutPar
2016-04-22 23:14:42
750
转载 Android--WindowManager.LayoutParams(上)
本文参照自:http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html和http://blog.sina.com.cn/s/blog_4b3c1f950100qd9s.htmlpublic static classWindowManager.LayoutPar
2016-04-22 23:13:39
527
原创 Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled
Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled解决办法:在android studio(1)设置---->Build,Exception,Deployment------->Debugger----->Instant Run把第一项Ena
2016-04-20 21:27:14
1529
原创 unable to locate adb
androidstudio IllegalArgumentException: Unable to locate adb(1)原因:sdk Manager下确实platform-tools注意不能再android studio里面打开Android SDK Platform-tools,因为它会显示存在应该在安装的sdk manager打开,如图打钩android sd
2016-04-20 21:23:09
27796
1
原创 对话框<二>
使用AlertDialog创建对话框(1)创建AlertDialog.Builder对象(2)调用AlertDialog.Builder的setTitle()或setCustomTitle()设置标题,setIcon设置图片(3)调用AlertDialog.Builder的相关方法设置对话框内容setMessage():简单文本内容setItems():简单列表项setSi
2016-04-17 22:08:52
544
原创 java之继承,封装,多肽
一,封装理解:把对象的属性和操作(或服务)结合为一个独立的整体,并尽可能的隐藏对象内部实现细节例如:我们写一个简单的输入两个数和一个操作符(+,-,*,/)的的运算,可以把具体操作和属性封装成一个类如:主类:package operation;import java.util.Scanner;public class Program { public st
2016-04-16 21:42:39
3809
原创 自定义View<二>
一,View的测量:onMeasure()方法(1)测量模式:有三种,分别是EXACTLY, AT_MOST, UNSPECIFIED EXACTLY: 精确值模式,当我们需要把控件的layout_width或者layout_height指定为具体数值或者为match_parent时就用它AT_MOST: 最大值模式,当,,,指定为wrap_content时用它,(到最后
2016-04-13 23:14:00
527
原创 android之对话框<一>
一,调用系统给的对话框如下是一个简单的提示是否退出的对话框(1)生成AlertDialog.Buidler对象,并传入默认AlertDialog.Builder builder = new AlartDialog.Builder(DialogAlertDialog.this);(2)设置积极按钮builder.setMessage("你确定退出吗?").setPositiveB
2016-04-12 21:54:58
499
原创 java之重载和重写<一>
一,重载:基本要求:在一个类中,函数名相同,参数列表不同二,复写(Override):又叫重写或者覆盖,它要求满足以下两个条件:(1)在具有父子关系的两个类当中(2)父类和子类各有一个函数,这两个函数的定义(返回值类型,函数名,参数列表)完全相同;附注:另有说法,说是返回类型必须和被重写函数的返回类型相同或是返回类型的子类型。三,举例:(1)重载: class Pe
2016-04-12 13:28:22
484
原创 自定义View(一)
一,自定义View的基本步骤:(1)定义一个类,继承View(2)复习View的onDraw()函数(3)在onDraw()当中使用Canvas和Paint对象绘制图形注意:全部完成后,需要在主类中去掉setContentView(R.layout.main_avtivity);代码改为:用View作为参数,即:假如我们刚刚自定义的类为MyView,MyView myV
2016-04-11 21:27:18
496
原创 adb shell error: unknown host service
当用命令行运行时:输入:adb shell输出:error: unknown host service原因:某个进程正在占用你的5037端口解决办法:(1)输入netstat -ano|findstr "5037"查看哪个端口正在占用,如我的: TCP 127.0.0.1:57185 127.0.0.1:5037 ESTABLISH
2016-04-06 19:21:17
810
原创 在32位电脑系统上装64位系统
适用者:没有u盘,没有光盘,只有电脑,目前操作系统是32位,想装64位的系统:前言:由于电脑卡的要死,我选择了重装系统,一不小心装了32位的,想换回64位,发现64位可以装32位,32位装不了64位,百度了,尝试了几次,终于成功换回64位,在此分享:一,下载:64位映像,如我的是64位windows10(放在非c盘,因为我要重装在c盘)工具:nt6 hdd inst
2016-04-06 11:29:32
1787
反编译apk相关包
2016-09-05
BroadcastReceiver与Service的例子
2016-07-24
系统intent的使用例子
2016-07-19
GridView+异步请求图片 ,ListView+异步请求图片
2016-07-17
简单在线播放音乐功能的实现
2016-05-06
nt6 hdd v2.6
2016-04-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人