Android学习
文章平均质量分 67
magicyang1234
才转行3年,又转行了。。。。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android学习记录(十九)-简单的动画清除
坑是这样的,来回点某个按钮,结果发现动画结束的状态不对了。。。每次同一个控件起动画的时候,清除动画。if (Target.animate()!=null) { Target.animate().cancel(); } Target.clearAnimation(); Target.setA原创 2016-05-30 20:27:55 · 660 阅读 · 0 评论 -
记录一些android的基础知识
1.service是运行在主线程的么?本地service是运行在主线程的,本地service不能运行耗时操作;remote service不在同一进程中,需要编写aidl进行ipc通讯。2.广播的类型:普通广播,有序广播,本地广播,sticky广播3.线程保护?volitile synchronized synchronized 可以保证原子性 volatile只能保证可见性 如:n=n+1原创 2017-03-05 20:27:29 · 378 阅读 · 0 评论 -
Android学习记录(二十九)-- 旋屏不触发activity oncreate重复加载的方法。
先上解决方法:http://stackoverflow.com/questions/456211/activity-restart-on-rotation-androidandroid:configChanges="keyboardHidden|orientation|screenSize"Then within the Activity override th转载 2016-10-28 14:14:22 · 390 阅读 · 0 评论 -
Android学习记录(三十)-- Android 关于手势Gesture的简单实现和实践中遇到的问题。
1.初识gesture:Android提供的手势:GestureDetector.OnGestureListener。If you only want to listen for a subset it might be easier to extend GestureDetector.SimpleOnGestureListener.基本的手势监听包括:// 用户轻原创 2016-11-08 18:43:13 · 832 阅读 · 0 评论 -
Android学习记录(二十八)--Android apache httpclients的使用。
1.历史原因: Android当前不在支持APACHE的一套内容,开始推自己的网络请求库,基本等同于okhttp。但是非常令人失望的是,这个库目前看支持是不全的,对于网络鉴权,只支持BASE的网络鉴权,不支持DIGEST鉴权,因此APACHE的库依然还需要使用。但是GOOGLE比较恶心,在新的COMPILESDK为6.0的时候,不再允许引入APACHE的基本库。 现在的GRAD原创 2016-09-18 11:01:49 · 1759 阅读 · 0 评论 -
Android学习记录(二十五)-记录一下Android cursor onPause中close的异常。
原来的流程:onPause将原来的cursor关闭。在onResume中,去网络查询数据,获取新的cursor。问题来了,当程序回退的时候,可能还没获取到新的cursor,老的cursor又被close了,cursor被close了。。。会导致异常。解决办法:不要在OnPause关cursor,在onDestroy关cursor。cursor赋值变成新的cursor后,原创 2016-06-23 15:42:35 · 399 阅读 · 0 评论 -
Android学习记录(二十四)-Android ActionBar 隐藏
需要:为什么要隐藏,actitity复用,有的条件下menu不想显示。解决办法:http://blog.youkuaiyun.com/appte/article/details/12104823转载 2016-06-21 09:44:54 · 333 阅读 · 0 评论 -
Android学习记录(二十三)-Android Fragment onBackPressed的处理。
需求:在fragment嵌入了自定义的弹框操作,这个时候回退按键需要实现取消弹框,而系统的回退则是退出activity。然而fragment没有自己的onBackPressed的处理,如何去实现呢?实现的办法是:1.activity去设置一个fragment的监听接口,监听fragment的弹框事件,当弹框发生时,设置一个弹框发生标志位。2.activity复写onBackPr原创 2016-06-21 09:35:07 · 1167 阅读 · 0 评论 -
Android学习记录(二十七)--ListView刷新记录滑动位置的实现。
在listview中实现文件系统时,目录层级跳转,采用activity跳转的话,压栈可能会非常的多,这种实现是不合理的。如果不压栈的话,如果回退到上一次目录,就需要记录上一次滑动的位置。本文记录一下记录滑动位置的实现。实现方法:1.记录跳转时的滑动位置。这个比较讲究,实际使用时,发现如果记录的纯坐标用scrollto的方法来滑动时,listview会有滑动跳变,滑动位置不准原创 2016-07-27 09:25:47 · 699 阅读 · 0 评论 -
Android学习记录(二十六)-Android toolbar使用遇到的坑。
为什么要使用Toolbar?因为actionbar只能虚浮于视图上方,当你想把一个控件悬浮在actionbar上方时,就没招了。(可以通过addview的方式悬浮,但是有焦点问题,其它的控件没法获取焦点)怎么办?使用Toolbar。toolbar的基础用法请自行搜索。本文只描述遇到的坑。本文是基于sdk 21的,23的坑没有填。1.当自己设置toolbar样原创 2016-07-13 09:26:39 · 1581 阅读 · 1 评论 -
Android学习记录(二十二)-Android WEBDAV MKCOL的使用
先上需求:使用webdav上行文件之前,需要创建目录。坑在哪里:http 4.0以后http不再支持excutemethod的方法。不能直接调用mkcol方法进行目录创建。解决的办法:查看开源库:https://github.com/lookfirst/sardine的实现:使用下面的代码自己创建mkcol的类。static class HttpMkCol ex原创 2016-06-12 18:19:55 · 1943 阅读 · 0 评论 -
Android学习记录(二十一)-crash保护处理
本文基本都是基于两篇blog:http://blog.youkuaiyun.com/cym_lmy/article/details/24704089http://blog.youkuaiyun.com/xiaanming/article/details/9344703/为什么要列两篇呢,原来的设计是crash后,2s后重启应用。最近说能不能改成直接关闭app.然后就开始各种方案。htt转载 2016-06-07 19:14:55 · 710 阅读 · 0 评论 -
Android学习记录(十六) recyclerview 滑动慢的问题。
一般来说可能如下2个原因:1.onBindViewHolder中的处理比较耗时,如:Universal ImageLoader的异步线程图片加载适合你。这个不是我的坑。~2.http://stackoverflow.com/questions/3928193/how-to-animate-addition-or-removal-of-android-listview-rows/312580转载 2016-05-20 20:49:28 · 932 阅读 · 0 评论 -
Android学习记录(十五) --界面随谈。
最近在重新改ui界面,随便记录点东西。1.控件的高度自定义。//获取屏幕属性WindowManager wm = (WindowManager) this .getSystemService(Context.WINDOW_SERVICE);int width = wm.getDefaultDisplay().getWidth() / 2;// 屏幕宽度Image转载 2016-05-20 20:05:23 · 337 阅读 · 0 评论 -
不同的fragment切换不同的actionbar.
http://bbs.youkuaiyun.com/topics/390877448第22楼。转载 2016-05-09 17:01:12 · 742 阅读 · 0 评论 -
Android学习记录(二十)-viewpager切换数据加载的简单优化。
背景:默认的viewpager是要加载前后两个view的数据的。如果你有定时轮询其它页面的网络请求时。。。。没必要的开销有时候会很坑,尤其是弱网。。。方法2种:1.什么修改包的默认属性这种不适合偶们。2.在不可见的时候,网络的定时器不要起,或者关掉就o了。复写:setUserVisibleHint方法。 @Override public void s原创 2016-05-30 20:31:09 · 1336 阅读 · 0 评论 -
ANDROID学习记录(1)--FragmentTabHost 和Fragment的切换。
当主页使用Activity的intent跳转时,会产生activity的堆栈,对于首页和切换频繁的页面界面呈现效果会非常的差。可以通过Fragment进行切换。Android加入了FragmentTabHost的控件,可以简单的实现Fragment的切换并实现Fragment切换时的监听。布局代码如下:FrameLayout android:id="@+id/realt原创 2015-12-18 19:18:11 · 468 阅读 · 0 评论 -
Android学习记录(十八)-url转义继续填坑之旅
前面的blog其实很坑。。。先来说几个概念:URI :Uniform Resource Identifier,统一资源标识符;URL:Uniform Resource Locator,统一资源定位符;URN:Uniform Resource Name,统一资源名称。其中,URL,URN是URI的子集。Web上地址的基本形式是URI,它代表统一资源标识符。有两种形式:UR原创 2016-05-30 20:02:01 · 3886 阅读 · 0 评论 -
Android学习记录(十四) digest鉴权的文件播放
首先这是一个相对来说比较复杂的流程,为什么呢?因为1.intent调第三方数据是没有办法鉴权的,这个需要pass.2.mediaplay的方案只能将数据缓存,读取缓存的数据,对于电影资源文件大小都是巨大的,这个方案也被pass了。目前从我的实践看,只能通过webview的方式来进行鉴权的视频播放。先来看鉴权,player.setHttpAuthUse原创 2016-05-16 22:06:10 · 868 阅读 · 0 评论 -
Android学习记录(十二) http之base/digest鉴权。
说下背景,我们实现的http的文件下载是基于webdav协议的。这个肯定是需要鉴权的~android 5.1不再推荐使用apache的client,今天努力想尝试一下用httpurlconnection替换一下。大家可以到stackoverflow搜索一下,目前httpurlconnection还不支持digest鉴权,只支持base的鉴权。下面是httpurlconnec原创 2016-05-04 18:44:07 · 2404 阅读 · 0 评论 -
Android学习记录(十一) 填坑之inputStream close关闭慢的处理。
先上stackoverflow的解决方案,再来细说:http://stackoverflow.com/questions/18471088/inputstream-close-takes-too-long-to-finish-time-relative-to-size-of-file当使用http get的文件巨大时,你会发现stream.close()的方法会特别的慢。为转载 2016-05-04 18:26:36 · 2703 阅读 · 0 评论 -
Android学习记录(十) 弹框阻塞处理
需求:需要做一个弹框,弹框完成后再进行其它数据处理。开始的时候在主线程做了for循环来处理弹框触发和相应的逻辑,结果发现无论是alertdialog还是popupwindow都无法真正做到阻塞主线程处理。开始的时候有了个奇葩的想法,想写标志位来阻塞主线程。。。弹框结束后来改写标志位,结果你懂的。。。(ui全阻塞。。。)现在后来发现其实问题的根源就在于主线程for循环,就不应该用for循原创 2016-05-03 20:38:08 · 2686 阅读 · 0 评论 -
Android学习记录(十三) http之digest鉴权之填坑6.0。
背景:android 6.0.1 的手机发现使用webdav下载文件实效,httpclient.execute get的时候出现:CrashHandler: java.lang.ArrayIndexOutOfBoundsException: length=1; index=1原创 2016-05-13 14:33:08 · 2286 阅读 · 1 评论 -
Android学习记录(十七)-背景图片缩放
当你突然想在一个线性布局里插入一个背景图,你的想法是什么呢?设置background,如果这个背景图是url的呢,使用Universal ImageLoader可以设置背景图:http://stackoverflow.com/questions/20952622/set-background-of-relativelayout-with-downloaded-image-with-univer转载 2016-05-25 18:47:51 · 3067 阅读 · 0 评论 -
Android学习记录(九) android通过自定义view画进度。
记录一下,canvas实际用的还比较少,有空需要再细看一遍~直接上代码。~我中间是一个按钮,在按钮外圈画圆弧表示进度。 protected void onDraw(Canvas canvas) { super.onDraw(canvas); int width = this.getWidth(); int height = this.转载 2016-04-29 21:37:11 · 335 阅读 · 0 评论 -
Android学习记录(八) alertDialog和popupwindow简单实现
前言:这两天很脑抽的想去实现连续两个对话弹框。今天同事来了一句你不会多加一个选项,干么非要连续跳两个对话框,顿时欲哭无泪。。。各人理解的alertDialog和popupwindow最大的区别就是alertDialog是非阻塞的,popupwindow是阻塞的。当可能有多个弹框出现时,用非阻塞的明显不怎么靠谱。alertDialog有自己固定的样式。也可以自己设定样式。原创 2016-04-29 20:37:11 · 429 阅读 · 0 评论 -
Android学习记录(四) 只在当前应用有效的数据库实现。
在Android应用中,有些时候数据库不需要其他应用来访问,也就没有必要使用Content Provider来进行数据存储。对于只在当前app使用的数据库,我们如何进行数据库的相应操作呢?第一步:创建一个数据库,创建相应的表。SQLiteOpenHelper可以很轻松的帮助你完成上述内容。这里就不做说明了。第二步:当我们进行数据库更新,如增、删、修改的时候,Co原创 2016-04-13 23:34:47 · 367 阅读 · 0 评论 -
Android学习记录(三)Android的代码混淆及反编译验证
混淆:这里只在Android studio中做示例:在Build.gradle文件中修改release的编译属性: release { minifyEnabled true// proguardFiles getDefaultProguardFile('proguard-android.txt'), "proguard-ru原创 2016-04-13 23:17:23 · 746 阅读 · 0 评论 -
Android学习记录(七) 记录一下最近遇到的坑:文件断点续传的问题。
其实很简单~~~File file = new File(localPath);if (!file.exists()) { file.createNewFile();}if (file.length() != 0) { httpGet.addHeader("Range", "bytes=" + file.length() + "-"); down原创 2016-04-26 21:47:46 · 628 阅读 · 0 评论 -
Android学习记录(六) 记录一下最近遇到的坑:url转义遇到的问题
对于未进行url转义的http地址,对于特殊字符如:[]+空格等都需要url转义。当使用httpclient无法接收java.encode转义的结果。解决方法:http://stackoverflow.com/questions/724043/http-url-address-encoding-in-java URL url = new URL(decoded转载 2016-04-26 21:40:57 · 2175 阅读 · 0 评论 -
Android学习记录(五) 记录一下最近遇到的坑:android actionbar menu菜单无显示。
这里搬运一下:http://stackoverflow.com/questions/18010072/menu-items-are-not-showing-on-action-bar8down voteI think you want to show the overflow menu icon on the top right al转载 2016-04-26 21:36:51 · 833 阅读 · 0 评论 -
Android学习记录(二)--第三方图片库Universal Image Loader的使用。
前言项目需要大规模的从后端下载图片在app上显示。前期使用了Google推荐的BitmapFun,而没有考虑使用第三方的库,实际使用过程中,发现需要大段的修改源码,成本极高。最近使用Universal Image Loader的第三方开源库,实际效果比较理想。使用转载一篇出自xiaanming的博客(http://blog.youkuaiyun.com/xiaanming/articl原创 2016-03-10 18:58:28 · 513 阅读 · 0 评论
分享