android 知识点
文章平均质量分 65
cw2004100021124
这个作者很懒,什么都没留下…
展开
-
Android Studio GreenDao修改字段
Android Studio GreenDao修改字段注意事项原创 2022-07-01 14:34:18 · 965 阅读 · 0 评论 -
Android 图片资源设置不当导致apk包变大
最近测试过程中发现apk包突然变大,发现原因是第一种布局:<ImageView android:id="@+id/iv_test" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:paddingRight="5dp" android:src="@mipmap/原创 2022-04-01 16:50:31 · 2169 阅读 · 0 评论 -
ExoPlayer 读取本地多个音频文件
private ExoPlayer simpleExoPlayer;/** * 播放一组语音文件 * @param audioFileNames */public void playAudiosByExoPlayer(List<String> audioFileNames){ simpleExoPlayer = ExoPlayerFactory.newSimpleInstance(RKApplication.getInstance(),new DefaultTrackS.原创 2022-03-29 15:35:51 · 694 阅读 · 0 评论 -
Android 图片设置无法全屏的问题。
最近遇到一个布局设置的,ImageSwitcher 里面加载的图片,无法占满布局。后面排查了半天,imgSwitcher.setBackgroundResource(R.mipmap.ic_default);设置背景资源就可以了。记录一下,小问题点。imgSwitcher.postDelayed(new Runnable() { @Override public void run() { //不满屏 //imgSwitcher.setImageRes原创 2022-03-24 16:00:15 · 2948 阅读 · 0 评论 -
(转)android.test.InstrumentationTestRunner解析
在学习Android、JUnit的过程中,随着学习的深入,发现相关的内容越来越多,将这些类按照继承关系整理如下:Test—TestCase—AndroidTestCase Test—TestCase—InstrumentationTestCase Test—TestSuite—InstrumentationTestSuite TestListener—–BaseTestRunner—And转载 2013-04-15 15:48:16 · 2337 阅读 · 0 评论 -
Android中的Handler总结
一、Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。 如果此时需要一个耗时的操转载 2013-07-22 15:12:52 · 348 阅读 · 0 评论 -
Dalvik虚拟机简要介绍和学习计划
我们知道,Android应用程序是运行在Dalvik虚拟机里面的,并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。除了指令集和类文件格式不同,Dalvik虚拟机与Java虚拟机共享有差不多的特性,例如,它们都是解释执行,并且支持即时编译(JIT)、垃圾收集(GC)、Java本地方法调用(JNI)和Java远程调试协议(JDWP)等。本文对Dalvik虚拟机进行简要介绍,以及制定学习计划。转载 2013-07-25 11:15:24 · 458 阅读 · 0 评论 -
android 各国语言对应的缩写 (转载)
android资源文件夹的写法规则: 语言缩写-国家地区缩写 语言缩写请参阅: AndroidSDK/docs/guide/topics/resources/providing-resources.htmlorhttp://www.loc.gov/standards/iso639-2/php/code_list.php国家地区缩写请参考http://www.iso.or转载 2013-08-15 14:23:00 · 974 阅读 · 0 评论 -
android中跨历程通讯的4种方式
android中跨历程通讯的4种方式android中跨进程通讯的4种方式由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Se转载 2013-09-05 17:26:47 · 387 阅读 · 0 评论 -
Android 中如何关闭线程 .
在android中开启的线程用Thread.stop()来关闭是不会真正关闭的,当我们再次start线程的时候,会产生异常:Thread is already started.针对这个问题可以在线程的run方法里,加一个判断标志。例如: class TestThread extends Thread{ publi转载 2013-09-05 11:28:33 · 2149 阅读 · 0 评论 -
android: ScrollView can host only one direct
android 采用ScrollView布局时出现异常:ScrollView can host only one direct child。主要是ScrollView内部只能有一个子元素,即不能并列两个子元素,所以需要把所有的子元素放到一个LinearLayout内部或RelativeLayout等其他布局方式。转载 2013-09-13 15:33:26 · 558 阅读 · 0 评论 -
如何停止正在播放的音乐(是第三方音乐不是系统的)
原文链接:http://docs.eoeandroid.com/training/managing-audio/audio-focus.html作者:GloriousOnion完成时间:由于存在多个App同时请求播放音频的情况,所以您需要考虑这些App该如何交互。为避免多个音乐App在同时请求音频播放的时候发生冲突,Android平台使用了音频焦点这一概念来协调音频播放——即只有获得音转载 2013-10-09 20:36:19 · 2712 阅读 · 0 评论 -
android:windowSoftInputMode属性使用
android:windowSoftInputModeactivity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。这个属性能影响两件事情:【一】当有焦点产生时,软键盘是隐藏还是显示【二】是否减少活动主窗口大小以便腾出空间放软键盘它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adju转载 2013-10-10 11:05:08 · 457 阅读 · 0 评论 -
android事件一些原理知识(事件对象,事件实体,事件监听器,回调)
一.java中的事件角色有三个:a)event object: 是事件产生时具体的“事件”,用于listener的相应方法之中,作为参数,一般存在于listener的方法只中。b)event source: 具体接受事件的实体,比如说,你按下了某个按钮,那么该按钮就是event source。c)event lIstener: 事件监听器,当有其对象的eve原创 2013-10-11 20:23:34 · 2132 阅读 · 0 评论 -
android handler 消息更新UI的大致过程
android handler 消息更新UI的大致过程,主要是通过以下两种方式来传递数据,一种是设置全局变量,另外一种是通过消息msg.obj自己携带数据传递给指定消息来接收处理。 一。 需要通过Handler发送信息,刷新UI界面 1) public class YserInfo{ private String name; private int原创 2013-10-14 12:02:14 · 1240 阅读 · 0 评论 -
如何分析解决Android ANR
转载自: http://blog.csdn.net/tjy1985/article/details/6777346 http://blog.csdn.net/tjy1985/article/details/6777355 http://blog.csdn.net/tjy1985/article/details/6777983 http://www.eoeandroid.转载 2013-11-01 10:30:47 · 1160 阅读 · 0 评论 -
Activity四种加载模式
建议首先阅读下面两篇文章,这样才可以更好的理解Activity的加载模式:Android的进程,线程模型 http://www.cnblogs.com/ghj1976/archive/2011/04/28/2031586.html 其中对“Android的单线程模型”的描述,明白Activity的一些注意事项。Android Application Task Activities的转载 2013-11-18 17:22:37 · 744 阅读 · 0 评论 -
Android动画实现小结
1.在Android平台提供了两种动画: a)一是Tween动画:即通过对场景里的对象不断进行图像变换(平移, 缩放, 旋转)来产生动画效果; b)第二中是Frame动画(帧动画):即顺序播放事先做好的图像。 2.Tween动画: 1)Tween动画通过View的内容完成一系列的图形变换(包括平移,缩放,旋转,改变透明度)来实现动画效果。它主要包括了以下四种动原创 2013-11-18 18:14:10 · 765 阅读 · 0 评论 -
判断是否为空字符串
public static String checkNullStr(String str){ if(TextUtils.isEmpty(str) || str.equalsIgnoreCase("null")){ return null; } return str; }原创 2013-11-05 14:03:09 · 673 阅读 · 0 评论 -
android音乐播放器的音频焦点控制
什么叫音频焦点 (audio focus)? android系统是一个多任务操作系统,因此同一时刻允许许多任务同时工作。但是这对音频类应用来说是个挑战,因为如果多个音频同时播放的话,很多情况下用户体验会相当的差!比如听音乐时,来了个电话,这时你的耳机里就是电话和音乐共同工作,绝对是个悲剧! 为了解决这个问题从android2.2开始引入audio focus的概念。当你需要播放音乐或者转载 2013-11-05 14:20:49 · 1120 阅读 · 0 评论 -
Android中获取控件的宽高
1.在android中,如果在onCreate()里面获取控件的高度是0,这是为什么呢?1)首先我们自己写一个控件,这个控件非常简单:public class MyImageView extends ImageView { public MyImageView(Context context, AttributeSet attrs) { super(contex原创 2013-11-20 14:40:15 · 634 阅读 · 0 评论 -
Android之自动化压力测试工具:Monkey的使用
monkey 压力测试adb -d shell monkey -p your.package.name -v 6000 一、 什么是Monkey Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了测试软件的稳转载 2013-11-26 13:38:06 · 819 阅读 · 0 评论 -
android ANR异常及其解决方式 .
ANR定义 在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择让程序继续运行,但是,他们在使用你的应用程序时,并不希望每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样,系统不会显示ANR给用户。 解决ANR转载 2013-11-26 13:45:10 · 1353 阅读 · 0 评论 -
Android 重要基本开发规范 .
Android开发规范之编码规范1,java代码中不出现中文,最多注释中可以出现中文,中文统一写在strings.xml中;2,局部变量命名、静态成员变量命名 只能包含字母,单词首字母大写,其他字母都为小写3,常量命名只能包含字母和_,字母全部大写,单词之间用_隔开4,布局文件中的id命名命名模式为:view缩写_模块名称_view的逻辑名称常用控件的缩写如下L转载 2013-11-26 13:54:57 · 401 阅读 · 0 评论 -
Android防止内存溢出浅析 .
Android的虚拟机是基于寄存器的Dalvik,它的最大堆大小一般是16M。但是Android采用的是Java语言编写,所以在很大程度上,Android的内存机制等同于Java的内存机制,在刚开始开发的时候,内存的限制问题会给我们带来内存溢出等严重问题。在我们不使用一些内存的时候,我们要尽量在Android或者其他平台上避免在运行其他程序时,保存必要的状态,使得一些死进程所带来的内存问题,应该尽转载 2013-11-26 13:59:15 · 631 阅读 · 0 评论 -
71道经典Android面试题和答案 .
1. 下列哪些语句关于内存回收的说明是正确的? (b ) A、 程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 2. 下面异常是属于Runtime Exception 的是(abcd)(多选) A、ArithmeticExcept转载 2013-11-26 13:49:52 · 653 阅读 · 0 评论 -
android 中禁止输入特殊字符小结
android 禁止输入特殊字符,主要是通过正则表达式来限制输入:1.实例:/*** @prama: str 要判断是否包含特殊字符的目标字符串*/private void compileExChar(String str){ String limitEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}原创 2013-11-13 15:44:25 · 13987 阅读 · 0 评论 -
android BitmapFactory的OutOfMemoryError: bitmap size exceeds VM budget解决方案
android BitmapFactory的OutOfMemoryError: bitmap size exceeds VM budget解决方案 使用android提供的BitmapFactory解码一张图片时,有时会遇到该错误,即:java.lang.OutOfMemoryError: bitmap size exceeds VM budget。这往往是由于图片过大造成的。要想正常转载 2013-11-28 15:54:21 · 451 阅读 · 0 评论 -
Android 中替换输入流里面的特殊字符
在Android 中过来输入流里面的特殊字符,以“&”字符替换为1.替换的方法/** * 把字节流里面的“&”字符替换 * */ private static void filterSpecial(InputStream is){ String temp = null; try { temp = InputStreamUtils.InputStream原创 2013-12-09 18:25:36 · 2484 阅读 · 0 评论 -
Activity的启动模式(android:launchMode) 小结
Launchmode4种模式:1,standard:如果从A跳到A,intent5次,task里5个activity;2,single Top:如果从A 跳B,再从B跳A,如果此时栈顶为A,则不创建新实例,直接把Intent给A,但如果栈顶不是A,则还要创建A的实例3,singleTask如果从A跳B,再从B跳A,无论是否栈顶栈底,只要A在,则将Intent给A,不会创建A转载 2013-12-10 09:16:37 · 421 阅读 · 0 评论 -
android的窗口机制分析------UI管理系统 .
Activity可以看做是整个android系统的人机接口,它提供了一个窗口来绘制UI,每个Activity在启动时,我们都需要给它设置一个Content view,作为Activity所呈现的UI内容,这个过程是通过setContentView()方法来实现的。 众所周知,android系统中强化了view的概念,主要是体现在对view的管理上,Android中的view以2种形态存在转载 2013-12-10 14:51:51 · 598 阅读 · 0 评论 -
【Android】SAX解析之错误纠正!! .
在讲这次错误之前,先看一下下面这段代码。 【◆以下解析方法是错误的×】[java] view plaincopyprint?import java.util.ArrayList; import java.util.List; import org.xml.sax.Attributes; import org.xml.sax.SAXException;转载 2013-12-10 13:29:40 · 526 阅读 · 0 评论 -
android Task小结
1. Task是包含一系列Activity的堆栈, 遵循先进后出原则. 2. Task默认行为: (1) 前提: Activity A和Activity B在同一个应用中. 操作: Activity A启动开僻Task堆栈(堆栈状态: A), 在Activity A中启动Activity B(堆栈状态: AB), 按下BACK返回键(堆栈状态转载 2013-12-05 16:47:07 · 419 阅读 · 0 评论 -
android 性能分析小结
性能分析,有分析android系统和开发的应用占用的资源?1.分析android系统资源。通过进入adb shell用linxu命令可以看出系统的负荷 top -mtop -n比如 top -m 5表示占用率最大的前5个 2.分析应用性能。 如果是单纯测试应用代码的性能,需要专门的测试方法。比如测试某段代码的运行时间,最简单当然也是最麻烦的就是在代码前获取一原创 2013-12-12 16:00:42 · 528 阅读 · 0 评论 -
android Intent FLAG介绍:
1.Intent FLAG介绍: 1) FLAG_ACTIVITY_NEW_TASK: a). 前提: Activity A和Activity B在同一个应用中. 操作: Activity A启动开僻Task堆栈(堆栈状态: A), 在Activity A中启动Activity B, 启动Activity B的Intent的Flag设为 FL转载 2013-12-05 17:04:33 · 556 阅读 · 0 评论 -
Android中px与dip,sp与dip等的转换工具类
Android中px与dip,sp与dip等的转换工具类功能通常在代码中设置组件或文字大小只能用px,通过这个工具类我们可以把dip(dp)或sp为单位的值转换为以px为单位的值而保证大小不变。方法中的参数请参考http://www.cnblogs.com/wader2011/archive/2011/11/28/2266669.html代码/** * Android大小单位转转载 2013-12-31 09:45:10 · 362 阅读 · 0 评论 -
Android中Bitmap和Drawable
一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1、从资源中获取Bit转载 2013-12-31 15:16:41 · 692 阅读 · 0 评论 -
android ANR 案例分析
一.案例1:关键词:ContentResolver in AsyncTask onPostExecute, high iowaitProcess:com.android.emailActivity:com.android.email/.activity.MessageViewSubject:keyDispatchingTimedOutCPU usage from 2550ms to转载 2013-12-18 11:14:41 · 621 阅读 · 0 评论 -
Android中对Log日志文件的分析 (ANR重点,具体案例详细分析)
一,Bug出现了, 需要“干掉”它 bug一听挺吓人的,但是只要你懂了,android里的bug是很好解决的,因为android里提供了LOG机制,具体的底层代码,以后在来分析,只要你会看bug,android里应用开发也就很简单了。那我们先来看看android里的ANR,怎么出现ANR呢,很简单。 # adb shell # c转载 2013-12-18 11:23:08 · 5340 阅读 · 0 评论 -
Android获取状态栏和标题栏的高度
也许有时候你会有这样的需求:得到状态栏或者标题栏的高度。 怎么办? 恩,方法是有的,也许还不止一个,下面提供一个作为参考: 1.获取状态栏高度: decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括转载 2014-01-06 14:33:43 · 528 阅读 · 0 评论