
【Android类】
jiyiqini
这个作者很懒,什么都没留下…
展开
-
WebView中文乱码问题
使用 loadData方法是中文部分会出现乱码,即使指定“utf-8”、“gbk”、“gb2312”也一样。webView.getSettings().setDefaultTextEncodingName("UTF -8");//设置默认为utf-8//webView.loadData(data, "text/html", "UTF -8");//API提供的标准用法,无法解决乱码问题we转载 2015-07-02 14:13:40 · 284 阅读 · 0 评论 -
volley框架学习(2)
版权声明:本文为博主原创文章,未经博主允许不得转载。 1、对volley源码结构的解析 源码有2个文件夹:1.1、 volley包下:1、VolleyLog.java:volley框架自定义的日志工具类。VolleyError.java:继承Exception,自定义封装的异常类。TimeoutError.java:继承Vo转载 2015-12-29 10:21:02 · 368 阅读 · 0 评论 -
android开源框架Volley框架简介
版权声明:本文为博主原创文章,未经博主允许不得转载。讨论QQ群:372702757目录(?)[+]一、引言虽然网上已经有很多大神、高手都写过了类似的帖子,但作为新人,必须要走模仿的道路,再考虑超越,因此学习大神的笔记,记录自己的理解,是一个菜鸟走向成功的必经之路啊。如签名所言,记录自己摸爬滚打的经历,享受不悔的青春。废话不多说,言归正传。二、Voll转载 2015-12-29 11:01:10 · 396 阅读 · 0 评论 -
Android图文详解属性动画
版权声明:本文为博主原创文章,未经博主允许不得转载。如果觉得文章不错,记得顶一下!如果有疑问觉得文章中有错误,欢迎大家在评论中给我留言指正,看到会及时回复,多多交流目录(?)[+]Android中的动画分为视图动画(View Animation)、属性动画(Property Animation)以及Drawable动画。从Android 3.0(API转载 2015-12-18 11:13:14 · 572 阅读 · 0 评论 -
10个Android开源个性化View控件
10个Android开源个性化View控件字数493 阅读1498 评论4 喜欢17在本文中,小编整理了10个Android开源项目中不错的个性化View控件,相信有你喜欢的。一起来Enjoy吧!1.SlideAndDragListView支持ListView的Item的拖动排序、左右滑动事件,可自定义左右滑动显示文字、图标、位移,同时支持onItemClick转载 2016-01-04 10:27:49 · 362 阅读 · 0 评论 -
Android中巧妙的位运算
版权声明:本文为博主原创文章,未经博主允许不得转载。按计划每周更新一篇技术博文,第六篇:《Android中巧妙的位运算》Android在编码的时候经常使用到位运算,这里以Intent的Flags为例。(查看Intent说明文档)首先通过查看Flags的值,都是16进制数值代表,且只使用一位并只为1|2|4|8 (与2的次方相关),例举几个源码中对应的值:转载 2016-01-21 14:49:46 · 696 阅读 · 0 评论 -
setCompoundDrawables与setCompoundDrawablesWithIntrinsicBounds的区别
版权声明:本文为博主原创文章,未经博主允许不得转载。更换radiobutton中的图片在xml中很好设置,但对于初学者如何在代码中设置还是不容易找的。没法子,通过看原版api找到两个方法,setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds。下面交给大家方法。第一个方法:setCompoundDra转载 2016-01-21 15:29:09 · 677 阅读 · 0 评论 -
Android仿qq下拉刷新及向左滑动列表----PullToRefresh, SwipeMenuListView开源项目整合
版权声明:本文为博主原创文章,未经博主允许不得转载。项目Github链接:https://github.com/licaomeng/Android-PullToRefresh-SwipeMenuListView-Sample如果项目对您有帮助,欢迎小伙伴们在github上Star我的项目~PullToRefresh是一个非常完美的下拉刷新的开源项目,SwipeMenuLis转载 2016-01-06 10:29:55 · 1435 阅读 · 0 评论 -
Android Touch事件传递机制
版权声明:本文为博主原创文章,未经博主允许不得转载。Touch事件传递机制,其实说起来还是比较复杂的,所涉及的内容和细节也都比较多。为了方便理解,本文将由浅入深的进行讲解。首先要知道我们对于屏幕的所有操作,包括点击、放开、滑动,以及由这些基本操作组成的放大、缩小、旋转等操作全部是被封装在MotionEvent对象中进行操作的。我们需要通过getAction()判断是何种事件。这些事转载 2016-01-06 11:15:37 · 323 阅读 · 0 评论 -
popup window点击窗口外区域不消失的解决方法
版权声明:本文为博主原创文章,未经博主允许不得转载。方法其实so easy:[java] view plain copypopupWindow.setTouchable(true); popupWindow.setFocusable(true); popupWindow.setBackgroundDrawable(new转载 2016-01-25 10:37:21 · 739 阅读 · 0 评论 -
Volly框架(一):简单入门(1)
Android Volley入门到精通:初识Volley的基本用法(示例,出错代码)1. Volley简介我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我转载 2015-12-25 10:36:07 · 395 阅读 · 0 评论 -
Volly框架(一):简单入门(2)——加载图片
Android Volley入门到精通:使用Volley加载网络图片(示例,出错代码)在上一篇文章中,我们了解了Volley到底是什么,以及它的基本用法。本篇文章中我们即将学习关于Volley更加高级的用法,如何你还没有看过我的上一篇文章的话,建议先去阅读Android Volley完全解析(一),初识Volley的基本用法。在上篇文章中有提到过,Volley是将A转载 2015-12-25 14:17:40 · 424 阅读 · 0 评论 -
深入理解View(一):View的位置参数信息
版权声明:转载请标注原文地址深入理解Android View(一) View的位置参数信息 二、View的绘制过程 View的绘制过程一共分为三个部分: - measure(测量View的大小) - layout(确定View的位置) - draw(画出View) 通常我们的View都是以这样的树结构呈现的,如下图 当然我们这里ViewGrou转载 2016-01-12 10:54:20 · 958 阅读 · 0 评论 -
Android px、dp、sp之间相互转换
版权声明:本文为博主原创文章,未经博主允许不得转载。dp(dip): device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。dp也就是dip,这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是转载 2016-01-12 11:03:31 · 323 阅读 · 0 评论 -
Android自定义可动画展开收缩View的实现
Android 自定义View修炼-自定义可动画展开收缩View的实现有时候需要点击一个view可以动画展开和收缩折叠一个View这样的效果,这样就可以直接自定义View来实现。本例中,采用继承FrameLayout来实现自定义的ExpandView。下面将详细介绍各个部分来实现该类以及如何使用该自定义视图。效果图如下:未展开效果:正在向上折叠收缩中的效果:转载 2016-06-14 12:07:22 · 10010 阅读 · 0 评论 -
Android ImageSpan与TextView中的text居中对齐问题解决(无论TextView设置行距与否)
先解释一个类:Paint.FontMetrics,它表示绘制字体时的度量标准。google的官方api文档对它的字段说明如下: ascent: 字体最上端到基线的距离,为负值。descent:字体最下端到基线的距离,为正值。看下图: 中间那条线就是基线,基线到上面那条线的距离就是ascent,基线到下面那条线的距离就是descent。 回转载 2016-07-29 16:16:59 · 729 阅读 · 0 评论 -
Volley框架学习(1)
版权声明:本文为博主原创文章,未经博主允许不得转载。Volley是google推出的一个用于处理网络的框架。 1、volley的简单功能: 简单来说,它提供了如下的便利功能: •JSON,图像等的异步下载; •网络请求的排序(scheduling) •网络请求的优先级处理 •缓转载 2015-12-29 10:16:42 · 293 阅读 · 0 评论 -
Andorid之网络通信框架Volley使用和总结
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[-]Volley Volley引入的背景Volley提供的功能21 使用前的准备3 Volley的架构设计4Volley 中的概念Volley的简单使用获取JSON对象11声明RequestQueue2 声明并使用Request 13取消Request2图片加载转载 2015-12-28 11:38:33 · 1130 阅读 · 0 评论 -
Android对SQLite批量添加数据
[+]有人去面试的时候面试官问这么一个问题。如何将大量的数据同时插入到Sqlite?或者说批量数据插入数据库?本人总结了一下几种方法,重点注意后面那一点1. 使用ContentValues插入db.beginTransaction(); // 手动设置开始事务 for (ContentValues v : list) { db.inser转载 2015-07-02 14:16:16 · 500 阅读 · 0 评论 -
Android开发,Eclipse未自动创建MainActivity及main.xml?
Eclipse进行Android开发时,新建工程后未自动生成第一个MainActivity及main.xml的原因: Eclipse缺少了相关的组件,需要更新。。。Eclipse --> Help --> Install new software --> Pasted URL http://dl-ssl.google.com/android/eclipse/ pressed Enter.转载 2015-07-02 13:58:19 · 506 阅读 · 0 评论 -
NullPointerException at android.widget.AbsListView.obtainView at android.widget.GridView.onMeasure
今天给GridView设置数据时一直莫名报空指针,错误信息如下,后来网上搜索查下,才知道知己在adapter的getView()方法里返回的是null,真想给自己一个大嘴巴子,特此记录下这个失误。1-26 16:48:33.209: E/AndroidRuntime(3169): FATAL EXCEPTION: main11-26 16:48:33.209: E/AndroidRunti转载 2015-07-02 14:07:56 · 393 阅读 · 0 评论 -
Android之Sqlite模糊查询
细节区别于MySql数据库里的模糊查询,Sqlite数据库里的模糊查询在条件语句里只写:" like ? ",在填充占位符的实参中才写:" %模糊名字%"例如:mSqlDatabase.query(tableName, null, " like ?", new String[] { "%" + new String("模糊名字".getBytes(), "utf-8") + "%" }原创 2015-07-02 13:48:14 · 640 阅读 · 0 评论 -
利用ViewHolder优化自定义Adapter的典型写法
用ViewHolder,主要是进行一些性能优化,减少一些不必要的重复操作。public class MarkerItemAdapter extends BaseAdapter{ private Context mContext = null; private List mMarkerData = null; public MarkerItemAdapter(Co转载 2015-07-02 13:51:52 · 310 阅读 · 0 评论 -
Android通过Post与Get提交数据
使用Get方法提交: 其他步骤与上一节的操作相符,只是在传送地址的时候发送参数的格式如下: //Sname和Sage是实际的数据 name和age则是例如是输入框中的名字 url = "服务器的地址"+ "?" + "name=" + Sname + "&age=" + Sage;使用Post方法提交: //使用NameValuePair类来保存键转载 2015-07-02 14:15:26 · 274 阅读 · 0 评论 -
pc上使用有root权限的adb shell命令来操作android手机
将android手机连接pc后(手机需要开启usb调试模式),再使用pc上的adb shell操作android手机会非常方便,因为可以使用类似于ubuntu的大多数命令,相信用过的都知道,哈哈,不过这时候使用adb shell命令的用户是手机上的shell用户,如果要查看或修改一些需要root权限的文件则会提示“permission denied”,如果解决这个问题呢,其实非常简单,两步走(前提转载 2015-07-02 14:08:50 · 1242 阅读 · 0 评论 -
Android 编程下 Touch 事件的分发和消费机制
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup、View、Activity。方法与控件的对应关系如下表所示:Touch转载 2015-07-02 14:09:43 · 214 阅读 · 0 评论 -
Android中px和dp的互相转换
很多控件的方法中都只提供了设置px的方法,例如setPadding,并没有提供设置dp的方法。这个时候,如果需要设置dp的话,就要将dp转换成px了。import android.content.Context; public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */转载 2015-07-02 14:14:26 · 381 阅读 · 0 评论 -
在ActionBar中进行Fragment之间的切换
在ActionBar中添加标签(Tabs),每个标签对应的是一个Fragment,点击不同的Tab时,就会切换到对应的Fragment。 这里有五个关键步骤: 1. 要实现 ActionBar.TabListener接口,当点击Tab的时候触发这个接口里面的事件,有onTabSelected(), onTabUnselected(), 和 onTabReselected(). 实现Ac转载 2015-07-02 14:17:08 · 408 阅读 · 0 评论 -
ADB server didn't ACK问题解决
一直没搞明白这个问题咋出现的,但今天看到一个方法,搞定了!原来是豌豆荚占用了 5037 端口导致。参见原文章:一个豌豆荚引发的血案——关于ADB server didn't ACK的问题简单来讲,首先将Windows任务进程中的豌豆荚干掉,如果还是不行,再继续按下列步骤排查。问题现象: C:\Users\John>adb shell adb server转载 2015-07-02 13:56:53 · 383 阅读 · 0 评论 -
android:Activity、View和Window的关系(一)
(1)View:最基本的UI组件,表示屏幕上的一个矩形区域。(2)Window: 表示一个窗口,不一定有屏幕那么大,可以很大也可以很小;它包含一个View tree和窗口的layout 参数。View tree的root View可以通过getDecorView得到。还可以设置Window的ContentView。(3)Activity:Activity包含一个Window转载 2015-07-12 23:01:29 · 411 阅读 · 0 评论 -
android:Activity、View和Window的关系(二)
Activity是Android应用程序的载体,允许用户在其上创建一个用户界面,并提供用户处理事件的API,如onKeyEvent, onTouchEvent等。 并维护应用程序的生命周期。Activity本身是个庞大的载体,可以理解成是应用程序的载体,如果木有Activity,android应用将无法运行。也可以理解成android应用程序的入口。Acivity的实例对象由系统维护。系统服务Ac转载 2015-07-12 23:08:43 · 345 阅读 · 0 评论 -
android的样式(style)与主题(theme)
Android上的Style分为了两个方面: 1,Theme是针对窗体级别的,改变窗体样式; 2,Style是针对窗体元素级别的,改变指定控件或者Layout的样式。 Android系统的themes.xml和style.xml(位于系统源代码frameworks\base\core\res\res\values\)包含了很多系统定义好的style,建议在里面挑个合适的,然后再继承转载 2015-08-02 18:35:05 · 320 阅读 · 0 评论 -
Android Studio 快捷键
Alt+回车 导入包,自动修正Ctrl+N 查找类Ctrl+Shift+N 查找文件Ctrl+Alt+L 格式化代码Ctrl+Alt+O 优化导入的类和包Alt+Insert 生成代码(如get,set方法,构造函数等)Ctrl+E或者Alt+Shift+C 最近更改的代码Ctrl+R 替换文本Ctrl+F 查找文本Ctrl+Shift+Space 自动转载 2015-12-11 13:30:09 · 242 阅读 · 0 评论 -
玩转Android之Drawable的使用
玩转Android之Drawable的使用Drawable天天用,可你是否对Drawable家族有一个完整的认知?今天我们就来系统的学习一下Drawable的使用。1.概述用过Drawable的筒子都知道Drawable有很多种,有的时候Drawable是一张图片,有的时候Drawable是我们通过颜色构造出来的某种图形。最常见的自己构造的Drawable图形莫过于ShapeDrawable,我们在转载 2016-12-02 14:22:02 · 466 阅读 · 0 评论