- 博客(61)
- 资源 (5)
- 收藏
- 关注
原创 设计模式记录
Android 23种设计模式1、Android 单例模式2、Android Builder模式3、Android 原形模式(深浅拷贝)4、Android 工厂模式5、Android 策略模式6、Android 状态模式7、Android 责任链模式8、Android 命令模式9、Android 观察者模式10、Android 备忘录模式11、Android 迭代器模式12、Android 模板方法模式13、Android 访问者模式14、Android 中介者模式15、An
2022-03-10 15:43:14
2021
原创 android 图文音频视频新闻稿件样式设定
使用webview显示新闻图文,音频视频,稿件。1 ,先展示css和js配置文件webview的css配置文件@font-face { font-family: Impact; src: url(file:///android_asset/font/FZYANS_JW.ttf);}*{ margin: 0, 8px, 8px, 0; padding:...
2019-07-31 20:28:35
414
原创 BaseRecyclerViewAdapterHelper
1 和databing的联合使用/** * 作者:水东流 编于 2019/3/20 * 协助adapter中使用databing */public class MyBaseViewHolder extends BaseViewHolder { public MyBaseViewHolder(View view) { super(view); }}...
2019-03-20 10:33:47
1001
2
原创 inflater.inflate 三个方法区别
对于方法public View inflate(@LayoutRes int resource, @Nullable ViewGroup root, boolean attachToRoot)1.1 root不为null,attachToRoot为true当root不为null,attachToRoot为true时,表示将resource指定的布局添加到root中,添加的过程中...
2019-02-27 18:13:07
1097
原创 mvvm开发模式
MVVM 模式将 Presenter 改名为 ViewModel,基本上与 MVP 模式完全一致。唯一的区别是,它采用双向绑定(data-binding):View的变动,自动反映在 ViewModel,反之亦然。Angular 和 Ember 都采用这种模式。说明一下各层的作用1.View层就是展示数据的,以及接收到用户的操作传递给viewModel层,通过dataBinding实现数...
2019-02-25 18:23:18
543
原创 网络框架之Retrofit + RxJava + OkHttp
Retrofit + RxJava 是一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库,让异步操作变得非常简单。而OkHttp 的话是一款网络请求的框架,已经得到goole的认可。Retrofit 使用接口的方式,负责请求的数据和请求的结果,OkHttp 负责请求的过程,RxJava 负责异步,各种线程之间的切换retrofit 的引入compil...
2019-02-25 09:36:17
278
原创 get 和post请求的区别
最直观的区别就是GET把参数包含在url中,而post通过request body 传递参数 1 get 在浏览器web回退时是不残留的,而post会再次提交请求。2 get产生的url地址可以被bookmark(作为书签),post不可3 get会被浏览器主动cache ,而post不会4 get只能进行url编码,post支持多种编码方式5 get请求会被完整保存在浏览...
2019-02-18 17:54:01
233
原创 Flowable
1 什么是flowable flowable 是一个java编写的轻量级业务流程引擎。2 当发送数据的速度明显快于接受数据处理数据的速度时,可能产生背压式的内存溢出。flowable 可以解决这一背压问题。public void demo2() { Flowable .create(new FlowableOnSubscri...
2019-02-18 16:52:24
2068
原创 android 的特色符
用Android的string.xml中使用Unicode表示符号的话,就使用下面的js相关的Unicode值即可如 <string name="music">\u265A</string> <string name="crown">\u266B</string> <string name="left_
2018-09-10 17:40:48
411
原创 notification 通知栏 及BroadcastReceiver 的使用
创建通知栏 /** * 初始化通知栏 */ private NotificationManager notificationManager; static String PALYER_TAG; public Notification notification; private void initNotification() { ...
2018-08-23 17:55:13
1828
原创 Service 的两种启动方式,以及在音乐播放中的使用
首先,简要介绍一下service service就是android系统中的服务,它有这么几个特点:它无法与用户直接进行交互、它必须由用户或者其他程序显式的启动、它的优先级比较高, 它比处于前台的应用优先级低,但是比后台的其他应用优先级高,这就决定了当系统因为缺少内存而销毁某些没被利用的资源时,它被销毁的概率很小。 bindService是绑定Service服务,执行service...
2018-08-15 09:32:27
3329
3
原创 SpannableString 属性
private SpannableString msp;//创建一个 SpannableString对象 msp = new SpannableString("字体测试字体大小一半两倍前景色背景色正常粗体斜体粗斜体下划线删除线x1x2电话邮件网站短信彩信地图X轴综合/bot"); //设置字体(default,default-bold,monospace,serif,s...
2018-07-11 17:30:04
249
原创 RecyclerView 多列显示时,如何优雅的添加head
正常recyclerView 添加header,不在多说,只需要在区分getItemViewType方法的时候,添加if (mHeaderView == null && mFooterView == null) return TYPE_NORMAL;if (position == 0) return TYPE_HEADER;if (position >= list.siz...
2018-07-10 19:47:10
1668
原创 viewpager 中多页fragment的点击覆盖冲突问题
viewpager 为了更好的用户体验,比如一共有5个fragment的时候,当前显示第1个fragment时,其实第二个fragment也已经加载为可见了,这就造成,当第一个fragment中的一个坐标为100,100,的view有点击事件,,,,第二个fragment也有相同坐标为100,100的view也有点击事件时。。 此时就可能出现,点击第一个fragment或者第二个fragment其...
2018-03-19 19:47:41
1147
原创 android 屏幕的放大缩小实现
ios中UIScrollView能很好的实现放大缩小功能,在anroid这里,scrollview并不能很好的支持放大缩小,而对于简单的图片放大,缩小,android可以使用ZoomControls控件来实现一些简单图片放大缩小,移动,,,,当然,直接使用webview来加载图片也是能很好实现图片放大缩小功能的。 ...
2018-02-26 18:00:59
9337
原创 融云的集成
按照文档,导入imkit 和imlib后,在Application中初始化RongIM.init(this);会出现空指针或者,classnotfind的错误,主要原因是,融云的kit库中的v4包版本问题1 compile 'com.android.support:support-v4:26.0.2'如上,将融云kit库的v4版本修改为以上版本,同时,将v7的版本也改为
2018-02-01 16:41:25
301
原创 android studio的一些进阶功能
一Android Studio利用Gradle删除没有使用到的资源和代码文件 作者:周有希链接:https://www.zhihu.com/question/38110092/answer/155843061来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。在Anaylze中选择Run Inspection by Name...
2018-01-31 16:54:21
429
原创 新版支付宝支付
1导入开发资源.将alipaySdk-xxxxxxxx.jar包放入商户应用工程的libs目录下,如下图。2.进入商户应用工程的“Project Structure”,在app module下选择“File dependency”,将libs目录下的alipaySDK-xxxxxxxx.jar导入,如下图。或者在app modul
2017-09-21 16:28:01
838
原创 GreenDao3.0 完整版(零了解使用)
官网 http://greenrobot.org/greendao/documentation/how-to-get-started/一,在build.gradle中进行配置:2.添加依赖(greendao 3.0及以上)在app的build中[html] view plain copydependencies {
2017-07-25 21:50:55
462
原创 Error:Connection timed out: connect. If you are behind an HTTP proxy, please configure the proxy set
1、settings->Build,Execution,Deployment->Build Tools->Gradle->Use local gradle distribution->Gradle home 指定gradle为本地已下载的gradle 如gradle-2.2.22、修改工程根目录下的build.gradle 中的 classpath 为 指定gradle版本以支持 上述
2017-07-24 12:52:53
280
转载 greendao:3.2.0使用
http://blog.youkuaiyun.com/scorpio_gao/article/details/53048699
2017-07-23 23:10:31
234
原创 星级评论简单实现ratingbar
ratingbar1 isIndicator 设置该星级评分条是否允许用户改变(true为不允许改变)2 numStars 设置该星级评分条总共有多少个星级3 rating 设置该星级评论条默认的星级4 stepsize 设置每次最少改变多少个星级
2017-06-20 11:56:55
347
原创 QuickContactBadge实现关联手机联系人
在项目中,我们有时需要通过点击图片,来关联调出此人的联系方式及个人资料,这个功能很简单易实现,不过我们的android的QuickContactBadge能够更加快捷的实现 为了让QuickContactBadge关联到指定联系人, 可调用asssignContactFromEmail,将图片关联到指定email地址的联系人。 assignContactFromPho
2017-06-20 10:30:34
491
原创 jimu Mirror的使用(android快速手机预览xml界面)
1 android studio 1.5以上版本的玩家可直接在安装插件成功后。。2 jimu Mirror 安装成功后重启,点击如图app旁边的mirror按钮,启动jimu 此时需要激活码,此处,给个链接使用说明将MirrorServerLib-2.5.9.jar复制到插件安装目录(C:\Users\用户名\.AndroidStudio2.2\confi
2017-03-21 13:54:37
2785
1
转载 android 数据库使用
http://blog.youkuaiyun.com/tangnengwu/article/details/26246007
2016-10-17 15:30:34
295
原创 Caused by: java.lang.OutOfMemoryError: Failed to allocate a 38428990 byte allocation with 23734224
关于内存溢出的问题,此间一个网络请求,返回json数据HttpURLConnection connection = (HttpURLConnection) httpUrl .openConnection();//设置参数 请求为get请求connection.setReadTimeout(5000);connection.setRequestMethod("GET"
2016-10-10 11:31:17
10907
原创 android 设置状态栏的颜色跟项目颜色一致
如图效果,顶部颜色跟项目颜色一致,,实现的方式就是1 @Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
2016-09-27 17:13:28
1197
转载 andoird doc等文件的在线预览二
一 PDF格式文件 展示: (1) https://github.com/JoanZapata/android-pdfview 此三方控件只支持项目assets目录下的pdf文件展示; (2) https://github.com/barteksc/AndroidPdfViewer 此三方控件支持手机本地文件,项目as
2016-08-29 14:27:21
1322
原创 利用listview实现简要的QQ聊天效果
1 先放出消息实体类,注意包含头像,内容,和类别(是接受的消息,还是发送的消息)/** * 作者:水东流 * 时间:2016/4/21 */public class ChatBean { private int type; private String text; private Bitmap icon; public int getType()
2016-04-21 15:42:40
843
原创 自定义导航控件
此自定义view给出了接口mListener,实现点击事件,同时可设置左右buton的显示隐藏,调用setButtonVisable,使用枚举区分左右1 在values目录下创建attrs.xml属性文件,定义自定义的控件属性xml version="1.0" encoding="utf-8"?> name="TopBar"> name="mt
2016-04-20 15:19:33
350
原创 自定义带闪动和多背景的textview
1 首先自定义一个多背景的textviewimport android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;import android.
2016-04-20 11:13:26
659
原创 java基础经典练习题
【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题public class lianxi01 {public static void main(String[] args) {System.out.println("第1个月的兔子对
2016-03-21 15:18:09
3240
原创 android布局大全
RelativeLayout第一类:属性值为true可falseandroid:layout_centerHrizontal 水平居中android:layout_centerVertical 垂直居中android:layout_centerInparent 相对于父元素完全居中android:layout_alignParent
2016-03-07 16:12:11
260
原创 textview中显示的文本无法对齐
name="fwrx"> \t\t\t\t\t\t\t\t\t\t总台:4100\n 翠月会场服务台:4288\n \t\t银杏园服务台:4600\n \t\t翠华楼服务台:4800\n \t\t得月楼服务台:4700\n \t\t金竹园服务台:4350\n
2016-01-19 10:22:39
1078
原创 android 常用方法汇总
/** * 判断当前网络是否连接 * * @param activity 上下文 * @return */ public static boolean isNetworkAvailable(Context activity) { Context context = activity.getApplicationContext
2016-01-06 11:22:11
505
转载 消息提示(右上角数字标识)
package com.scdl.zny.view;import android.content.Context;import android.content.res.Resources;import android.graphics.Color;import android.graphics.Typeface;import android.graphics.drawable.Shap
2015-12-17 16:28:01
1829
原创 android 实现静态图片文件的手势拉伸缩小
我的方式很简单,将图片放入assets中,然后通过webview来访问本地地址,webview本身自带放大,缩小手势,先附上webview的属性设置private void setWebView() { WebSettings webSettings = webView.getSettings(); webSettings.setUseWideViewPort(true
2015-12-07 21:10:46
916
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人