Android点滴
stefory
我,行走江湖多年,擅使渊虹剑,去过羊村,坐骑皮卡丘,吃过恶魔果实,拥有无限查克拉,以收集七龙珠保护奥特曼为己任,座右铭是:真相只有一个。
展开
-
Android Webview获取网页标题和文本内容
通过自定义webview实现类似IOS webview中的stringByEvaluatingJavaScriptFromString方法获取js中的文本简介,代码如下:public class MyWebView extends WebView { public MyWebView(Context context) { super(context); } pub原创 2016-09-07 15:34:16 · 10175 阅读 · 2 评论 -
Error:(1, 1) 错误: 需要class, interface或enum
造成这个error的原因是java文件编码格式不对, 比如可能是你之前这个文件是用GBK写的,后来复制到utf-8环境里编译,而文件里有些是隐藏的字符,很难找出来的。解决方法是在Notepad++新建一个空白文件,指定其编码格式,然后把代码复制进去,保存成你要的文件就行。原创 2015-09-10 22:56:36 · 26557 阅读 · 6 评论 -
最美应用-从Android研发工程师的角度之[最美时光]
@author ASCE1885的 Github 简书 微博 CSDN 最近发现最美应用这样一个网站,它会定期推介一些很有意思的app,作为开发者,每次看到很棒的app都会从实现角度进行剖析,想着如果是自己将如何实现呢?因此,就有了这个系列的文章,旨在从技术选型和架构的角度解读一些有意思的app。 最美时光是最美应用团队出品的一个纪念日app,用于记录和分享那些重要的日子,我们就先从这转载 2015-08-21 10:07:16 · 714 阅读 · 0 评论 -
Android自定义圆形头像
在开发中常用到圆形图片,试过很多方法都不理想,直到后来发现了CircleImageView这个开源项目,效果杠杠滴。 这个项目很简单,只有一个类,只要把CircleImageView.java这个自定义的ImageView的类复制到项目中,然后在attrs.xml文件中添加以下属性:<declare-styleable name="CircleImageView"> <attr n原创 2015-08-04 16:17:00 · 837 阅读 · 0 评论 -
RadioButton和CheckBox
RadioButton和CheckBox的区别:单个RadioButton在选中后,通过点击无法变为未选中 单个CheckBox在选中后,通过点击可以变为未选中一组RadioButton,只能同时选中一个 一组CheckBox,能同时选中多个RadioButton在大部分UI框架中默认都以圆形表示 CheckBox在大部分UI框架中默认都以矩形表示附:自定义RadioButton,原创 2015-09-01 15:34:18 · 1034 阅读 · 0 评论 -
去除ListView 上下边界蓝色或黄色阴影
默认的情况下,在 ListView 滑动到顶部或者是底部的时候,会有黄色或者蓝色的阴影出现。在不同的版本上解决的方法是不同的,在 2.3 版本之前可以在 ListView 的属性中通过设置 android:fadingEdge=”none” 来解决问题,但是在 2.3 及以上版本这中方法是无效的,这里,可以通过重写 ListView 用代码来设置模式,禁止其阴影的出现,以免影响美观。代码如下:pac原创 2015-07-28 10:28:55 · 1775 阅读 · 0 评论 -
实现Activity的滑动返回效果(二)
百度贴吧有滑动切换Activity的功能,感觉很方便: 这种功能要自己写还是挺复杂的,幸运的是,已经有比较成熟的开源项目,项目地址:https://github.com/r0adkll/Slidr。下面将使用这个开源项目,快速实现相似的功能。一、导入Slidr到项目在dependencies中加入下面一句,就可以引入开源库到当前项目:compile 'com.r0adkll:slidable转载 2015-08-08 10:38:48 · 3575 阅读 · 2 评论 -
webview上传图片
在一个项目中用到的,webview中选择相册的图片上传,关键代码如下:private ValueCallback<Uri> mUploadMessage;private final static int FILECHOOSER_RESULTCODE = 1;mWebView.setWebChromeClient(new MyWebClient());//自定义webviewClientpubli原创 2015-07-27 21:18:04 · 903 阅读 · 0 评论 -
实现Activity的滑动返回效果
介绍在知乎客户端上看到了这种效果,左滑Activity可以返回到上一界面,非常适合单手操作。 找了很久,终于在github上看到了SwipeBackLayout这个开源项目,地址: https://github.com/ikew0ng/SwipeBackLayout实现需要使用到的类:SwipeBackActivity.javaSwipeBackLayout.javaViewDragHe原创 2015-06-12 18:19:20 · 4742 阅读 · 3 评论 -
获取android项目相关信息
1. 获取设备号public static String getIMEI(Context context) { return ((TelephonyManager) context.getSystemService( Context.TELEPHONY_SERVICE)).getDeviceId(); }2. 获取项目版本号public static in原创 2015-06-12 18:31:34 · 774 阅读 · 0 评论 -
Android快速开发系列 10个常用工具类
打开大家手上的项目,基本都会有一大批的辅助类,今天特此整理出10个基本每个项目中都会使用的工具类,用于快速开发~~1. 日志工具类 L.javapackage com.zhy.utils; import android.util.Log; /** * Log统一管理类 * * * */ public class L { private L()转载 2015-05-20 17:23:40 · 503 阅读 · 0 评论 -
Android内存泄漏分析实战
内存泄漏简介java可以保证当没有引用指向对象的时候,对象会被垃圾回收器回收,与c语言自己申请的内存自己释放相比,java程序员轻松了很多,但是并不代表java程序员不用担心内存泄漏。当java程序发生内存泄漏的时候往往具有隐蔽性。因此要借助一些专业的平台资源http://t.cn/zQ6JvmN去保证安全性,例如可以通过加密实现http://t.cn/zQ6JvmN。定义引用百度百科的定义:“用动转载 2015-06-27 12:14:58 · 613 阅读 · 0 评论 -
简单粗暴的图片压缩,可以压到100kb以内
public static Bitmap revitionImageSize(String path) throws IOException { BufferedInputStream in = new BufferedInputStream(new FileInputStream(new File(path))); BitmapFactory.Options opt原创 2015-06-26 11:31:45 · 12897 阅读 · 0 评论 -
Android 中使用自定义字体的方法
使用Android系统默认支持的三种字体”sans”, “serif”, “monospace”<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:Android="http://schemas.android.com/apk/res/android" Android:layout_width="fill_parent"原创 2015-06-25 15:09:00 · 865 阅读 · 0 评论 -
android软键盘把页面挤上去的解决方法
使软键盘覆盖在布局的上面 在AndroidManifest.xml文件中找到相应的 < Activity >, 在里面添加下面熟悉即可:android:windowsoftinputmode="adjustpan"不让软键盘覆盖界面,而是让布局上移 添加下面熟悉:android:windowsoftinputmode="statevisible|adjustresize"原创 2015-08-21 14:30:52 · 2859 阅读 · 1 评论 -
TransitionDrawable一个能渐变显示的Drawable
如果我想在ImageView显示图片的时候有个渐变的动画效果,那么你可能会想到使用animation动画来实现,但这这种方式看起来不会自然,因为在调用statAnimation的时候因为图片已经显示了,这样再硬生生的播放一次动画其实会导致细微的闪烁效果。使用TransitionDrawable可以完美解决这个问题。使用示例:final TransitionDrawable td = new Tran转载 2015-09-14 18:57:03 · 705 阅读 · 0 评论 -
关于onCreate(Bundle savedInstanceState, PersistableBundle persistentState)
今天在我写demo的时候遇到一个问题,当我加载Activity界面的时候,打出onCreate随手回车,setContentView之后却始终无法显示界面,找遍一切可能出错的地方,最后在这个onCreate方法上面发现了猫腻。系统自动给我提供了这么一个onCreate()。@Overridepublic void onCreate(Bundle savedInstanceState, Persis转载 2016-07-20 16:39:32 · 827 阅读 · 0 评论 -
Android利用微信SDK分享到微信教程,回调分享结果错误解决和注意点
在正式开始之前这里要着啰嗦一下,进来的同学一定要看,在申请应用的时候要填一个签名,这个签名是由应用的签名文件keystore决定的,那么你在填这个签名的时候,一定要把你的应用用正式的keyStore生成apk,安装到手机,然后用微信提供的获取应用签名的apk工具获取你应用的签名,然后这会生成的这个签名才是正确的,千万记得,不要使用dubug的ketStore测试,不然后面虽然可以修改,修改了后要审核转载 2016-07-08 12:04:55 · 6265 阅读 · 1 评论 -
自定义控件(一)--带清除和抖动功能的EditText
源码如下:public class ClearEditText extends EditText implements View.OnFocusChangeListener,TextWatcher { /** * 删除按钮的引用 */ private Drawable mClearDrawable; /** * 控件是否有焦点 */原创 2015-06-25 18:08:04 · 927 阅读 · 0 评论 -
Android自定义View的注意点
参考android developer,文章适用于用过一点点自定义view的新手。 首先讲两个方法:invalidate();requestLayout();invalidate()方法用于指示View的绘画已经失效,需要刷新,使用这个方法会调用View内部的draw方法。 已经失效一般来说就是你在ondraw里面需要的参数变了,就要使用这个方法requestLayout()方法用于告转载 2015-08-19 12:13:18 · 792 阅读 · 0 评论 -
Android Weak Handler:可以避免内存泄漏的Handler库
android使用java作为其开发环境。java的跨平台和垃圾回收机制已经帮助我们解决了底层的一些问题。但是尽管有了垃圾回收机制,在开发android的时候仍然时不时的遇到out of memory的问题,这个时候我们不禁要问,垃圾回收机器去哪儿了?我们主要讲的是handler引起的泄漏,并给出三种解决办法,其中最后一种方法就是我们想介绍的WeakHandler 库。可能导致泄漏转载 2015-01-07 14:21:42 · 936 阅读 · 0 评论 -
Android中Handler引起的内存泄露
Android中Handler引起的内存泄露转载 2015-06-03 15:47:36 · 532 阅读 · 0 评论 -
解决viewpager懒加载的问题
一个类解决你的懒加载问题,系统默认的viewpager加载的个数是3 ,我们可以通过重写viewpager来实现viewpager的懒加载,代码如下:/* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License");原创 2015-06-25 11:21:18 · 1948 阅读 · 0 评论 -
Yelp app是如何使用Glide优化图片加载的
原文:Glide – How Yelp’s Android App Loads Images 动态加载图片是很多安卓应用的基础。在Yelp(美国最大点评网站)中,图片在把消费者与商家联系起来的过程中至关重要。随着网络通信和硬件水平的越发强大,消费者对于图片数量和图片质量的期望日益增长。图片可以轻易的成为内存和网络流量的消耗大户,处理图片数据的下载和管理成为了一个让人望而却步的任务。我们探索了几种处理转载 2015-08-03 11:57:45 · 1040 阅读 · 0 评论 -
还在用XListView?试试更漂亮的AutoLoadListView吧!
关于上拉刷新和下拉加载,已经有不少的解决方案了,XListView和PullToRefresh应该是被广为熟知的开源项目,项目很棒,可以解决我们的需求。但是,今天咱们用一种更简单的方式,来实现上拉刷新和下拉加载功能,我叫它AutoLoadListView~先来一张效果图。 刷新效果使用19版本之后的v4兼容包的SwipeRefreshLayout实现,效果很漂亮,而自动加载下一页的跳动效果,则转载 2015-09-13 09:29:10 · 1543 阅读 · 0 评论 -
Android代码优化小技巧总结
前言这篇文章主要是介绍了一些小细节的优化技巧,当这些小技巧综合使用起来的时候,对于整个Android App的性能提升还是有作用的,只是不能较大幅度的提升性能而已。选择合适的算法与数据结构才应该是你首要考虑的因素,在这篇文章中不会涉及这方面。你应该使用这篇文章中的小技巧作为平时写代码的习惯,这样能够提升代码的效率。代码性能优化建议 原文: http://developer.android.com/转载 2015-10-29 22:18:34 · 535 阅读 · 0 评论 -
单个字符串转Json格式
String str = "2016-7-27";网络请求传参给后台往往是json格式,所以需要转换。HashMap<String, String> param = new HashMap<>();param.put("date", date);String content = JSON.toJSONString(param);输出结果: {“date”:”2016-7-27”}原创 2016-07-27 11:24:51 · 1644 阅读 · 0 评论 -
文字保护纱-Material Design
Ok,关于这个Material Design 都快被说烂了,他被开发者越来越熟悉的程度,却与市场上的单薄身影形成了鲜明的对比,以至于每当我提及Material Design时就像祥林嫂附身一样。有些人说,MD里有些看起来很泛,告诉你一个绝招,如果你是一个独立开发者,或者你的app对UI的要求相对较低,又或者你身边没有UI资源,你完全可以按照MD里的规范COPY一个相对看起来会很顺眼的应用,甚至完爆所转载 2015-11-17 19:34:24 · 1130 阅读 · 0 评论 -
Android 支付宝支付功能封装实现
在做Android支付的时候肯定会用到支付宝支付, 根据官方给出的demo做起来非常费劲,所以我们需要一次简单的封装。封装的代码也很简单,就是将官网给的demo提取出一个类来方便使用。/** * 支付宝支付 * * @author lenovo */public class Alipay { // 商户PID public static final String PARTNER转载 2015-11-05 11:57:55 · 550 阅读 · 0 评论 -
安卓在代码中设置TextView的drawableLeft、drawableRight、drawableTop、drawableBottom
安卓在代码中设置TextView的drawableLeft、drawableRight、drawableTop、drawableBottomTextView的xml文件<TextView android:id="@+id/tv_versionstatus" android:layout_width="wrap_content"转载 2015-01-26 13:31:13 · 1139 阅读 · 0 评论 -
封装一个类搞定90%安卓客户端与服务器端交互
本文详情链接:http://blog.csdn.net/lk_blog/article/details/7706348本实例封装了一个处理安卓客户端与服务器端交互的几个方法,对于中文乱码问题本实例也找到了解决方案.本例可以处理的场景如下:1.与服务器端交互json数据.2.Get方式与服务器端交互数据.3.Post方式与服务器端交互数据.4.HttpCl转载 2014-02-10 14:56:36 · 1565 阅读 · 1 评论 -
android中listview的一些样式设置
在Android中,ListView是最常用的一个控件,在做UI设计的时候,很多人希望能够改变一下它的背景,使他能够符合整体的UI设计,改变背景背很简单只需要准备一张图片然后指定属性 android:background="@drawable/bg",不过不要高兴地太早,当你这么做以后,发现背景是变了,但是当你拖动,或者点击list空白位置的时候发现ListItem都变成黑色的了,破坏了整体效果转载 2013-12-30 10:28:29 · 916 阅读 · 0 评论 -
Android Activity间的过渡动画
(本文详情来源:http://blog.csdn.net/h3c4lenovo/article/details/11526195 转载请注明出处)在Android中,两个activiyt的切换总是自左向右抽动的效果在Activity中提供了overridePendingTransition函数,用在startActivity(Intent) 或 finish之后,转载 2013-12-05 09:09:37 · 1739 阅读 · 1 评论 -
android自定义字体和程序启动时的加载页面
先看效果图:布局文件代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_par原创 2013-12-05 13:39:46 · 1727 阅读 · 1 评论 -
invalidate()和postInvalidate() 的区别及使用
(本文详情来源:http://blog.csdn.net/mars2639/article/details/6650876 转载请注明出处)Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。 invalida转载 2013-12-04 16:17:05 · 880 阅读 · 0 评论 -
ListView中的几个常用adapter的使用示例
一、ArrayAdapter/*** ArrayAdapter的使用*/public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.main); ListView listView = (ListView)findViewB原创 2013-12-11 13:50:05 · 1203 阅读 · 0 评论 -
模拟器上的localhost问题
error: java.net.ConnectionException : localhost/127.0.0.1:8080 Connection refused报错原因:模拟器默认把localhost/127.0.0.1 当做本身解决办法:在模拟器上可以用10.0.2.2 代替127.0.0.1/localhost 另外,如果在局域网环境可原创 2013-12-02 22:02:26 · 3306 阅读 · 1 评论 -
实现异步加载图片
项目中会经常用到异步加载图片并保存到SoftReference中,特此整理一下。/** * 异步加载图片,使用SoftReference 软引用 * 它的作用是管理内存,防止内存溢出,还可以缓冲一些drawable让我们直接使用,当内存不足时才自动回收这些引用对象 * * @author Administrator * */public class AsyncImageLoad原创 2013-12-02 17:34:30 · 1213 阅读 · 0 评论 -
Android应用程序退出的一种方案
思路:把所有Activity 都收集到一个 List 链表中,在退出的时候只需要使用for循环遍历一遍链表即可。首先新建一个SysApplication.java文件/***使用单例保存所有的Activity到链表*/public class SysApplication extends Application{ private List mList = new LinkedLis原创 2013-12-02 16:06:20 · 1154 阅读 · 0 评论 -
Android内存机制
(本文详情来源:http://www.eoeandroid.com/thread-311772-1-1.html 转载请注明出处)内存溢出的问题的确是个大的问题想了解java的GC回收机制 就一定要先认识一下JVM堆,其分三个部分新域、旧域和永久域。新域:存储所有新成生的对象旧域:新域中的对象,经过了一定次数的GC循环后,被移入旧域永久域:存储类和方法对象,从配置的转载 2013-12-02 13:28:30 · 1014 阅读 · 0 评论