- 博客(24)
- 收藏
- 关注
原创 RecyclerView+Retrofit
布局:<android.support.v7.widget.RecyclerView android:id="@+id/rel_follow" android:layout_marginTop="7dp" android:layout_width="match_parent" android:layout_height="match_parent">&...
2018-06-07 08:21:57
336
原创 BottomTabBar底部导航栏
依赖:compile 'com.hjm:BottomTabBar:1.1.1'XML:<?xml version="1.0" encoding="utf-8"?><android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" x...
2018-05-31 21:03:57
253
原创 TabLayout横向滑动
依赖:compile'com.android.support:design:27+'XML:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.and...
2018-05-31 20:57:44
413
原创 MVP+retrofit+RXjava
接口BaseView:package com.example.myapplication.view.interfaces;public interface BaseView {}MainViewpackage com.example.myapplication.view.interfaces;public interface MainView extends BaseView{ ...
2018-05-28 14:56:41
200
原创 RecyclerView的下拉刷新,上拉加载更多
导入依赖compile 'com.android.support:recyclerview-v7:26.1.0'MainActivity.xml的代码<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/re...
2018-05-11 09:42:10
294
原创 Android中通信协议大全
一、TCP/IP协议(传输层协议) 1、Socket与ServerSocket Socket是应用层与TCP/IP协议簇通讯的中间抽象层,Socket是一组接口,在设计模式中,Socket的设计就是门面模式,它把复杂的TCP/IP协议簇的内容隐藏在套接字接口后面,用户无需关心协议的实现,只需使用Socket提供的接口即可。 Socket的类型有两种,...
2018-04-23 15:33:15
2178
原创 使用ZXing实现二维码扫描
二维码现在越来越火爆,使用的越发广泛,对于二维码二维码的生成与解析,有多种途径,这里我选择用google老大的ZXing。 其中刘超大神使用ZXing写了一个快速集成二维码扫描的工具类,实现其核心的实现扫描的功能。使用时通过调用二维码工具类,几行代码就可以实现二维码扫描的功能。 参考资料: 二维码工具类下载地址: https://github.com/yipianfengye...
2018-04-13 19:36:56
605
原创 堆和栈的区别
堆:什么是堆?又该怎么理解呢?①堆通常是一个可以被看做一棵树的数组对象。堆总是满足下列性质: ·堆中某个节点的值总是不大于或不小于其父节点的值; ·堆总是一棵完全二叉树。将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。常见的堆有二叉堆、斐波那契堆等。②堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。③堆...
2018-04-13 11:41:16
149
原创 通过重写ViewGroup学习onMeasure()和onLayout()方法
在继承ViewGroup类时,需要重写两个方法,分别是onMeasure和onLayout。1,在方法onMeasure中调用setMeasuredDimension方法void android.view.View.setMeasuredDimension(int measuredWidth, int measuredHeight)在onMeasure(int, int)中,必须调用setMeas...
2018-04-12 15:40:39
158
原创 Android 自定义View——自定义View控件
Canvas Canvas, 我们称之为“画布“,主要适用于绘制View的。 Canvas中提供了大量绘制图形的方法:绘制扇形:drawArc(RectF oval, float startAngle, float sweepAngle, boolean useCenter, Paint paint): 第一个参数RectF对象,指定扇形的区域;第二个参数是起始角度;第三个参数是旋转角度,顺...
2018-04-11 20:23:46
262
原创 Handler的底层原理实现
Handler:用来发送消息,处理消息 Message:消息实体对象,handler通过sendMsg将实体放到消息队列里面 MessageQueue:存放消息的队列 Looper:消息轮询器,轮询消息队列的消息然后取出,交给handler处理关于Handler的几个问题1.Handler可以new 多个吗?Handler可以有多个2.Looper可以有多个吗?Looper可以有多个,但是一个线程...
2018-04-11 15:03:43
274
原创 AsyncTask的基础使用
1--- 联网权限2 -- 主线程调用AsyncTask类实例调用/** * 1 MAsyncTask在主线程实例化; * 2 doInBackground在子线程,会把子线程请求的数据发送给在主线程运行的方法(onPostExecute) * 3 底层原理是Handler+Thread; */ new MAsyn...
2018-04-11 10:06:25
124
原创 XListView
XListView请求网络数据的使用;导入xListviewActivity实现 XListView.IXListViewListener重写 onRefresh ,onLoad 方法public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener { private ...
2018-04-11 09:10:29
144
原创 子线程和子线程之间的通信
package lib.com.myapplication; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; importandroid.support.v7.app.AppCompatActivity; ...
2018-04-09 21:11:04
1035
原创 二级联动(需要导入jquery)
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <!--1 引入angular包 shift+ctrl+/--> <script src="js/angular.min.j
2018-04-02 09:19:58
267
原创 angular增删改查
<html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=0.5, maximum-scale=2.0, user-scalable=yes" />
2018-03-29 21:05:26
250
原创 android-------PullToRefresh 下拉和上拉简单实现
/** * 接入PullToRefresh * 1.引入Library * 2.依赖model * 3. 布局文件中使用可刷新的控件 * 4. 设置可刷新监听--> mPullRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() * 设置可以...
2018-03-14 23:17:23
187
原创 android ---ViewPager 无限轮播
ViewPager概念:ViewPager是一个允许使用者左右滑动数据页面的布局管理器。你可以通过一个适配器(PagerAdapter)来管理要显示的页面。不过要注意的是,这个类目前还处于初期的设计和开发。随着今后兼容库的更新,API文档也会进行更改,同时应用程序在编译时也需要对代码进行一定的修改。ViewPager更多的时候会与Fragment一起使用,这是一种很好的方法来管理各个页面的生命周期...
2018-03-14 22:05:57
155
原创 HttpUrlConnection用get和post请求发送参数
post请求: final String nameValue = username.getText().toString(); final String passValue = password.getText().toString(); new Thread(){ public void run() { ...
2018-02-28 09:32:06
280
原创 Java中强软弱虚四种引用
Java中强软弱虚四种引用一:引用的目的:在Java中垃圾回收器的运行是JVM操作的,但是我们仍然可以在一定程度上与垃圾回收器进行交互,其目的在于更好的帮助垃圾回收器管理好应用的内存,避免内存出现OOM这种交互方式就是使用JDK 1.2引入的java.lang.ref包,为对象指定不同的引用类型。Object obj = new Object() obj指向的是Object()对象在...
2018-02-28 09:26:14
217
原创 Android-Universal-Image-Loader
1--权限(联网,读写sd卡)<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="...
2018-02-27 21:55:55
241
原创 NetUtil
public static String getjson(String urlStirng){ try { URL url = new URL(urlStirng); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); ...
2018-02-26 22:13:19
222
原创 网络连接判断的工具类,判断是wifi网络,还是蜂窝网络,或者无线网络;
public class Utils { /** * 返回值 -1:没有网络 1:WIFI网络 2:net网络 */ public static int getNetype(Context context) { int netType = -1; ConnectivityManager connMgr = (ConnectivityMa...
2018-02-24 20:58:46
964
原创 android常用的权限和依赖类
<uses-permission android:name="android.permission.INTERNET" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/><uses-permission android:name="android.permissio...
2018-02-23 20:38:39
311
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人