【Android应用开发】
NullPoints
努力的人,运气总不会太差
展开
-
Andorid 项目中Dialog的便捷开发,全面的样式选择.
在最近写的项目中,Dialog 有各种各样的显示问题, 无论是 用dialog ,还是 alertDialog , 都会有一系列的 黑边, 黑底白字,全屏等 各种意外的结果,而且无论自己怎样自定义样式,都得不到很好的解决.经过一段时间的研究,尝试. 自己得出了自己的解决办法. 供大家参考使用.首先,来普及一下Dialog 的基础知识,Dialog 是一种对话框已知的直接子类Ap原创 2016-05-24 15:12:25 · 720 阅读 · 0 评论 -
解决android studio 中SVN和git冲突 无法提交代码
android studio中断开SVN连接,并彻底清理项目中的.svn文件这是一片转载的文章~~~项目中遇到过,从之前SVN管理的项目,现在要把 其中的一个module A放到新的项目下,用git管理....然后,as就自动会启用A之前的配置.用svn管理,这个时候会出现无法提交代码的情况..反正我被坑了好久...,那么解决问题的方式如下---->转载 2017-07-01 12:15:47 · 2213 阅读 · 0 评论 -
自定义View解决滑动冲突
最近在读Android开发艺术探索,本文作为自己对view的滑动冲突的理解和实践记录而滑动冲突,需要了解Android的事件分发机制,如果这个还有些疑惑的地方,请参考这篇文章,以及其中的参考文章还需要View的Measure和Layout的相关知识View的Measure流程总结 自定义view注意1.如果直接继承view,此时wrap_content和使用match_parent效果一样.需要在原创 2017-07-20 14:12:26 · 1254 阅读 · 0 评论 -
Android中layer-list学习
ps:最近在开发中遇到, 让组件下添加一条横线的需求,然后自己想在view的background中添加这种效果,发现这种实现方式不错~ 使用layer-list可以将多个drawable按照顺序层叠在一起显示,默认情况下,所有的item中的drawable都会自动根据它附上view的大小而进行缩放, layer-list中的item是按照顺序从下往上叠加的,即先定义的item在下面,后面的依次往上转载 2017-07-20 15:01:53 · 278 阅读 · 0 评论 -
Android中layer-list使用详解
Android中layer-list使用详解ps:最近在开发中遇到, 让组件下添加一条横线的需求,然后自己想在view的background中添加这种效果,发现这种实现方式不错~使用layer-list可以将多个drawable按照顺序层叠在一起显示,默认情况下,所有的item中的drawable都会自动根据它附上view的大小而进行缩放,lay转载 2017-07-20 15:03:06 · 2373 阅读 · 0 评论 -
筛选组件PopsTabView
PopsTabViewPopsTabView是个filter容器,他可以快速,构建不同筛选样式,自由组合成一组tab.目前版本,支持 单列单选,双列单选,复杂筛选.后续筛选会不断完善补充.ShowIntroduction用户只需要,知道自己 的filter 需要哪种filter,然后将数据进行转化,最后自己在onPopTabSet()回调,即可使用.优点:支持快速,构建不同筛选样式,自由组合成一组原创 2017-06-30 18:09:46 · 1079 阅读 · 0 评论 -
Drawable以及资源分析
drawable是一个抽象类,他把资源文件夹下的Drawable用其子类进行实例化,然后绘制.so,我们只是在drawble资源中进行了配置,其绘制过程在对应的实现类中. 本文举例几种不常见的drawable……1.BitmapDrawbleBitmap–>位图Bitmap是存储图片的一个类,构造成的是一个位图.构造过程在native方法中.Drawable–>绘制 A Drawable is a原创 2017-07-21 13:29:57 · 392 阅读 · 0 评论 -
Animation总结(差值器和估值器)
补间动画分类平移Translate缩放Scale旋转rotate渐变alpha应用场景1.启动页,开始按钮,飞入效果可以用. 2.listview或者recycleview的item进入动画.属性动画由于补间动画的只有四种变化的局限性,引入了属性动画. 字面上来说, 属性动画就是通过改变view的属性(比如高度,宽度,坐标等等),达到目的.so…只要你view有的属性,都能改变.无所不原创 2017-07-31 16:55:18 · 1107 阅读 · 0 评论 -
发布到JFrog Bintray 踩坑和优化
在自己的一个 轮子PopsTabView在上传到JFrog Bintray 时,遇到坑…踩坑当遇到如下类似错误,:poptabview_lib:javadoc/Users/chenchangjun/MyOpenGitSouce/PopsTabView/poptabview_lib/src/main/java/com/ccj/poptabview/base/SuperAdapter.java:3:原创 2017-08-01 16:32:34 · 1081 阅读 · 0 评论 -
通用对话弹窗Dialog
通用对话弹窗CommonDialogVersion 1.0Created by chenchangjun on 18/1/12.抽离普通基类见BaseNormalDialog优化扩展方式 见3.1 基本扩展添加必要注释————————项目中,迭代了快8年了,对话框,种类繁多, 难以维护, 有的继承popwindow, 有的继承dialog, 有的继承dialog原创 2017-11-29 20:35:22 · 1723 阅读 · 1 评论 -
转载: HashMap多线程并发问题
多线程put后可能导致get死循环从前我们的Java代码因为一些原因使用了HashMap这个东西,但是当时的程序是单线程的,一切都没有问题。后来,我们的程序性能有问题,所以需要变成多线程的,于是,变成多线程后到了线上,发现程序经常占了100%的CPU,查看堆栈,你会发现程序都Hang在了HashMap.get()这个方法上了,重启程序后问题消失。但是过段时间又会来。而且,这个问题在测试环境里可...转载 2018-06-21 11:10:00 · 425 阅读 · 0 评论 -
[转载]AOP 的利器:ASM 3.0 介绍
引言什么是 ASM ?ASM 是一个 Java 字节码操控框架。它能被用来动态生成类或者增强既有类的功能。ASM 可以直接产生二进制 class 文件,也可以在类被加载入 Java 虚拟机之前动态改变类行为。Java class 被存储在严格格式定义的 .class 文件里,这些类文件拥有足够的元数据来解析类中的所有元素:类名称、方法、属性以及 Java 字节码(指令)。ASM 从类文...转载 2018-07-04 11:22:09 · 290 阅读 · 0 评论 -
贝塞尔曲线实践--拖拽气泡
贝塞尔曲线实践–拖拽气泡贝塞尔曲线扫盲大家不明白贝塞尔的可以来这里逛逛~~ 浅显易懂贝塞尔曲线主要由于三个部分控制:起点,终点,中间的辅助控制点。在android自带的Path类中自带了方法,可以帮助我们实现贝塞尔曲线:二阶贝塞尔/** * Add a quadratic bezier from the last point, approaching control point * (x1,原创 2017-06-05 15:03:24 · 625 阅读 · 0 评论 -
Android Studio DeBug调试
Android Studio DeBug额,之前都是用log日志输出,自己想要的东西.搞得代码到处都是Log.i()…突然有一天,,,自己get到了,Android 断点….调试….,世界就变得不一样了….这篇文章,算是自己阅读和实战后的笔记吧~1.adb连接后,打开debug2.debug断点的设置3.debug的面板分析在你,点击第一步的ok之后, 会弹出debug的窗口.其中的界面如下. 区原创 2017-05-20 11:40:50 · 1091 阅读 · 0 评论 -
android反编译
为了保护app的信息安全,在上线前最好做好代码混淆,以及代码精简的工作.首先,我们要学习反编译,来查看源码,以及查看自己的代码是否混淆成功 1. 下载编译工具apk反编译工具dex2jar,是将apk中的classes.dex转化成jar文件源码查看工具jdgui,是一个反编译工具,可以直接查看反编译后的jar包源代码附下载链接 http://download.csdn.net原创 2016-07-01 09:31:01 · 744 阅读 · 0 评论 -
Android代码混淆只需简单三步
在android studio 下的混淆,正常套路下需要以下四步 1.首先要在build.gradle中开启混淆,也就是minifyEnabled true,我用的build.gradle具体如下所示:buildTypes { release { minifyEnabled true//最小化资源包 shrinkResources tr原创 2016-07-01 09:27:50 · 8548 阅读 · 0 评论 -
XUtils3 的用法
转载自:http://blog.csdn.net/a1002450926/article/details/50341173XUtils3一共有4大功能:注解模块,网络模块,图片加载模块,数据库模块。 使用XUtils只需要在libs文件夹里面加入一个jar包,如果对服务器返回的数据进行封装的话,还需要导入一个Gson的jar包。[java] view pla转载 2016-07-26 14:26:55 · 570 阅读 · 0 评论 -
Webview 和js之间安全交互
当我们在混合开发的时候,会用h5和原生进行hybrid开发,自然而然,会运用到js和 原生之间的交互问题. 比如,登录界面的交互等.接下来,来给大家介绍1.js调用android的方法 1.1.开启webview的JavaScript的权限.WebView myWebView = (WebView) findViewById(R.id.webview);WebSettings原创 2016-07-04 17:55:00 · 1267 阅读 · 0 评论 -
Android屏幕适配全攻略(最权威的官方适配指导)
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因、重要概念、解决方案及最佳实践,我相信如果你能认真的学习本文,对于Android的屏幕适配,你将有所收获!Android屏幕适配出转载 2016-07-20 16:34:17 · 1001 阅读 · 0 评论 -
更简单的学习Android事件分发
转自https://github.com/Idtk/Blog/tree/master/Blog ,在此处分享,方便以后查阅.事件分发是Android中非常重要的机制,是用户与界面交互的基础。这篇文章将通过示例打印出的Log,绘制出事件分发的流程图,让大家更容易的去理解Android的事件分发机制。一、必要的基础知识1、相关方法Android中与事件分发相关的方法主要包括dispatchTouchEv转载 2016-08-24 17:03:37 · 402 阅读 · 0 评论 -
Android Retrofit源码解析
简介Retrofit 是 Square 推出的 HTTP 框架,主要用于 Android 和 Java。Retrofit 将网络请求变成方法的调用,使用起来非常简洁方便。本文先简要介绍一下 Retrofit 的用法,然后具体分析其源码执行的流程。基本用法Retrofit 把HTTP API 变成 Java 的接口。下面是 Retrofit 官网的一个例子:public转载 2016-09-05 09:01:50 · 443 阅读 · 0 评论 -
Android N for Developers
Android N 仍处于活动的开发状态,但现在您可以将其作为 N Developer Preview 的一部分进行试用。 以下部分重点介绍面向开发者的一些新功能。请务必查阅行为变更以了解平台变更可能影响您的应用的领域,看看开发者指南,了解有关关键功能的更多信息,并下载 API 参考以获取新 API 的详细信息。多窗口支持在 Android N 中,我们为该平台引入了一翻译 2016-10-28 17:20:17 · 560 阅读 · 0 评论 -
[热修复]--源码级分析以及项目实践
最近在研究gradle ,以及多分包,如果大家看过我之前的博客,应该也知道.以下这三个都研究过,原理都是一样的,区别就在于用哪个更方便. 在这里我会讲述一下,这里面的原理和自己爬的坑,以便大家理解,还有少爬坑~~原理是需要懂得~ 不然,你遇到错误不会解决,并且你始终会是初级工程师~首先,按照顺序,介绍下目前三种热修复的方式:1.Nuwa (基于gradle写的脚本,操作起来比较麻烦,需要拷贝原创 2016-07-23 15:46:39 · 2123 阅读 · 1 评论 -
DBHelper--面向对象的SQLite框架
DBHelper面向对象的SQLite框架To Use1.In Gradlecompile 'me.ccj.dbhelper:dbhelper:1.0.0'2.In Maven<dependency> <groupId>me.ccj.dbhelper</groupId> <artifactId>dbhelper</artifactId> <version>1.0.0</versio原创 2017-02-28 20:50:33 · 699 阅读 · 0 评论 -
android studio 插件大全
转自http://www.jianshu.com/p/c76b0d8a642d1. GsonFormat快速将json字符串转换成一个Java Bean,免去我们根据json字符串手写对应Java Bean的过程.使用方法:快捷键Alt+S也可以使用Alt+Insert选择GsonFormat2.Android ButterKnife Zel转载 2017-02-28 21:00:56 · 642 阅读 · 0 评论 -
简单通用的适配ViewPager,以及pager中的RecycleView---EasyTabPager
EasyTabPager一个通用中间组件,简单通用的适配ViewPager,以及pager中的RecycleView 简化复杂的操作,简单直接。To UseIn GradleIn MavenIn Your Application /*****************初始化控件************/ comm_test_view=(ZDMCommonPagerVie原创 2017-03-30 15:59:40 · 852 阅读 · 0 评论 -
JJEvent 一个可靠的Android端数据埋点SDK(已重新开源)
本文是原理介绍这里是如何使用传送门这里是源码地址V1.0.0功能列表是否支持接口自定义支持缓存策略支持外部cookie注入支持推送周期设定支持强制推送支持自定义埋点事件支持独立运行支持多线程写入支持后台线程服务支持注1:代码已经经过线上项目验证, 横向Google统计对比,统计数据无丢失,性能...原创 2019-06-18 14:05:41 · 1643 阅读 · 0 评论