
Android
文章平均质量分 79
Android学习笔记
vonchenchen1
长期负责代码拷贝
展开
-
Android控件: 仿探探首页 相册侧滑层叠加载
探探首页样式 探探,百合网等神器的首页有一个相册加载个控件,通过左滑右滑加载新的照片,同时左滑丢弃这个照片,右滑则表明对这个照片感兴趣。原创 2016-02-19 10:18:02 · 6230 阅读 · 1 评论 -
Android自定义控件:下拉菜单的实现与优化
下拉菜单美团首页类似的下拉弹出菜单工程中经常遇到的控件,不同工程中菜单条目的类型与数量也不一样,所以需要根据实际需要填充不同内容。先写个demo,一倍不时之需吧。既然每个项目用到的菜单样式不同,此时我们必须根据实际情况填充,这样就需要将容器和内容分开。容器容器的画当然就使用popWindow了,我们需要在点击指定控件后弹出window,需要 1.指定当前window的位置及大小 2.指定w原创 2015-11-10 17:11:32 · 5817 阅读 · 1 评论 -
Android自定义控件:上拉刷新下拉加载的滑动控件
用途 我们经常会看到scrollview带下拉上拉功能,提供页面刷新。现在我们总结以下。效果与原理 我们知道,scrollView可以提供滚动功能,如果超出屏幕就可以滚动显示,当滚动到顶部或者底部的时候切换拖动。 当滚动到底部时,又有两种情况,一种是手没有离开,在拖动,这样的话就是一般的拖动方法。另外一种是滑动之后松手,屏幕开始滚动,滚动到边界,这种情况不是正常的上拉下拉,但是我原创 2015-11-18 09:37:15 · 1356 阅读 · 1 评论 -
Android自定义控件:将ViewPager封装自己的TabPager控件
用途 最近项目页面中经常出现诸如下图的控件,如果为每个页面分别写一个将会造成非常多的重复代码,不利于项目的阅读和维护,也会使项目变得非常凌乱。所以,对于这种情况我们可以进行一定的抽取,传入相关数据后自动显示到控件上。 思路 由上图可知,我们需要上面的Tab作为指示,下面是类似轮播图ViewPager。我们需要实现点击Tab切换到相应轮播图页面,同时滚动P原创 2015-11-20 20:49:02 · 3689 阅读 · 1 评论 -
Android知识点记录: 使用代码设置 android 上listView的条目的点击背景颜色
我们往往不喜欢Android原生的listview点击背景,如果使用某些第三方控件时,我们无法在xml中改变点击背景颜色。那么只能在代码中设置,在此总结如下mListView.setDivider(new ColorDrawable(0x00000000));这样,点击时原生的背景色就会消失。原创 2015-11-21 12:07:21 · 1711 阅读 · 0 评论 -
Android知识点记录:支付宝SDK Ali64异常的一种可能原因
最近,以前的一个项目中支付宝网页支付出现bug,估计本版太旧,于是下载了最新版的支付宝SDK。集成完毕后发现支付时直接出现Ali64异常。因为原先版本的支付宝可以使用,所以可以基本排除是公钥的问题。经过反复试验,发现参数中 “商品详情” 这个项目为空字符串,当给这个参数填入信息时,支付宝就可以正常使用了。// 商品详情 此处不填写 会出现ali64异常!!原创 2015-11-23 14:50:40 · 2023 阅读 · 0 评论 -
Android知识总结:Universal-Imageloader学习笔记1 基本功能与配置
主要总结了一下ImageLoader的一些基本功能及其配置方式原创 2015-11-28 18:55:41 · 758 阅读 · 0 评论 -
Android知识总结:Universal-Imageloader学习笔记2 主业务流程源码分析
Universal-Imageloader主业务流程及其源码分析,一步一步实现带三级缓存的图片加载。原创 2015-12-01 19:25:07 · 1055 阅读 · 0 评论 -
Android知识点总结: setTextSize 与 getTextSize的单位各是什么
如图 setTextSize的单位是sp,getTextSize的单位是px,直接从dimen文件中拿到的值也是px。可见setTextSize比较特殊,设置时需要根据实际情况进行转换。下图setTextSize中传入13,但是getTextSize取出的是21。原创 2015-12-08 13:11:39 · 2934 阅读 · 0 评论 -
安卓控件getRawX与getX区别
getRawX 获取的绝对坐标,相对与屏幕getX 是相对坐标,相对于控件本身 当控件旋转时,两者的区别就会显示出来原创 2015-10-28 15:30:36 · 1146 阅读 · 0 评论 -
Android自定义效果 简易示波器 (1)
图表绘制在项目中,常常会用到一些图表,我们可以使用第三方开源控件进行绘制,但是如果有一些特殊的定制化的需求,我们可能需要自己进行一些修改。所以,最好对这种需求有所准备。简易示波器 图中为显示一组正弦数据,及其FFT后的数据。接着开始贴代码吧示波器控件类类中包含了控件的绘制方法以及相关数据结构。基本思路:1.测量控件,获取表格中的缩放比例等信息2.获取数据,获取原始输入数据,并根据需原创 2015-09-29 15:25:19 · 6211 阅读 · 4 评论 -
Android BLE学习(一): Android搜索BLE设备
背景总结一下最近ble的学习情况。自从入手ble 51822开发板后就开始不停加班,中途出于好奇,业余时间写了一些单片机上json解析相关的东西,妄图使用蓝牙传输json数据,不知道是否实用,既然开始写了,得写出点样子,晃晃荡荡,2016年的1月份就过去了。这里本章我们主要总结一下ble搜索相关的内容,先建立直观印象,然后剖析ble模块与Android相关代码,看看源码与现象是如何对应的。最后,当我原创 2016-02-04 02:35:29 · 9258 阅读 · 4 评论 -
RelativeLayout执行measure(w,h)方法时,出现NullPointerException的异常情况
在编写下啦刷新的项目代码的时候,在Listview的HeaderView中的head.xml文件中,根布局为RelativeLayout的时候,在计算headerView.measure的时候,出现空指针异常,当将更布局改为Linearlayout就运行正常了。在思考为何在RelativeLayout出现异常的问题的时候,在查阅官方网站的时候,我注意到这个段话:Note: In转载 2015-05-11 00:43:37 · 565 阅读 · 0 评论 -
android:windowSoftInputMode属性详解
android:windowSoftInputModeactivity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。这个属性能影响两件事情:【一】当有焦点产生时,软键盘是隐藏还是显示【二】是否减少活动主窗口大小以便腾出空间放软键盘它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adju转载 2015-07-23 18:18:10 · 594 阅读 · 0 评论 -
Android知识总结:Universal-Imageloader学习笔记5 一种特殊情况下的图片缓存方式
背景在最近的项目中,由于后台的特殊要求,每次加载图片时,图片url都会携带一个时间戳,即如下图片格式为这样的形式:http://xxxx/aaaa/cccc.jpg?timestamp 其中问号前面的部分是不变的,而timestamp每次是不同的。换句话说,每次加载图片的url是不同的。也就是说,如果不经过特殊处理,ImageLoader的缓存是没有办法使用的,也就是说所有图片只要显示必须当下原创 2016-01-06 23:36:07 · 1094 阅读 · 0 评论 -
安卓带边框圆角按键选择器
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="false" > <shape> <corners原创 2015-07-29 11:09:58 · 1570 阅读 · 0 评论 -
安卓中去除ListView条目的分割线
现象安卓中使用listview时条目与条目间会出现一条分割线,以前并没有在意过。今天仔细看了美工给出的效果图,条目间是没有分割线的。此处我们需要设置一下listview的属性<ListView android:id="@+id/lv_ordertype" android:layout_width="match_parent" android:lay原创 2015-08-06 16:09:36 · 2082 阅读 · 0 评论 -
安卓 ListView错位的一种情况 ......ViewHolder 每次都应该为所有控件赋值
ViewHolder使用 今天在ListView中使用ViewHolder时连续出现了两次这样的问题。 ListView中的条目出现串行。有些条目应当显示为空但是却显示出数据,经过查找发现这些数据和其他条目有雷同,初步判断应该是convertView在复用时发生了问题。if(!TextUtils.isEmpty(lastPlayTime)&&!lastPlayTime.equals(原创 2015-09-09 19:16:50 · 1616 阅读 · 1 评论 -
安卓ListView图片异步加载错位的处理
问题与现象使用安卓listview加载图片时,如果异步加载,经常会出现加载乱序的问题。这种问题多是由于convertView复用造成的。也就是说,当一个条目移动到屏幕外面时,convertview已经给了其他条目,而此时convertview中上一个条目的图片尚未加载完毕,这样,当图片加载完毕后,我们得到的图片其实是其他条目中的。当然这只是一种现象,在实际情况下,加载图片错位,闪烁,或者下载了但是没原创 2015-09-21 13:04:52 · 1154 阅读 · 2 评论 -
Android知识总结:Universal-Imageloader学习笔记3 显示自定义形状头像
显示自定义形状 昨天我们分析了ImageLoader的主业务流程,现在我们把它应用到项目的实践中。 项目中我们需要显示圆形图片,带圆角的图片,以及图片上叠加其他标记,我们可以分别制作相应的自定义控件,ImagerLoader为我们建立了BitmapDisplayer,实现这个接口并将其设置到下载options中。 在Ima原创 2015-12-02 19:18:39 · 1003 阅读 · 0 评论 -
Android知识总结:Universal-Imageloader学习笔记4 使用Universal-Imageloader管理本地图片
ImageLoader管理本地图片前面我们讨论了ImageLoader在图片下载与缓存中的一些使用方法,那么为什么我们要用ImageLoader管理本地图片呢?考虑以下一些情况在App中,我们常常会进行位图的处理,如果我们需要将图片生成的位图保存,是否能结合到我们的图片框架中?最近项目需要将一张位图做模糊处理,这样的逐点操作非常消耗内存和时间,如果我们直接将处理好的位图压缩并存储在本地原创 2015-12-11 16:34:27 · 1184 阅读 · 0 评论 -
Android知识点记录:七牛Android SDK调试整理
七牛Android SDK例程,快速集成七牛Android SDK原创 2015-12-17 17:29:24 · 1086 阅读 · 0 评论 -
安卓中 广播 服务 及其简单应用范围的一些总结
1.广播与广播接收者1.API静态注册广播接收者清单文件中配置:<receiver android:name="包名.广播接收者文件" > <intent-filter android:priority="广播拦截的优先级(最大:2147483647)" > <action android:name="广播监听的动作 可以是自定义的或者原创 2015-04-13 00:16:44 · 3266 阅读 · 1 评论 -
安卓基础 多媒体相关知识
1.大图片的缩放由于图片尺寸过大,不仅不能直接在屏幕放下,导致查看不方便,而且可能会导致OOM异常(内存溢出)。注意,bmp图像是rgb形式的位图,安卓下是argb的位图,而jpeg和png则是压缩过的图像,当我们想把一张图片显式到屏幕上时,需要解码为rgb的形式,这样压缩过的图像在显示时就会消耗很多内存。解决这个问题的办法就是就是对图片的尺寸压缩,然后采样显示图片。APIWindowManager原创 2015-07-15 15:07:15 · 830 阅读 · 0 评论 -
安卓的事件的分发与传递
View的事件处理1.现象我们分别创建一个ImageView和一个Button,并监听其onTouchListener事件。我认为所谓能响应事件,简单地理解就是说能监听到事件的发生,判断能否监听到事件的依据就是能否调用到相应的回调函数。实验代码 protected void onCreate(Bundle savedInstanceState) { super.onCreate原创 2015-06-02 22:13:12 · 763 阅读 · 1 评论 -
调用安卓相机闪退
1.现象 在使用安卓手机的一些应用调用照相机时,我们会发现有时候当我们拍照完毕时,程序会出现闪退,非常影响用户体验。目前项目中也有类似的拍照上传功能,当使用米3手机测试时,拍照上传功能可以正常使用,当我们换上红米或者其他一些比较早或者比较低端的手机时,就出现了闪退的问题。1.1开启相机的intent/* mPictureCachePath为当前照相相片的存储路径 */pictureCache原创 2015-06-30 20:13:46 · 5298 阅读 · 0 评论 -
安卓上传本地图片闪退
1.现象 当我们在app上上传一些安卓的本地图片时,有时当上传某些图片时会莫名其妙的闪退,而检查时发现并没有oom异常。同样上传一些类似的图片却可以正常使用。1.1 开启选择本地图片Intent intent = new Intent(Intent.ACTION_PICK, null); intent.setDataAndType(MediaStore.Images.Media原创 2015-07-01 10:48:07 · 6806 阅读 · 3 评论 -
Andorid wifi简记
andoridwifi原创 2015-06-10 07:58:31 · 869 阅读 · 0 评论 -
android MediaPlayer 简记
基本用法1.开一个线程完成耗时操作new Thread(){ public void run(){ initPlayer(i); } }.start(); 开启MediaPlayer的时候,由于需要调用底层native方法做硬件初始化,所以直接把初始化方法放到线程中2.原创 2015-06-10 08:03:44 · 691 阅读 · 0 评论 -
安卓圆角按键选择器
<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_pressed="true"> <shape android:shape="rectangle">原创 2015-07-24 18:15:57 · 1461 阅读 · 0 评论 -
C语言简单实现接口
学习jni的时候简单的做了一个实验 使用函数指针和结构体简单实现了一下C语言的接口。#include <stdio.h>#include <stdlib.h>//c语言做接口typedef struct{ int (*add)(int , int ); void (*print)(char* );}Env ,*PEnv;//获取一个实例的指针,可以使用不同的初始化函数对接口进原创 2015-11-21 16:30:42 · 9441 阅读 · 2 评论 -
Android知识点总结:Android选取、拍照与裁剪图片相关流程分析
图片裁剪Android中图片的选取与裁剪是非常常见的功能,由于手机型号众多,难免在兼容性上出现问题。常 见情况就是出现闪退,无法选取图片。这方面的问题在以前的博客中曾经有过介绍,具体可以参考以下两篇博文。关于拍照闪退的一种情况: http://blog.csdn.net/lidec/article/details/46699111关于上传图片闪退的一种情况的:http:原创 2015-12-10 18:43:16 · 1585 阅读 · 0 评论 -
安卓基础总结 httpClient上传下载
1.httpClient使用这个类代替httpURLConnector,减少参数的设置。API//获取一个HttpClient的默认实现类HttpClient client = new DefaultHttpClient();//建立一个httpGet对象 pathString为URLHttpGet httpGet = new HttpGet(pathString);//执行get方法,并获取返原创 2015-11-21 16:28:20 · 1208 阅读 · 0 评论 -
安卓基础总结 网络基础 Connector post get
1.URLConnection用于获取网络连接的接口,我们常用它的实现类HttpURLConnection设置网络连接信息。API//通过一个URL对象URL url = new URL(path);//获取openConnection,用于对连接进行设置HttpURLConnection openConnection = (HttpURLConnection)url.openConnectio原创 2015-03-17 00:53:51 · 741 阅读 · 0 评论 -
安卓基础总结 Service相关
1.服务入门进程的等级:Foreground process(前台进程)应用程序,用户正在操作,activity的onresume方法被执行了,可以相应点击事件。Visible process (可视进程)应用程序的ui界面,用户还可以看到,但是不能操作了。Service process (服务进程)应用程序没有界面,但是有一个后台的服务还处于运行状态Background process(原创 2015-03-17 01:08:13 · 785 阅读 · 0 评论 -
安卓基础总结 内容提供者
1.使用内容提供者读写短信信息(1)将短信内容读出并写入XML文件API ContentResolver contentResolver = getContentResolver(); //getContentResolver();是上下文中携带的方法,用于处理内容提供者提供的访问方式。寻找哪个内容提供者需要用通过uri,uri路径分文 "主机名"+"具体要操作的数据" 其中"主原创 2015-04-13 00:26:48 · 811 阅读 · 0 评论 -
安卓基础总结 intent activity 页面间传递信息
1 AndroidManifest文件中的几个细节结论:1、一个应用程序可以创建多个桌面图标2、创建快捷图标的方法: <intent-filter> //应用程序的入口 <action android:name="android.intent.action.MAIN" /> //启动器 <c原创 2015-03-17 01:02:59 · 2460 阅读 · 2 评论