android基础
文章平均质量分 76
JunTao_sun
向彩虹的明天前进 QQ:616346186
展开
-
关于Android Context一些总结
先总结之前XXT开发时碰到的对话框弹不出来的原因:首先,任何一个控件的初始化都需要指定其所在的环境,即上下文,不然系统识别不了,此时就需要把context以参数的形式传递进去。 经过大量搜索,对context这个难以理解的术语有了点清晰的认识。 1.首先什么是context?文档语焉不详,说是resource什么的,反正是没看懂,实际上可以认为它是一个指向p转载 2015-03-15 20:07:03 · 395 阅读 · 0 评论 -
Android Context 详解
Android中context可以作很多操作,但是最主要的功能是加载和访问资源。在android中有两种context,一种是application context,一种是activity context,通常我们在各种类和方法间传递的是activity context。继承关系:区别联系:[java] public class MyActivity extends转载 2015-03-15 10:39:48 · 229 阅读 · 0 评论 -
关于Java的File.separator
在Windows下的路径分隔符和Linux下的路径分隔符是不一样的,当直接使用绝对路径时,跨平台会暴出“No such file or diretory”的异常。 比如说要在temp目录下建立一个test.txt文件,在Windows下应该这么写:File file1 = new File ("C:\tmp\test.txt");在Linux下则是这样的:File转载 2015-03-27 17:19:14 · 338 阅读 · 0 评论 -
BitmapFactory.Options详解
public BitmapinBitmapIf set, decode methods that take the Options object will attempt to reuse this bitmap when loading content.public intinDensityThe pixel翻译 2015-03-27 22:08:10 · 472 阅读 · 0 评论 -
onInterceptTouchEvent()的机制
由于onInterceptTouchEvent()的机制比较,复杂上面的说明写的也比较复杂,总结一下,基本的规则是:1. down事件首先会传递到onInterceptTouchEvent()方法2. 如果该ViewGroup的onInterceptTouchEvent()在接收到down事件处理完成之后return false,内部view将也会获转载 2015-03-11 11:36:21 · 863 阅读 · 0 评论 -
listview和gridView中findViewWithTag的使用
|举报|字号 订阅listview的只需要两步:第一步:首先在listview中设置一个tag标签例如 tv.setTag(position);第二步:获取的时候使用 TextView t=(TextView) listview.findViewWithTag(position).findViewById(R.id.tv);转载 2015-03-17 22:58:39 · 3586 阅读 · 0 评论 -
AsyncTask的用法
在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则: 1. 不要阻塞UI线程 2. 确保只在UI线程中访问Android UI工具包 当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:转载 2015-03-11 20:23:44 · 267 阅读 · 0 评论 -
onSaveInstanceState和onRestoreInstanceState的用处
Activity类中包含的onSaveInstanceState和onRestoreInstanceState有什么用,首先使用这两个方法时一定要注意情况和了解Activity的生命周期,否则有的时候 onSaveInstanceState和onRestoreInstanceState 可能不会被触发,虽然他们都是Activity的重写方法。 他们比较常用到的地方是 Sensor转载 2015-03-11 10:44:52 · 386 阅读 · 0 评论 -
android 退出整个程序
使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解、易于操作,非常不错!MyApplication类(储存每一个Activity,并实现关闭所有Activity的操作 Java代码 收藏代码public class MyApplicatio原创 2015-03-11 14:09:05 · 335 阅读 · 0 评论 -
MediaStore 与Media.EXTERNAL_CONTENT_URI
http://hi.baidu.com/zlykeepon/item/6c5db3eec1f74f2c5b2d64ddMediaStore这个类是android系统提供的一个多媒体数据库,android中多媒体信息都可以从这里提取。这个MediaStore包括了多媒体数据库的所有信息,包括音频,视频和图像,android把所有的多媒体数据库接口进行了封装,所有的数据库不用自己进行创建,转载 2015-03-11 11:31:16 · 2552 阅读 · 0 评论 -
AsyncTask和Handler的优缺点比较
AsyncTask优缺点Habdler优缺点AsyncTask实现的原理和适用的优缺点AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.使用的优点:简单,快捷过程可控 使用的缺点:在使用多个异步操转载 2015-03-11 20:19:34 · 330 阅读 · 0 评论 -
Android的数据存储--File
Android的数据存储之SharedPreferences,我们知道利用SharedPreferences一般存储的内容是一些key-value键值对,而有时候我们却要存储的是一些数据内容,这时候我们可以采用文件存储,在Android系统中,我们可以很方便的利用文件存储我们想要的内容Context为我们提供了以下的几个方法方法名称描述Fil转载 2015-03-11 11:28:02 · 360 阅读 · 0 评论 -
listview多次调用addHeaderView和addFooterView问题
情景: 有两个分类,每个分类下的数据用listview显示,分类1需要显示头视图和尾视图,分类2不要显示头视图和尾视图 。两个分类可以来回切换。实现的步骤: 1. addHeaderView 、 addFooterView,默认显示分类1的数据,setAdapter绑定 2. 点击分类2时,先removeheaderview、removefooterview,然后setAdapter重新绑转载 2015-03-29 12:27:00 · 462 阅读 · 0 评论 -
Android实现垂直型的SeekBar
今天给大家推荐一个Android垂直型的SeekBar,可能对于你们在项目中有所帮助。这个已经有人具体实现。本人只是在这里稍做推荐。有关更多的好的控件本人在网上已建了一个网站专门做Android开源控件的收录以及示例代码的各种使用用法,目的是帮助更多的Android开发者,让更多的人爱上Android开发者。可以给出具体实现的思想及代码。按以前写作方式,首先上效果图:具转载 2015-03-11 11:24:19 · 662 阅读 · 0 评论 -
Android中解析XML
XML在各种开发中都广泛应用,Android也不例外。作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能。今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法。在Android中,常见的XML解析器分别为SAX解析器、DOM解析器和PULL解析器,下面,我将一一向大家详细介绍。SAX解析器:SAX(Simple API f转载 2015-03-11 11:31:36 · 327 阅读 · 0 评论 -
ANDROID内存优化(大汇总——全)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990)写在最前:本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总、挑选、简化后整理而成。所以我将本文定义为一个工具类的文章,如果你在ANDROID开发中遇到关于内存问题,或者马上要参加面试,或者就是转载 2015-03-11 11:52:39 · 384 阅读 · 0 评论 -
Android入门第十五篇之ActivityGroup + GridView 实现Tab分页标签
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 很多客户端软件和浏览器软件都喜欢用Tab分页标签来搭建界面框架。读者也许会马上想到使用TabHost 与 TabActivity的组合,其实最常用的不是它们,而是由GridView与ActivityGroup的组合。每当用户在GridView选中一项,ActivityGroup就把该项对应的Ac转载 2015-03-12 19:08:18 · 320 阅读 · 0 评论 -
Android 异步加载图片,使用LruCache和SD卡或手机缓存,效果非常的流畅
转载请注明出处http://blog.csdn.net/xiaanming/article/details/9825113异步加载图片的例子,网上也比较多,大部分用了HashMap> imageCache ,但是现在已经不再推荐使用这种方式了,因为从 Android 2.3 (API Level 9)开始,垃圾回收器会更倾向于回收持有软引用或弱引用的对象,这让软引用和弱引用变得不再可靠转载 2015-03-29 09:08:15 · 793 阅读 · 0 评论 -
ActivityGroup相关--getLocalActivityManager()
1.ActivityGroup的核心就是继承了该类,能够通过getLocalActivityManager()得到 一个LocalActivityManager如,LocalActivityManager am= getLocalActivity转载 2015-03-12 19:03:00 · 368 阅读 · 0 评论 -
Android入门 在ListView中如何进行精确的位置设定
在android的开发中,经常会遇到需要主动去设定某条ListItem的位置的需求。设置位置的函数有ListView.setSelection(int position)ListView.setSelectionFromTop(int position, int y);其中position指的是指定的item的在ListView中的索引,注意如果有Header存在的转载 2015-03-13 20:52:58 · 398 阅读 · 0 评论 -
Fragment与Activity通讯
尽管fragment的实现是独立于activity的,可以被用于多个activity,但是每个activity所包含的是同一个fragment的不同的实例。Fragment可以调用getActivity()方法很容易的得到它所在的activity的对象,然后就可以查找activity中的控件们(findViewById())。例如:ViewlistView =getActivity().f翻译 2015-03-14 16:57:53 · 361 阅读 · 0 评论 -
android操作sdcard中的多媒体文件
首先,我简单介绍一下android是如何扫描sdcard内的多媒体信息的,详细请阅读stay的博文:http://www.cnblogs.com/stay/articles/1957571.html 当android的系统启动的时候,系统会自动扫描sdcard内的多媒体文件,并把获得的信息保存在一个系统数据库中,以后在其他程序中如果想要访问多媒体文件的信息,其实就是在这个数据库中进行的,转载 2015-03-23 19:45:01 · 433 阅读 · 0 评论 -
继承控件listview
继承控件的意思就是,我们并不需要自己重头去实现一个控件,只需要去继承一个现有的控件,然后在这个控件上增加一些新的功能,就可以形成一个自定义的控件了。这种自定义控件的特点就是不仅能够按照我们的需求加入相应的功能,还可以保留原生控件的所有功能,比如 Android PowerImageView实现,可以播放动画的强大ImageView 这篇文章中介绍的PowerImageView就是一个典型的继承控件转载 2015-03-18 11:32:21 · 991 阅读 · 0 评论 -
Android API 中文 — ListView
欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblogs.com/ Android中文翻译组:http://www.cnblogs.com/over140/ 正文 一、结构 public class RatingBar extends AbsSeekBar java.lang.Object转载 2015-03-24 20:11:00 · 627 阅读 · 0 评论 -
android 事件处理机制之requestDisallowInterceptTouchEvent
当手指触摸到屏幕时,系统就会调用相应View的onTouchEvent,并传入一系列的action。当有多个层级的View时,在父层级允许的情况下,这个action会一直向下传递直到遇到最深层的View。所以touch事件最先调用的是最底层View的onTouchEent,如果View的onTouchEvent接收到某个touch action并作了相应处理,最后有两种返回方式return tru转载 2015-04-17 23:10:39 · 352 阅读 · 0 评论 -
getDrawingCache方法获取ImageView中的图像需要注意的问题
Android开发:用getDrawingCache方法获取ImageView中的图像需要注意的问题 我们知道在Android中ImageView是一个用于显示图像的控件,比如在很多联系人方面的应用中,需要为联系人拍摄头像,并将得到的头像放在一个ImageView对象中显示。通常,在没有为联系人拍摄头像之前,ImageView对象中显示的是一个缺省的图片。因此,在保存联系人转载 2015-06-21 20:19:47 · 3223 阅读 · 0 评论 -
ByteArrayOutputStream(字节数组输出流)的一个例子,与ByteArrayInputStream作一比较
import java.io.*;public class ByteArrayOutputStreamDemo ...{ /** *//** * ByteArrayOutputStream是一个把字节数组当作输出流的实现。我认为是所流当作数组来实现.它和ByteArrayInputStream不太一样。不能类比学习. * * java.l转载 2015-06-24 10:23:47 · 1555 阅读 · 0 评论 -
SDK Manager打不开
在路径adt-bundle-windows-x86_64-20130522\sdk\tools\lib下找到.bat批处理文件find_java.bat用记事本打开这个文件如下图所示 找到rem Check we have a valid Java.exe这一行,把set java_exe=%%a改成set java_exe=“jdk的目录”,保存并关闭该文件。重新打转载 2015-06-27 13:44:52 · 649 阅读 · 0 评论 -
使用 ContentProviderOperation 来提升性能
ContentProviders 是android 系统核心组件之一,ContentProviders 封装了数据的访问接口,其底层数据一般都是保存在数据库中或者保存在云端。有时候你需要更新多行数据,可以选择调用多次ContentResolver的对应函数,或者 使用批量操作。当然 后者性能会比较好些。为了使批量更新、插入、删除数据更加方便,android系统引入了 ContentPro转载 2015-06-14 19:14:27 · 380 阅读 · 0 评论 -
arrays.xml文件
arrays.xml文件中用于放各种数组数据,比如字符串数组、整型数组等,数组中的数据可能是具体的值,也有可能是对资源数据的引用,下面针对这两种情况通过代码来获取相应的数组数据。一、数组中的数据为具体的值:arrays.xml文件中的数组如下:[html] view plaincopyprint?string-array name="select_dialo转载 2015-07-27 21:26:02 · 1458 阅读 · 0 评论 -
Android getDecorView用途——屏幕截图 (转)
Android 屏幕截图http://www.eoeandroid.com/thread-96116-1-1.htmlandroid Native C 屏幕截图http://www.eoeandroid.com/thread-7829-1-1.html正好做类似UCweb一样的页面管理的功能模块,贴出一起研究ImageView iv = (Ima转载 2015-08-10 10:07:59 · 495 阅读 · 0 评论 -
抗锯齿方法两种(其一:paint.setAntiAlias(ture);paint.setBitmapFilter(true))
在Android中,目前,我知道有两种出现锯齿的情况。 ① 当我们用Canvas绘制位图的时候,如果对位图进行了选择,则位图会出现锯齿。 ② 在用View的RotateAnimation做动画时候,如果View当中包含有大量的图形,也会出现锯齿。我们分别以这两种情况加以考虑。 ◆ 用Canvas绘制位的的情况。在用Canvas绘制位图时,一般地,我们使用drawBitmap函数家族转载 2015-08-10 13:00:13 · 912 阅读 · 0 评论 -
MeasureSpec学习
在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小,这个变量里面不仅有组件的尺寸大小,还有大小的模式。这个大小的模式,有点难以理解。在系统中组件的大小模式有三种:1.精确模式(MeasureSpec.EXACTLY)在这种模式下,尺寸的值是多少,那么这个组件的长或宽就是多少。2.最大模式(MeasureSp转载 2015-08-01 22:06:05 · 342 阅读 · 0 评论 -
listview android:cacheColorHint,android:listSelector属性作用
ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉,原因是,滚动时,列表里面的view重绘时,用的依旧是系统默认的透明色,颜色值为#FF191919,要改变这种情况,只需要调用listView的setCacheColorHint(0),颜色值设置为0或者xml文件中li转载 2015-08-01 07:51:56 · 346 阅读 · 1 评论 -
反射判断成员变量是否静态,并获得其静态成员的值
Field[] fields = cls.getDeclaredFields(); Field field = fields[0]; boolean isStatic = Modifier.isStatic(field.getModifiers()); if(isStatic) { System.out.println原创 2015-07-22 18:01:09 · 9964 阅读 · 0 评论 -
Activity的四种启动模式和onNewIntent()
Android中Activity启动模式详解 在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。 Android总Activity的启动模式分为四种:Activity启动模式设置: ".Main转载 2015-08-02 10:13:02 · 307 阅读 · 0 评论 -
service android 属性
android:process=":remote",代表在应用程序里,当需要该service时,会自动创建新的进程。而如果是android:process="remote",没有“:”分号的,则创建全局进程,不同的应用程序共享该进程。原创 2015-08-02 22:59:46 · 442 阅读 · 0 评论 -
android measure
首先 onMeasure方法是为了得到各个View大小的函数 fill_parent-->public static final int EXACTLY = 1 wrap_content-->public static final int AT_MOST = 2 [c-sharp] view plaincopyprint?pub转载 2015-08-14 19:33:45 · 321 阅读 · 0 评论 -
在onCreate方法从ImageView偶尔会取不到图片问题
imageView.setDrawingCacheEnabled(true); bitmap = Bitmap.createBitmap(image1.getDrawingCache()); text2.setText("图片的宽高是="+bitmap.getHeight()); im原创 2015-09-10 16:18:19 · 466 阅读 · 0 评论 -
Android开发:shape和selector和layer-list的(详细说明)
目录(?)[+]Shape简介使用的方法属性Selector简介使用的方法layer-list简介例子最后和在Android UI设计中经常用到。比如我们要自定义一个圆角Button,点击Button有些效果的变化,就要用到和。可以这样说,和在美化控件中的作用是至关重要。在看这篇文章之前,可以看下这个小例子:镂空按钮的实现转载 2015-09-25 17:19:34 · 231 阅读 · 0 评论