android应用开发
文章平均质量分 66
startFromWeb
这个作者很懒,什么都没留下…
展开
-
Android ListView反复调用getView和getCount
最近做项目发现一个界面当有ListView是,getView和getCount中的log被疯狂调用。一个5个Item的ListView,getView竟然会被反复调用7组。尤其是当ItemView中需要加载图片时,很容易造成GC过多,很容易出现ANR。原因就在于measure过程,ListView一般都会有好多个Item,而且也会同时显示若干组Item,这些Item的父元素都是这个List转载 2012-11-07 17:45:31 · 5851 阅读 · 1 评论 -
android一些不常用的事件
Android里有两个类 android.view.GestureDetector android.view.GestureDetector.SimpleOnGestureListener (另外android.widget.Gallery好像是更牛x的OnGestureListener ) 1)新建一个类继承SimpleOnGestureListener,Ha原创 2012-11-27 19:15:06 · 1260 阅读 · 0 评论 -
android下图片压缩
第一:我们先看下质量压缩方法:private Bitmap compressImage(Bitmap image) { ByteArrayOutputStream baos = new ByteArrayOutputStream(); image.compress(Bitmap.CompressFormat.JPEG, 100, baos);//质量压缩方法,这里100表示不压缩转载 2012-12-19 10:06:10 · 14555 阅读 · 3 评论 -
android 使用GridView实现Gallery的效果,并且从最左边开始
1.首先设计man.xml这里使用HorizontalScrollView结合GridView实现Gallery的左右滚动效果,并且解决了Gallery从中间开始的问题,GridView可以从最左边开始显示。代码如下:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:ori转载 2012-12-19 10:11:59 · 4375 阅读 · 1 评论 -
设计模式的皇后-观察者模式
观察者是定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新”。从这段话里我们可以得到两个信息,如下:1, 观察者(具体执行操作的对象,有多个)2, 被观察者(顾名思义是被观察的对象,如果该对象发生某些变化则通知观察者执行对应的操) 所有被观察者都要继承的类 Observable.javapublic class Observa原创 2012-06-10 16:13:16 · 872 阅读 · 0 评论 -
Android中shape的使用
本人在美工方面一直是比较白痴的,对于一些颜色什么乱七八糟的非常头痛,但是在Android编程中这又是经常涉及到的东西,没办法,只有硬着头皮上。Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结:先看下面的代码:转载 2013-01-29 10:53:44 · 685 阅读 · 0 评论 -
Android Paint和Color类介绍
要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布上,这样才可以显示在手机屏幕上。Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设置,主要方法如下: setAntiAlias: 设置画笔的锯齿效果。 setColor: 设置画笔颜色 setARGB: 设置画笔的a,r,p,g值。 setAlpha: 设置原创 2015-01-26 22:58:14 · 865 阅读 · 0 评论 -
如何定位Android NDK开发中遇到的错误
Android NDK是什么?Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。NDK包括:从C / C++生成原生代码库所需要的工具和build files;转载 2014-12-31 00:31:57 · 943 阅读 · 0 评论 -
ANDROID线程间通信机制
转载 2015-03-22 21:56:47 · 740 阅读 · 0 评论 -
WindowManager.LayoutParams详解
public static classWindowManager.LayoutParamsextends ViewGroup.LayoutParamsimplements Parcelablejava.lang.Object ?android.view.ViewGroup.LayoutParams ?转载 2015-03-22 21:38:45 · 1549 阅读 · 0 评论 -
FragmentPagerAdapter与FragmentStatePagerAdapter区别
在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用 notifyDataSetChange转载 2016-03-16 22:27:46 · 679 阅读 · 0 评论 -
GPS开发常用方法和Criteria确定android location providerGPS
GPS常用方法总结 取得LocationProviderpublic void getLocationProvider() { try { Criteria mCriteria01 = new Criteria(); mCriteria01.setAccuracy(Criteria.ACCURACY_FINE);转载 2012-11-02 10:09:59 · 1399 阅读 · 0 评论 -
android.app.instrumentation解析
已经在Android SDK中学习了很多关于JUnit的内容,但是感觉一直有几个问题没有解决(不知道大家是否有同样的感受)JUnit的测试都自动化的,完全是不需要任何操作的,有2个问题我一直都还没有找到答案,这2个问题如下:JUnit可以用来测试Android的基本组成元素:Activity、Service、Provider,那么我们如何控制这些基本元素运行的,这需要Android系统提供原创 2012-08-17 14:40:08 · 11381 阅读 · 2 评论 -
android:windowSoftInputMode属性使用
在AndroidManifest.xml文件中的android:windowSoftInputMode属性使用The AndroidManifest.xml File "stateUnchanged", "stateHidden",转载 2012-07-30 11:05:30 · 927 阅读 · 0 评论 -
Style和Theme的区别
1.什么是Style及Theme?两者有何区别 (1) Theme是针对窗体级别的,改变窗体样式的 (2) Style是针对窗体元素级别的,改变指定控件或者Layout的样式 使用Style (1)创建Style (1) 在res\values\下创建styles.xml文件 (2)添加节点(根节点原创 2012-06-07 14:32:09 · 2503 阅读 · 0 评论 -
Android中如何提高UI的性能
1.减小主线程的阻塞时间 若一个操作耗时教长(超过5秒 用户无响应5秒 网络和数据库阻塞10秒 广播接收者执行超过10秒会导致ANR),我们应该将其放入后台线程中执行,只在需要修改UI界面时通知主线程进行修改。 Android已经提供了AsynTask以实现从主线程生成新的异步任务的方法。具体用法参见异步任务。2.提高Adapter和AdapterView的效率原创 2012-06-07 16:03:19 · 5302 阅读 · 1 评论 -
Android动画
这两天一直看在Sundy的动画教程,看完总结如下。动画分类 1.Peoperty Animation 这个动画是Android3.0之后推出的目前用处不大。 2.View Animation 这类动画也叫tween animation 主要分为 渐变动画(AlphaAnimation)旋转动画(RotateAnimation)缩放动画(Sca原创 2012-06-08 10:04:35 · 2698 阅读 · 0 评论 -
Android动画的实现原理
1.动画运行模式 独行模式 中断模式2.Animation类 每个动画都重载了父类的applyTransformation方法这个方法的主要作用是把一些属性组装成一个Transformation类,这个方法会被父类的getTransformation方法调用。另外每个动画还有个initialize方法,完成初始化工作,动画开始前的一些准备工作。3.Interp原创 2012-06-08 11:11:36 · 16864 阅读 · 2 评论 -
设置Activity进入退出动画
其实设置Activity动画的根本也就是设置View的动画,因为Activity有一个根的View叫DecorView。下面介绍两种设置Activity的动画1.修改Activity Theme 在styles.xml中输入以下代码 @anim/slide_in_left @anim/slide_out_left @anim/原创 2012-06-08 15:10:48 · 35839 阅读 · 3 评论 -
ViewFlipper中放入两个ListView不能拖动的情况
ViewFlipper可以帮助我们实现换屏的功能,如果我们在ViewFlipper中放入GridView或者ListView我们发现就无法实现了换屏操作,这个主要是因为GridView的onTouchEvent将事件全部拦截了,所以我们在ViewFlipper中无法监听到onTouchEvent,所以我们要根据用户的手势来判断是否要在ViewFlipper中去拦截onTouchEvent。拦截on原创 2012-06-10 13:24:29 · 3798 阅读 · 0 评论 -
Handler学习总结
有那些方法加入到主UI线程中运行1.Activity.runonUiThread(Runnable)2.View.post(Runnable); View.postDelay(Runnable,long)3.Handler4.AsyncTaskHandler的作用1)执行计划任务,你可以在预定的实现执行某些任务,可以模拟定时器。2)线程间通信,在Android的应用启动原创 2012-06-14 09:34:31 · 1290 阅读 · 0 评论 -
declare-styleable:自定义控件的属性
以launcher为例说明自定义控件的属性: 1、 在layout里面定义控件,如: android:id="@+id/workspace" android:layout_width="fill_parent" android:layout_height="fill_parent" launcher:d转载 2012-07-09 15:14:00 · 706 阅读 · 0 评论 -
andriod数据库的开发
SQLiteOperHelper对数据库进行版本管理如果应用使用到了SQLite数据库,在用户初次使用软件时,需要创建应用使用到的数据库表结构及添加一些初始化记录,另外在软件升级的时候,也需要对数据表结构进行更新。在Android系统,为我们提供了一个名为SQLiteOpenHelper的类,该类用于对数据库版本进行管理,该类是一个抽象类,必须继承它才能使用。 为了实现对数据库版本进行管理原创 2012-06-26 00:14:34 · 2039 阅读 · 0 评论 -
Android中ImageSwitcher结合Gallery展示SD卡中的资源图片
本文主要是写关于ImageSwitcher结合Gallery组件如何展示SDCard中的资源图片,相信大家都看过API Demo 中也有关于这个例子的,但API Demo 中的例子是展示工程中Drawable目录下的资源图片,这样调用系统的API比较容易实现,但我们在开发项目过程中,但有些图片还不能完全确定下来,例如需要展示相机拍照的图片,SDCard中某个目录下的资源图片等功能。其实系统中也提供转载 2012-07-09 14:40:28 · 896 阅读 · 0 评论 -
MeasureSpec介绍及使用详解
一个MeasureSpec封装了父布局传递给子布局的布局要求,每个MeasureSpec代表了一组宽度和高度的要求。一个MeasureSpec由大小和模式组成。它有三种模式:UNSPECIFIED(未指定),父元素部队自元素施加任何束缚,子元素可以得到任意想要的大小;EXACTLY(完全),父元素决定自元素的确切大小,子元素将被限定在给定的边界里而忽略它本身大小;AT_MOST(至多),子元素至多原创 2012-07-29 17:31:16 · 1596 阅读 · 0 评论 -
我在华勤的那些日子-----------Android的laucher3源码剖析(一)
xxxxx原创 2016-03-17 17:45:47 · 2020 阅读 · 0 评论