
安卓
山洼之神
面向各种对象
展开
-
利用android studio2.1.2生成jar,制作自己的SDK
首先,如何利用studio生成jar文件,方法很简单。1.找到项目下面(注意不是工程下面)的build.gradle文件,将最前面的apply plugin: 'com.android.application' 修改为apply plugin: 'com.android.library',也就是把项目设置成library供别人调用的意思。2.将defaultConfig修改为:原创 2016-09-01 17:22:12 · 4422 阅读 · 0 评论 -
rxjava操作符笔记及爬坑总结(持续更新中...)
1.如果你需要同时拿到两个Observable的结果来处理,可以使用zipWith(o1.zipWith(o2).subscribe(subscriber));经测试,两个Observable的发射次数一一对应,如果不一致,则发射完少的就不会再发射了。不要求类型一致。Observable.just("hello","good").zipWith(Observable.just(2), new原创 2016-10-12 15:02:22 · 363 阅读 · 0 评论 -
android studio 可调试、可查看源码的jni开发环境搭建图文讲解
1.环境配置1)打开studio建立新的工程,打开如下位置,下载红线所示的ndk及LLDB工具。2)如下所示对ndk进行设置3)替换掉原来的gradle工具,如图注释掉上面的,加入下面的代码。4)修改app下面的gradle文件给出完整代码,仔细辨别apply plu原创 2016-09-28 16:47:04 · 3565 阅读 · 0 评论 -
模仿retrofit将okhttp和rxjava进行整合
最近学习Rxjava发现这玩意儿越用越好用,别的地方不表,主要是线程切换是我最中意的地方,另外非常灵活。刚开始接触Rxjava时接触的第一个操作符就是create,当时只知道这个方法用于构造一个基本的Observable也没多在意。原创 2016-10-17 15:54:19 · 607 阅读 · 0 评论 -
Picasso利用Transformation自定义带边框的圆形图片
目前Picasso图片加载工具也比较流行,很多人会在加载图片时有圆形图片的需求。其实Picasso已经为我们提供了方法去实现,但是具体的实现过程得自己去定义。这里,我们使用BitmapShader来具体实现。BitmapShader的主要作用就是通过Paint对象,对画布进行指定的Bitmap填充,实现一系列效果,可以有以下三种模式进行选择:CLAMP - 拉伸,这里拉伸的是图片的最后原创 2016-10-19 11:44:09 · 2252 阅读 · 0 评论 -
图文详解Android属性动画
这篇文章主要以图文结合的方式详细介绍了Android属性动画,本文主要讲解如何使用属性动画,需要的朋友可以参考下 Android中的动画分为视图动画(View Animation)、属性动画(Property Animation)以及Drawable动画。从Android 3.0(API Level 11)开始,Android开始支持属性动画,本文主要讲解如何使用属性动画。转载 2016-10-19 16:00:14 · 619 阅读 · 0 评论 -
fragment+viewpager+FragmentPagerAdapter使用随记
首先给个别人写的比较好用的封装,可实现懒加载并且保证数据只加载一次。public abstract class BasePageFragment extends Fragment { protected boolean isViewInitiated; protected boolean isVisibleToUser; protected boolean isDat原创 2017-04-19 17:21:46 · 1100 阅读 · 0 评论 -
利用HorizontalScrollView自己写一个viewPager指示器
目前滑动指示器最著名的是JakeWarton的ViewpagerIndicator,用别人的东西固然方便,但是也带来很多使用上的疑惑,这篇博客,我们使用HorizontalScrollView自己写一个viewPager指示器。这里首先说一下很多自己写的indicator只限于可视范围内不能移动的指示器,所以tab的数量有限,一般最多五个就已经很拥挤了,可是我们发现开源的ViewpagerIn原创 2017-05-04 12:28:00 · 2649 阅读 · 0 评论 -
Xamarin.android 的pagerview滑动指示器
根据自己写的Java版本的pagerview滑动指示器改写的xamarin版本,原理解析参见文章http://blog.youkuaiyun.com/u013835855/article/details/71159888,好了,其它不多说,直接上源码:using System;using Android.Content;using Android.Views;using Android.Widge原创 2017-05-04 19:09:20 · 1126 阅读 · 0 评论 -
viewpager+indicator到达顶部时,indicator悬浮效果
首先感谢http://blog.youkuaiyun.com/qiushi_1990/article/details/50288131的代码,这里我对代码进行了封装和完善(demo免费下载),处理了更多可能出现的场景,使得该组件更方便使用,最后会给出使用方法和注意事项,封装后源码如下:package com.stickynavlistview.view;import android.content原创 2017-05-05 15:31:11 · 825 阅读 · 1 评论 -
Xamarin.android 抽屉效果(SlideMenu)
话不多说,源码在此:using System;using Android.Content;using Android.Views;using Android.Widget;using Android.Util;namespace FirstApp.Widget{ class SlideMenu : HorizontalScrollView { /** * 屏原创 2017-05-05 19:17:27 · 682 阅读 · 0 评论 -
支持listview、GridView、普通布局、scrollview和viewpager的下拉刷新控件
支持listview、GridView、scrollview和viewpager的下拉刷新(经测试未发现bug),但是不支持viewpager中嵌套listview、GridView等可上下滑动组件的情况,本来想作支持的,但是鉴于viewpager的嵌套的可能性太过复杂,最后还是放弃了。以下为scrollview刷新效果图用法如下:1.布局文件如下,只需将需要刷新效果的控件包裹在该原创 2017-05-09 15:41:16 · 432 阅读 · 0 评论 -
杂记
1.发现button设置具体高度以后,设置圆角效果无效,只需要改为wrap_content或者match_parent就好了。原创 2017-06-27 10:40:31 · 305 阅读 · 0 评论 -
Android垃圾回收算法
根搜索算法Android虚拟机的垃圾回收采用的是根搜索算法。GC会从根节点(GC Roots)开始对heap进行遍历。到最后,部分没有直接或者间接引用到GC Roots的就是需要回收的垃圾,会被GC回收掉。根搜索算法相比引用计数法很好的解决了循环引用的问题。举个例子,Activity有View的引用,View也有Activity的引用,之前我还尝试去源代码里找Activity何时和原创 2017-09-19 10:14:51 · 623 阅读 · 0 评论 -
自己写一个可用并且好用的Sqlite工具
相信很懂同学都接触过很多开源的数据库框架,具体的就不多说了,反正给我的感觉就是,用起来总是束手束脚的,哪怕说的再好也并没有自己做出来的那么趁手。另外,安卓本身对数据库的封装已经做得很不错了,我觉得自己封一个易用的并且好用的工具也并没有那么难,那么下面进入正题。首先说说SQLiteOpenHelper这个工具类吧,其实这个工具类网上的教程资料很多,具体使用就不多说,主要说一下我是怎么写的吧。先自原创 2016-08-31 15:41:06 · 907 阅读 · 0 评论 -
gestureimageview开源控件支持长按事件
在我的项目中使用了gestureimageview开源组件,但是我发现该组件并不支持长按事件,于是我对源码进行了修改使其支持了长按事件。使用方法跟普通的长按事件一样,其它未做改动。原创 2016-08-18 10:38:23 · 584 阅读 · 0 评论 -
关于在listview或者gridview等控件中实现跑马灯效果的最好方式
1.在listview或者gridview等控件中实现跑马灯效果的最好方式是在getview中实现setSelected方法(设置为true),网上说的那种自定义TextVew,在isFocu中返回true的方法,会存在焦点被抢占问题,如果页面中有EditText,则无法获取焦点,无法弹出软键盘。原创 2016-01-04 21:30:33 · 530 阅读 · 0 评论 -
android studio 报错Error:Execution failed for task ':app:packageRelease'. 解决方法
报错Error:Execution failed for task ':app:packageRelease'. > Unable to compute hash of /../AndroidStudioProjects/../classes.jar 在Proguard文件增加(如Picasso依赖)-dontwarn com.squareup.picasso.**方法来源h原创 2016-03-16 10:37:55 · 8770 阅读 · 0 评论 -
调用play service方法数太多报错
把play-services调用拆分成一下两个compile 'com.google.android.gms:play-services-location:8.3.0'compile 'com.google.android.gms:play-services-analytics:8.3.0'原创 2016-03-10 11:21:17 · 616 阅读 · 0 评论 -
android提交GIT .gitignore过滤文件配置信息
# Windows thumbnail dbThumbs.db# OSX files.DS_Store# Built application files*.apk*.ap_ # Files for the Dalvik VM*.dex # Java class files*.class # Generated filesbin/gen原创 2016-03-10 11:38:35 · 607 阅读 · 0 评论 -
弹出dialog时,隐藏navigation bar的方法
http://stackoverflow.com/questions/23520892/unable-to-hide-navigation-bar-during-alertdialog-logindialog(方法来源)原创 2016-02-25 17:42:57 · 8711 阅读 · 0 评论 -
图片压缩生成bitmap工具
public static Bitmap LoadBitmapSampleEx2(File file, int MaxWidth, int MaxHeight) throws IOException{if (MaxWidth == 0 || MaxHeight == 0){return null;}FileInputStream inputStream;inputStream = new File原创 2016-04-15 11:00:00 · 556 阅读 · 0 评论 -
图片压缩生成bitmap工具(2)
public static Bitmap LoadBitmapSampleEx(File file, int MaxWidth, int MaxHeight,boolean bSmall) throws IOException { if (MaxWidth == 0 || MaxHeight == 0) { return null; } FileInputStr原创 2016-04-15 11:05:01 · 452 阅读 · 0 评论 -
关于viewpager的错误 java.lang.IllegalStateException: The application's PagerAdapter changed the adapter's
今天程序无意中出现了这样一个奇怪的错误,在网上查了一下说了很多解决方案,但是奇怪的是我使用了这么多次都没出现过这种问题,后来仔细查看自己的代码,发现数据来源用了一个全局List变量,在getCount()处直接返回了list.size()。在使用时调用的是默认无参构造方法,就想着可能是初始化的时候PagerAdapter源码中count数量不一致引起的,而报错信息也说是数量不一致导致的,于是加入了原创 2016-05-11 18:06:47 · 6459 阅读 · 0 评论 -
关于Fragment中定义一个ListView,然后给这个ListView添加header(ViewPager)的问题
加入以下代码搞定: mListView.addHeaderView(headerView, null, false); // 重点 AbsListView.LayoutParams headerViewParams = new AbsListView.LayoutParams(width, 400); headerView.setLayoutPa原创 2016-07-25 17:33:27 · 1328 阅读 · 0 评论 -
android 反编译
1. apktool 还原资源文件 http://download.youkuaiyun.com/detail/vipzjyno1/7025111解压得到3个文件:aapt.exe,apktool.bat,apktool.jar ,将需要反编译的APK文件放到该目录下,打开命令行界面(运行-CMD) ,定位到apktool文件夹,输入以下命令:apktool.bat d -f te原创 2016-07-04 18:19:32 · 414 阅读 · 0 评论 -
android studio代码混淆后,查看服务器端错误日志方法
1. 打开工程目录定位到项目下面 build -> outputs -> mapping -> release -> mapping.txt 这个文件有用。2.找到项目用的sdk依次定位到sdk -> tools -> proguard -> bin -> proguardgui.bat 双击出现界面。3.点击browse 定位到第一步mapping.txt文件。4.Obfusca原创 2016-07-04 18:38:24 · 3462 阅读 · 3 评论 -
android一些工具巧用
作者:gzw1993链接:http://www.zhihu.com/question/27140400/answer/91757401来源:知乎著作权归作者所有,转载请联系作者获得授权。其实在字符串处理方面,android.text.TextUtils这个类就能胜任绝任多数的工作,比如:public static boolean isEmpty(@Nullable Ch转载 2016-07-18 17:04:10 · 549 阅读 · 0 评论 -
自定义安卓照相机
自定义相机,可前后摄像头切换,处理拍照完溢出bug,支持点击屏幕聚焦,与调用系统相机方法完全一样。点击打开链接原创 2016-08-16 11:36:40 · 277 阅读 · 0 评论 -
跟随滑动ViewPager指示器(小圆点跟随滑动效果)
ViewPagerIndicator(https://github.com/Pan-Zhang/ViewPagerIndicator)实现了两种指示器,一种下面圆点跟随跳跃式指示(ViewPagerIndicator),一种滑动跟随式指示(ViewPagerIndicator2),第二种是基于第一种进行的扩展。使用方法: 均可作为普通组件在布局文件中引入,初始化方法也跟普通组件一样原创 2016-08-05 10:55:04 · 2576 阅读 · 0 评论 -
Android binder全解析
Android Binder机制(一) Binder的设计和框架http://wangkuiwu.github.io/2014/09/01/Binder-Introduce/ 这是关于Android中Binder机制的一系列纯技术贴。花了一个多礼拜的时间,才终于将其整理完毕。行文于此,以做记录;也是将自己所得与大家分享。和以往一样,介绍Binder时,先讲解框架,然后再从设转载 2017-12-27 09:52:13 · 275 阅读 · 0 评论