- 博客(44)
- 资源 (1)
- 问答 (1)
- 收藏
- 关注
原创 equals()方法和hashCode()的使用
1. 原生equals()方法的内容: public boolean equals(Object obj) { return (this == obj); } equals方法在其内部是调用了"==",所以说在不重写equals方法的情况下,equals方法是比较两个对象是否具有相同的引用,即是否指向了同一个内存地址。 而在业务系统中,有时候需要的并不是一种严格意义上的相等,而是业...
2019-10-14 16:26:32 214
原创 http和https协议详解_若雪似风_新浪博客
1. HTTP协议:全称是HyperText Transfer Protocol,中文意思是超文本传输协议,是一种发布和接收HTML页面的方法。服务器端口号是80端口。 2.HTTPS协议:是HTTP协议的加密版本,在HTTP下加入了SSL层。服务器端口号是443端口。 在浏览器中发送一个http请求的过程: 当用户在浏览器的地址栏中输入一个URL并按回车键之后,浏览器会向HTTP服务...
2019-04-08 14:58:27 290
原创 ContentProvider及Android数据存储_若雪似风_新浪博客
1.ContentProvider功能 作为四大组件之一,ContentProvider主要负责存储和共享数据。与文件存储、 SharedPreferences存储、SQLite数据库存储这几种数据存储方法不同的是,后者保存下的数据只能被该应用程序使用,而前者可以让不同应用程序之间进行数据共享,它还可以选择只对哪一部分数据进行共享,从而保证程序中的隐私数据不会有泄漏风险。 ...
2019-03-28 11:16:07 251
原创 BroadcastReceiver注册方式及类型特点_若雪似风_新浪博客
1.常见以下四种广播: 普通广播:一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻 接收到这条广播消息,因此它们接收的先后是随机的。 有序广播:一种同步执行的广播,在广播发出之后,同一时刻只会有一个广播接收器能够收到这 条广播消息,当这个广播接收器中的逻辑执行完毕后,广播才会继续传递,所以此时的广播接收 器是有先后顺序的,且优先...
2019-03-28 11:08:20 416
原创 Service生命周期和启动方式以及与Activity通信
1.Service生命周期 onCreate():服务第一次被创建时调用 onStartComand():服务启动时调用 onBind():服务被绑定时调用 onUnBind():服务被解绑时调用 onDestroy():服务停止时调用 2.两种启动方式 第一种,其他组件调用Context的 startService() 方法可以启动一个Service...
2019-03-28 10:49:19 385
原创 Fragment的生命周期和使用场景及与Activity的联系和异同_若雪似风_新浪博客
1.Fragment生命周期 onAttach()->onCreate()-> onCreateView()->onActivityCreated()->onStart()- >onResume()->onPause()->onStop()->onDestroyView()->onDes...
2019-03-28 10:41:35 807
原创 Activity的四种启动模式和用法场景及如何启动其他应用Activity_若雪似风_新浪博客
1.四种启动模式的特点: 1> standard标准模式:每次启动一个Activity就会创建一个新的实例 2> singleTop栈顶复用模式:如果新Activity已经位于任务栈的栈顶,就不会重新创建,并回调 onNewIntent(intent) 方法 3> singleTask栈内复用模式:只要该Activity在一个任务栈中存...
2019-03-28 10:28:07 277
原创 Activity与Fragment间通信_若雪似风_新浪博客
1. Handler方式 Handler 方式是了解了 Handler 的人最容易想到的,但是 Handler 不仅会增加各个模块之间的耦合性,而且只能单向通信,例如如果在 Activity 中实例化 Handler ,那么就只能由 Fragment 向 Activity 发送消息,而如果反过来 Activity 向 Fragment 发送消息则不易实现,既然不能双向,那么 Frag...
2019-03-28 10:20:22 206
原创 推荐一款封装的比较好用的轮播图框架XBanner_若雪似风_新浪博客
项目中实现的效果 Banner轮播图,左右有边距,四角圆弧,指示小图标自定义,无限滑动自动轮播。 主要功能: 1.支持一屏显示多个 2.支持根据服务端返回的数据动态设置广告条的总页数 3.支持大于等于1页时的无限循环自动轮播、手指按下暂停轮播、抬起手指开始轮播 4.支持自定义状态指示点位置 左 、中 、右 5.支持自定义状态指示点 6.支持监听 item 点击事件 7.支持设置图片...
2019-03-21 17:23:22 439
原创 DoraemonKit一款功能齐全的Android研发助手
开发背景 每一个稍微有点规模的 App,总会自带一些线下的测试功能代码,比如环境切换功能、帧率查看功能等等,这些功能的切换入口往往放在各式各样的入口中,比如一些特殊的手势,双击 statusBar,双击某一个功能区块,或者新建一个 keyWindow 始终至于 App 最上方等等,而且每一个 App 里面的线下附带功能模块很多是相似的,比如帧率查看、内存和 CPU 监控等等,但是现在基...
2019-03-21 17:04:15 804
原创 Android路由框架ARouter_若雪似风_新浪博客
最近项目中用到路由框架来进行页面间跳转以及接收通知点击跳转,Arouter支持解析标准URL进行跳转,并自动注入参数到目标页面中,并且支持添加多个拦截器,自定义拦截顺序。 1. 在moudle下build.gradle中添加依赖 2.在application的onCreate()中初始化 3.对将要跳转的页面进行注解配置,我首先进行了封装: 然后再具体的Activity/F...
2019-03-19 17:01:57 141
原创 Android事件分发机制总结_若雪似风_新浪博客
1. 事件分发的对象是Touch事件,当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(Touch事件) 2. 事件类型: 1>MotionEvent.ACTION_DOWN 按下View(所有事件的开始) 2>MotionEvent.ACTION_UP 抬起View(与DOWN对应) 3>...
2019-03-18 09:58:26 112
原创 Android适配全面屏_若雪似风_新浪博客
由于全面屏手机的高宽比比之前大,如果不适配的话,Android默认为最大的宽高比是1.86,小于全面屏手机的宽高比,因此,在全面屏手机上打开部分App时,上下就会留有空间,显示为黑条。这样非常影响视觉体验,另外全面屏提供的额外空间也没有得以利用,因此,这样的应用需要做相关适配。 针对此问题,Android官方提供了适配方案,即提高App所支持的最大屏幕纵横比,实现起来也比较简单,在An...
2019-02-25 14:16:53 133
原创 ButterKnife使用_若雪似风_新浪博客
一、简介 ButterKnife是目前常用的一种依托Java注解机制实现辅助代码生成的框架,用到了注解处理器。 它是一个专注于Android系统的View注入框架。 将Android视图和回调方法绑定到成员变量和方法上,可视化一键生成。 可以减少大量的findViewById以及setOnClickListener代码,是注解中相对简单易懂的开源框架。 二、原理 利用了IOC...
2019-02-25 11:28:59 235
原创 MVC、MVP、MVVM架构模式的区别_若雪似风_新浪博客
一、MVC(全称Model-View-Controller) MVC是比较直观的架构模式,用户操作->View(负责接收用户的输入操作)->Controller(业务逻辑处理)->Model(数据持久化)->View(将结果反馈给View) 二、MVP(Model-View-Presenter) MVP是把MVC中的Controller换成了Presen...
2019-02-25 11:26:39 98
原创 AS 2.3.2版本 运行小米真机报错Application Installation fail解决办法_若雪似风_新浪博客
如题,今天手贱更新公司小米测试机到MIUI8 结果再运行程序时候弹框报错 Installation failed with message Failed to establish session. It is possible that this issue is resolved by uninstalling an existing version of the apk if it i...
2017-06-05 17:28:51 147
原创 圆形头像及带边框的圆形头像实现_若雪似风_新浪博客
先上效果图 一个带边框 一个不带。用的同一个自定义控件 就在布局文件加几个属性就好了。 首先是自定义类CircleImageView import android.content.Context;import android.content.res.TypedArray;import android.graphics.Bitmap;import android.graphics.B...
2017-06-03 16:42:36 1300
原创 碎片的使用,fragment比较常用的切换方法_若雪似风_新浪博客
随便定义几个碎片: private Fragment1mFragment1; private Fragment2mFragment2; private Fragment3mFragment3; private Fragment4mFragment4; 然后在MainActivity的onCreate方法中初始化碎片 @Override protected void onCrea...
2017-05-28 14:46:52 174
原创 获取验证码倒计时功能实现_若雪似风_新浪博客
class TimeCount extends CountDownTimer { public TimeCount(long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval);// 参数依次为总时长,和计时的时间间隔 } // 计时完毕时触发 @Override publi...
2017-05-21 17:11:17 132
原创 xutils 用法详解_若雪似风_新浪博客
简介:xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUtils最低兼容android 2.2 (api level 8)。当前xUtils主要有四大模块:DbUtils模块,ViewUtils模块,HttpUtils模块...
2017-05-21 16:51:20 104
原创 意见反馈输入框数字变化_若雪似风_新浪博客
//已经反馈输入框监听 edit_feedback.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { String content = edit_...
2016-11-09 14:59:43 195 1
原创 android 获取版本号_若雪似风_新浪博客
public int getVersion() { try { PackageManager manager = getPackageManager(); PackageInfo info = manager.getPackageInfo(getPackageName(), 0); int currentVersionCode = info.versionCode; // 版本号 // S...
2016-11-09 14:57:28 107
原创 android 判断网络是否可用_若雪似风_新浪博客
public boolean isNetworkAvailable(Activity activity) { Context context = activity.getApplicationContext(); // 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理) ConnectivityM...
2016-11-09 14:47:57 97
原创 Android实现水平加载数据的listView_若雪似风_新浪博客
public class HorizontalListView extends AdapterView { public boolean mAlwaysOverrideTouch = true; protected ListAdapter mAdapter; private int mLeftViewIndex = -1; ...
2016-11-01 09:53:32 196
原创 ExpandableListView设置隐藏默认箭头,显示右边箭头 或者自定义_若雪似风_新浪博客
1首先 ExpandableListView elistview; elistview.setGroupIndicator(null);//将控件默认的左边箭头去掉, 2在 自定义的继承自BaseExpandableListAdapter的adapter中有一个方法 @Override public View getGroupView(int g...
2016-09-19 16:55:07 1268
原创 android 滚动条HorizontalScrollView左右滑动反弹的效果(类似微信朋友圈下拉反弹)_若雪似风_新浪博客
最近一个项目顶部 是新闻频道 左右滑动时 要出现留出空白 并且反弹的效果 类似:http://blog.csdn.net/qq_16064871/article/details/50224635中的下拉反弹。 不过我的是左右滑动的,具体代码如下: @Override protected void onFinishInflate() { if (getChildCount() > 0...
2016-06-07 15:02:40 328
原创 ListView与ViewPager(Banner图)的滑动冲突_若雪似风_新浪博客
最近项目中需要在首页实现轮播图+带下拉上拉的listview效果,所以Banner图必须写在listview第一项,就会出现下拉时鼠标在Banner图上不能刷新,在item为第2项及以下列表下拉就可以刷新的问题。 直接附解决办法: 重写ViewPager,处理触摸事件即dispatchTouchEvent方法,具体实现如下: private float mDownX; private...
2016-06-07 14:42:51 138
原创 Java递归小算法_若雪似风_新浪博客
Fibonacci数列:1,1,2,3,5,8,13…… 要求:找出数列中指定index位置的数值 实现: // 利用递归实现了Fibonacci数列 private static int fab(int index) { if (index == 1 || index == 2) { retu...
2016-04-22 14:33:25 117
原创 ScrollView嵌套ListView问题_若雪似风_新浪博客
在开发的过程当中,由于手机屏幕的大小的限制,我们经常需要使用滑动的方式,来显示更多的内容。在最近的工作中,遇见一个需求,需要将ListView嵌套到ScrollView中显示。于是乎有了如下布局: http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tool...
2015-02-04 10:16:41 94
原创 ProgressBar进度条及背景颜色设置_若雪似风_新浪博客
1.在布局文件中:android:progressDrawable="@drawable/progressbar" 2.在此XML文件新建在drawable目录下:文件名为:progressbar1 http://schemas.android.com/apk/res/android" > a...
2015-01-05 16:15:21 269
原创 JAVA多线程和并发基础面试问答_若雪似风_新浪博客
多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。 1. 进程和线程之间有什么不同? 一个进程是一个独立(self contained)的运行环境,它可以被看作一个程序或者一个应用。而线程是在进程中执行的一个任务。Java运行环境是一个包含了不同的类和程序...
2014-12-19 14:54:46 98
原创 Android内存优化_若雪似风_新浪博客
一、 Android的内存机制 Android的程序由Java语言编写,所以Android的内存管理与Java的内存管理相似。程序员通过new为对象分配内存,所有对象在java堆内分配空间;然而对象的释放是由垃圾回收器来完成的。C/C++中的内存机制是“谁污染,谁治理”,java的就比较人性化了,给我们请了一个专门的清洁工(GC)。 那么GC怎么能够确认某一个对象是不是已经...
2014-12-12 09:19:38 78
原创 SurfaceView使用_若雪似风_新浪博客
SurfaceView是视图(View)的继承类,这个视图里内嵌了一个专门用于绘制的Surface。你可以控制这个Surface的格式和尺寸。Surfaceview控制这个Surface的绘制位置。 surface是纵深排序(Z-ordered)的,这表明它总在自己所在窗口的后面。surfaceview提供了一个可见区域,只有在这个可见区域内 的surface部分内容才可...
2014-10-31 19:42:52 83
原创 安卓项目入门_若雪似风_新浪博客
安卓项目的目录结构: 1. src.java源文件 2. gen文件都是自动生成的(不要修改,不要删除) 该文件夹下面有个R.java文件,R.java是在建立项目时自动生成的,这个文件是只读模式的,不能更改。R.java文件中定义了一个类——R,R类中包含很多静态类,且静态类的名字都与res中的一个名字对应,即R类定义该项目所有资源的索引。 3. assets项...
2014-10-30 23:51:42 149
原创 SQL语句_若雪似风_新浪博客
SQL语句 1.创建表 createtable表名(列名1数据类型参数,列名2数据类型。。) createtablestudent(_idintegerprimarykey,namevarchar(20)notnull,sexchar(2)) SOLite支持nullintegerreal(浮点数字)text(字符串文本)和BLOB(二进...
2014-10-30 23:49:57 103
原创 网络编程_若雪似风_新浪博客
网络编程 基本概念:Java作为一种与平台无关的语言,从一出现就与网络有关极其密切的关系,因为Java写的程序可以在网络上直接运行,使用Java,只需编写简单的代码就能实现强大的网络功能。 网络编程实质上就是两个或多个设备之间的数据交换 网络通讯三大要素:IP地址,端口号,传输协议 Ø IP地址 1)网络中设备的标识; 2)不...
2014-10-30 23:44:03 171
原创 线程_若雪似风_新浪博客
多线程 进程:在多任务系统中,每个独立执行的程序称为进程。也就是“正在进行的程序”,一个进程中又可以包含一个或多个线程。 线程:就是一个程序内部的一条执行线索。 单线程:程序代码按调用顺序依次往下执行,在这种情况下,当主方法调用了子方法,主方法必须等待子方法返回后才能继续往下执行,不能实现两段程序代码同时交替运行的效果。 多线程:如果要一程序中实现多段代码同...
2014-10-30 23:42:33 92
原创 IO流_若雪似风_新浪博客
File类 基本概念:为了很方便的代表文件的概念,以及存储一些对于文件的基本操作,在java.io包中设计了一个专门的类——File类。 在File类中包含了大部分和文件操作的功能方法,该类的对象可以代表一个具体的文件或文件夹,所以以前曾有人建议将该类的类名修改成FilePath,因为该类也可以代表一个文件夹,更准确的说是可以代表一个文件路径。 File类提供的各种方...
2014-10-30 23:38:45 64
原创 集合_若雪似风_新浪博客
集合: 集合实际上就是一个动态的对象,与一般的对象不同,集合中的对象内容可以任意扩充。 java集合主要负责保存、盛装其他数据,因此集合类也称容器类。java集合类分为set、list、map、queue四大体系。其中set代表无序、不可重复的集合;list代表有序、可重复的集合;map代表具有映射关系的集合;queue代表队列集合。 java集合类主要由两个接口派生:...
2014-10-30 23:37:34 138
原创 异常_若雪似风_新浪博客
异常: 异常的产生: 代码错误,抛出异常的情况 publicstaticvoidmain(Stringargsp[]){ inti=10; intj=0; System.out.println("=============计算开始============="); inttemp=i/j;//进行...
2014-10-30 23:34:44 99
求高手帮忙看看这个异常,httpclient上传图片问题
2015-09-02
TA创建的收藏夹 TA关注的收藏夹
TA关注的人