- 博客(47)
- 资源 (18)
- 收藏
- 关注
原创 MVP+Retrofit+Rxjava+DataBinding泛型架构模型
一. 用到的知识点:UI—面向对象数据交互 —MVP模式网络图片加载—–glidejson解析—–gsonhttp请求—retrofit2+rxjava2事件总线—-eventbus 注解—DataBinding二.目录结构biz ————...
2018-03-28 10:38:49 2089
原创 Android事件分发机制详解
1. 基础认知1.1 事件分发的对象是谁? 点击事件(Touch事件)定义 当用户触摸屏幕时(View或ViewGroup派生的控件),将产生点击事件(Touch事件)Touch事件的相关细节(发生触摸的位置、时间等)被封装成MotionEvent对象事件类型(4种)事件类型 具体动作 MotionEvent.ACTION_DOWN 按下View(...
2020-03-12 16:37:10 183
原创 Android项目Git忽略文件
.gitignore 中需要配置的文件# Built application files*.apk*.ap_output.json# Files for the ART/Dalvik VM*.dex# Java class files*.class# Generated filesbin/gen/out/# Gradle files.gradle/buil...
2019-12-20 14:29:04 537
原创 Linux系统使用360加固Apk
1.360官网去下载一个360加固助手,解压安装包.2.cd 进入jiagu文件夹内3.进入.jar文件的同时输入用户名密码java -jar ./jiagu.jar -login 用户名 密码4.出现login success,下一步 ~/***.jks是jks文件的目录,后面依次是jks密码,别名,别名密码java -jar ./jiagu.jar -imports...
2019-09-18 10:01:46 929
原创 RxJava2 操作符和线程控制
一、创建操作符 在上一篇RxJava的使用中讲到create,just,fromArray创建操作符,在这里讲述interval 、range和repeat。 1.interval 创建一个按固定时间间隔发射整数序列的Observable,并且Observable会收到递增至,相当于定时器,如下: Observable observable...
2019-07-06 09:37:33 229
原创 Rrtrofit封装框架
1.添加方法:allprojects{ repositroies{ .... maven { url 'https://jitpack.io' } }}dependencies { /*网络请求框架*/ implementation 'com.github.AgnoiY:RetrofitFrame:1.1.9...
2019-07-06 09:34:22 272
原创 android 双击动画点赞效果
1.模仿抖音双击点赞效果public class AnimatorLove extends RelativeLayout { private Context mContext; float[] num = {-30, -20, 0, 20, 30};//随机心形图片角度 long[] mHits = new long[2]; public AnimatorLo...
2018-08-19 18:31:16 2204 1
原创 Android 浏览器分享到APP
1.在配置文件添加权限<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />2.在配置文件中给分享到APP的界面(Acticiy)添加intent-filter<intent-filter> <action android:name="android...
2018-07-04 18:21:55 1239
原创 详细讲解Android Studio中用Git——结合GitLab
1. 前言以前项目版本管理工具一直使用的都是SVN,现在换成Git,并且项目托管平台用的是GitLab。尽管经常使用GitHub,但是却很少用到分支,由于都是自己在写,也不使用开发版与发布版、打Tag那些,所以这里也详细讲下Git的用。这篇文章还是会按我以前的写作风格,写的浅显易懂,并且全程自己操作一遍,目的是为了初学者也可以看懂。2. 简介Git:Git是一个开源的分布式版本控制系统,能有效、高...
2018-07-01 14:19:49 1079
原创 DataBinding的基本使用
1.DataBinding介绍2015年谷歌I/O大会上介绍了一个框架DataBinding,DataBinding是一个数据绑定框架,以前我们在Activity里写很多的findViewById,现在如果我们使用DataBinding,就可以抛弃findViewById。DataBinding主要解决了两个问题: - 需要多次使用findViewById,损害了应用性能且令人厌烦 - 更新UI数...
2018-07-01 10:26:55 652
原创 Android 马甲包制作流程
一、马甲包的制作流程1.配置马甲包的applicationId以及应用名称在app的build.gradle文件中添加马甲包的配置android { signingConfigs { config { keyAlias '****' keyPassword '****' storeFile file('...
2018-04-25 14:26:20 3894 1
原创 BitmapRegionDecoder加载超大图片
1.BitmapRegionDecoder提供了一系列的newInstance方法来构造对象,支持传入文件路径,文件描述符,文件的inputstrem等if (o instanceof String) { inputStream = new FileInputStream((String) o); // 根据图片对应的BitmapRegionDecoder对象 mBi...
2018-04-18 11:28:24 917
原创 Glide设置和获取缓存的路径
1.接口GlideModule实现GlideBuider的实现类指定缓存的路径public class GiphyGlideModule implements GlideModule { public GiphyGlideModule( ) { } @Override public void applyOptions(Context context...
2018-04-17 15:32:12 4181
原创 Android 8.0系统,版本升级不跳转应用安装页面
1.在AndroidManifest.xml文件中,添加REQUEST_INSTALL_PACKAGES权限<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />2.在打开安装包的代码中添加兼容Android 8.0的代码。/** * 打开安装包 * * @pa...
2018-04-13 10:29:46 1202 1
原创 Android Fragment 静态和动态使用
1、Fragment的产生与介绍Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套app,然后拷贝一份,修改布局以适应什么超级大屏的。一个app可以同时适应手机和平板,那就是Fragment。可以把Fragment当成Activity一个界面的一部分,甚至Activity的界面由完全不同的Fragment组成,Frag...
2018-04-11 13:52:28 975
原创 RxJava的使用基本用法
一.RxJava是一个实现异步操作的库二.观察者模式 观察者:监视着被观察者的行为,当被观察者某个状态改变的时候会通知观察者,观察者会执行对应的操作; 被观察者:被监视的对象,当某个状态改变的时候会通知观察者; 订阅(或注册):将观察者和被观察者建立联系。常用的例子:点击Button后触发OnClickListener中的onClick()事件。在这个事件中他...
2018-04-09 11:35:23 353
原创 Android MD5加密(32位)和 Base64加密解密
1.MD5加密数据/** * <加解密实现类> */public class SecurityUtils { /** * md5加密 * * @param str * @return */ public final static String get32MD5Str(String str) { if...
2018-04-05 11:11:03 996
原创 Android CrashHandler异常捕获类
1.新建一个类继承UncaughtExceptionHandler2.通过thread.setDefaullUncaughtExceptionHandler 将本类设置为app默认的UncaughtException处理类3.重写 UncaughtException如果用户没有处理,默认让系统处理;4.重写 handlerException处理了返回true,在这个方法中保存错误日志,...
2018-04-05 09:18:11 358
原创 Android 蓝牙API详解和连接使用
1.蓝牙开发有两个主要的APIBuletoothAdapter:本地蓝牙的适配器,也就是说当前应用程序所运行的Android设备上的蓝牙BuletoothDevice : 远程的蓝牙适配器,也就是说你要连接的Android设备的适配器。2.蓝牙权限 :android.permission.BLUETOOTH : 允许程序连接到已配对的蓝牙设备, 请求连接/接收连接/传输数据需要改权限, 主要用于...
2018-04-03 15:59:29 5542
原创 Android build apk菜单
android studio build --> build apk菜单:在build.gradle正确设置下面的签名内容signingConfigs { releaseSign { storeFile file("keystore/***.jks"); storePassword "*******" keyAlias "***" ...
2018-03-30 11:47:16 793
原创 Androiod RecycleView的滑动实现标题栏透明度渐变
1.注意:透明度都是[0,255]/** * 设置标题栏背景透明度 * @param alpha 透明度 */private void setSystemBarAlpha(int alpha) { if (alpha >= 225) { alpha = 255; } text.getBackground().setAlpha(alpha);}...
2018-03-29 16:22:05 686 1
原创 Android Butterknife 8.5.1使用
一、添加依赖:1.在项目的project的build.gredle文件的dependencies标签下添加。apply from: "config.gradle"buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.buil...
2018-03-27 14:34:44 314
原创 Android Gson解析复杂的json数据
1.解析的一个json数据:String json = {"a":"100", "b":[{"b1":"b_value1","b2":"b_value2"}, {"b1":"b_value1","b2":"b_value2"}], "c":
2018-03-26 18:02:14 1122
原创 Android config.gradle文件配置
1.在工程的根目录下创建一个config.gradle的文件ext { plugins = [ application: 'com.android.application', ] android = [ applicationId : "com.mvpframe", compileSdkVers...
2018-03-22 11:48:03 1178
原创 Android ImageView图片放大到全屏显示
1.点击图片放大到全屏显示private void initImageView() { final WindowManager windowManager = getWindowManager(); final RelativeLayout relativeLayout = new RelativeLayout(this); WindowManager.LayoutPara...
2018-03-21 17:14:36 4169
原创 Android webview加载网页只想显示部分内容
1.浏览器可以查看元素,找到那些不需要显示的元素直接隐藏掉2.JS代码:根据class名称获取div数组//编写 javaScript方法String javascript = "javascript:function getClass(parent,sClass){" + "var aEle=parent.getElementsByTagName('div');" + ...
2018-03-20 14:31:58 4723 1
原创 Android使用WebView播放flash的方法和JavaScript调用本地方法
1.布局文件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height...
2018-03-20 11:31:30 3907 4
原创 Android RecyclerView分割线
1.分割线public class RecycleViewDivider extends RecyclerView.ItemDecoration { private Paint mPaint; private Drawable mDivider; private int mDividerHeight = 2;//分割线高度,默认为2px private int m...
2018-03-16 16:53:32 388
原创 Android Jsoup抓取网络数据
1.libs中导入jar包:compile files('libs/jsoup-1.7.2.jar')2.用于指定查询url,method,params(自己get和set)/** * 规则类 */public class Rule { /** * 链接 */ private String url; /** * 参数集合...
2018-03-15 13:45:06 543
原创 Android 商品属性SKU选择
效果图:1.继承ViewGrouppublic class SKUViewGroup extends ViewGroup { public SKUViewGroup(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected L...
2018-03-14 16:11:16 3142
原创 Toast在activity关闭后,还在显示的问题
1.toast.show();是展示的方法,toast.cancel();是取消的方法代码:@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //...
2018-03-13 17:18:15 1708
原创 Android 高德地图定位和导航
1. 在高德开放平台注册帐号2.在高德地图开发平台中下载Android平台下载地图SDK和定位SDK和导航SDK文件3. 添加jar包,将jar包放入工程的libs目录下。 (下载的三合一的SDK,只需下载自己需要的SDK)4. 申请API KEY 高德地图开发平台进入控制台 生成自己得key一:基础地图显示1.添加用户key 在工程的“ AndroidManifest.xml ”文件如下代码中...
2018-03-12 17:11:36 7926 4
原创 Android 隐藏状态栏和标题栏
1.代码来隐藏状态栏和标题栏public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Window w...
2018-03-12 10:08:11 833
原创 android轮播图Banner
1.导入依赖compile 'com.youth.banner:banner:1.4.9'2.添加权限<!-- 网络访问权限 --><uses-permission android:name="android.permission.INTERNET" /><!-- 读的权限 --><uses-permission android:name="andr...
2018-03-11 09:56:14 450
原创 Recycleview实现复杂页面三种以上布局 瀑布流多布 scrollview嵌套recyclerView 显示不全滑动冲突
最下面带瀑布流在瀑布流管理器里面有LayoutParams.setFullSpan(true);方法,在 onCreateViewHolder(ViewGroup parent, int viewType) 总体思路就是,把下面的瀑布流部分作为一种type,其他无需加载更多的布局放在recycleview里面使用此方法使这一行占满全屏,这是我到现在总结出来的最好实现方式。思路图如下: 部分代码如下...
2018-03-10 12:03:28 688
转载 RecyclerView侧滑菜单,RecyclerView滑动删除,RecyclerView长按拖拽
Feature以下功能全部支持:竖向ListView、横向ListView、Grid、StaggeredGrid四种形式。RecyclerView 左右两侧 侧滑菜单。菜单横向排布、菜单竖向排布。RecyclerView长按拖拽Item。RecyclerView侧滑删除item。指定RecyclerView的某一个Item不能滑动删除或长按拖拽。某一个Item显示的不同的菜单(类似QQ)。用Swi...
2018-03-09 14:28:56 607
原创 Android Bitmap压缩图像
压缩图片的方法:// // 从选取相册的Activity中返回后// Uri imageUri = data.getData();// String[] filePathColumns = {MediaStore.Images.Media.DATA};// Cursor c = getContentRes...
2018-03-09 11:50:39 160
原创 Android Vitamio视频框架使用
第一步:配置Vitamioapp目录下的build.gradle,在dependencies 中添加依赖 compile project(‘:vitamio’)第二步:AndroidManifest配置<uses-permission android:name="android.permission.WAKE_LOCK" /><uses-permission android:n...
2018-03-08 15:54:43 407
原创 Android 购物车选择商品加减和价格合计
模板图:1.购物车主界面<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_...
2018-03-07 15:08:30 3902 1
原创 Android 文件断点下载和通知栏的提示及apk更新安装
第一步:创建一张表用来保存下载信息public class DbHelper extends SQLiteOpenHelper { public static String TABLE = "file";//表名 public DbHelper(Context context) { super(context, "download.db", null, 1);...
2018-03-06 16:48:56 582
Android MVP+泛型+DataBinding+Retroofit+Rxjava架构模型
2018-12-19
Android MVP模式搭建
2018-03-28
json解析jar包,即net.sf.json.JSONObject 的jar包和依赖包
2018-03-15
Recycleview实现复杂页面三种以上布局 瀑布流多布局 scrollview嵌套recyclerView 显示不全滑动冲突
2018-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人