![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 68
Superr爬爬虫
博观而约取,厚积而薄发
展开
-
Low Memory Killer
oom_score_adj 计算方法:oom_score_adj = oom_adj*OOM_SCORE_ADJ_MAX/(-OOM_DISABLE)OOM_SCORE_ADJ_MAX = 1000;OOM_DISABLE= -17其中,oom_adj 取值范围为[-17, 15], -17 表示关闭LMK,也就是永不被关闭。Android中:前台交互进程为:0 oom_原创 2015-08-19 23:43:43 · 839 阅读 · 0 评论 -
Drawable 转换Bitmap
code: public static Bitmap drawable2Bitmap(Drawable drawable){ if(drawable instanceof BitmapDrawable){ return ((BitmapDrawable)drawable).getBitmap() ; }else if(dr原创 2013-12-27 21:31:00 · 735 阅读 · 0 评论 -
Android Animation动画
Android 3.0之前,支持两种动画模式,Tween animation & Frame animation, 在Android 3.0 中又引入了新的动画系统:Property animation。这三种动画模式,又被称之View animation (Tween animation) 补间动画;Drawable Animation(Frame animation) 帧动画;Prop原创 2013-12-27 19:57:34 · 3546 阅读 · 0 评论 -
Android view 的cache
1 View 相关的六个个函数分别如下:public void setDrawingCacheEnabled (boolean enabled) API Level1Enables or disables the drawing cache. When the drawing cache is enabled, the next call to getDrawingCache() or原创 2013-12-27 16:13:24 · 3233 阅读 · 0 评论 -
判断ScrollView 是否滚动到底部或顶部
1)是否滚动到顶部if(scroll.getScrollY() == 0){ // 到顶部了 //TODO}2)是否滚动到底部//childView是scrollview里包含的Linearlayout容器View childView = scrollView.getChildAt0);if(mLastY == (childView.getHeigh原创 2013-08-08 15:15:21 · 23972 阅读 · 3 评论 -
Chrome for android 编译
Step1: 获取源码 (http://dev.chromium.org/developers/how-tos/get-the-code#TOC-Windows).gclient文件内容为:solutions = [ { "name" : "src", "url" : "https://src.chromium.org/chrome/trunk原创 2013-06-12 19:28:05 · 15739 阅读 · 3 评论 -
ScrollView 和 ListView 与软键盘弹出导致屏幕尺寸发生改变
软键盘弹出,Window屏幕会滚动其上的scrollable containers View, 由于ScrollView 和ListView 都属于scrollable containers view,因此,当键盘弹出来时,Window会滚动该view,导致屏幕大小发生变化。解决方法有两个:第一个:如果是Dialog 则,重写onCreate方法,然后设置软键盘弹出的flag为,S原创 2013-04-15 10:08:40 · 1394 阅读 · 0 评论 -
Smallest-width 限定符
很多开发者都想在这个范围内根据不同的具体屏幕尺寸来显示不同的布局(例如 5寸和7寸的设备)。在Android 3.2版本中引入 “Smallest-width”限定符就是为了解决这个问题的。例如,普通的7寸平板的最小宽度是600dp,因此如果你希望你的程序在这种尺寸的屏幕上使用两个窗口(小于该尺寸的屏幕使用一个窗口),那么您可以使用上面的两个布局文件,只要把xlarge 限定符原创 2013-04-15 22:38:24 · 3780 阅读 · 0 评论 -
ListView/GridView与ScrollView Scrollbar冲突问题。
import android.content.Context;import android.util.AttributeSet;import android.widget.GridView;public class MyGridView extends GridView{ @Override protected void onMeasure(int原创 2013-02-17 15:45:02 · 1819 阅读 · 1 评论 -
解决android系统TextView自动换行不美观问题
转发至:http://www.cnblogs.com/baiyongquan/archive/2012/06/27/2566167.htmlandroid系统中的textview会在行尾是连串的数字、字母或者标点符号时提前换行,其实word中也是会提前换行的,但是PC端毕竟字符占的空间比例比较小,手机字符占的比例就很大,所以有时候系统自带textview显示行尾会有很大的空白比转载 2013-04-15 10:48:16 · 1655 阅读 · 0 评论 -
库项目中对R.id资源的引用方式
转自:http://blog.csdn.net/djun100/article/details/12994757管理Android项目(官网原文翻译)原文地址:http://developer.android.com/guide/developing/projects/index.html库项目 Android库项目是保存共享的Android源代码和资源的开发转载 2014-02-08 11:54:04 · 1053 阅读 · 0 评论 -
Ubuntu Vim 十六进制模式修改dex文件
有时要破解*.apk时,除了使用apktool反编译成smali语言,然后用smali语言来hack相应的破解点,还有一种比较NB的方法就是直接解压出*.apk的class.dex文件,然后用十六进制编辑工具,修改相应的破解点,即可完成相应的破解。本文主要介绍vim如何切换至16进制。Step1: vim -b *.apk 以二进制模式打开*.apk文件。Step2:输原创 2014-03-13 17:50:40 · 2399 阅读 · 0 评论 -
Nexus s 4.1.1 系统刷机
参考这个教程非常详细,记录下。http://www.teamandroid.com/2012/07/20/root-nexus-s-on-android-411-jelly-bean-jro03e-official-software-update/2/转载 2012-09-06 21:05:55 · 1309 阅读 · 0 评论 -
requestFocus() 与 requestFocusFromTouch() 方法的区别
两个方法都是获取焦点:requestFocus() 源码如下:/** * Call this to try to give focus to a specific view or to one of its descendants * and give it hints about the direction and a specific rectangle t原创 2015-05-04 23:26:26 · 24661 阅读 · 1 评论 -
Android 组件间的解耦
EventBus、Otto, Android 自身提供的BroadcastReceiver/Intent System 和利用Handler实现的类似广播功能用来简化应用组件间的通信。对比主要如下:1) Otto主要使用Bus类和两个注解@Produce, @Subscribe注解。@Subscribe 注解告诉Bus该函数订阅了一个事件,该事件的类型为该函数的参数类型;@原创 2015-03-11 09:42:23 · 3640 阅读 · 0 评论 -
如何定位Android NDK开发中遇到的错误
原地址:http://www.csdn.net/article/2014-12-30/2823366-Locate-Android-NDKAndroid NDK是什么?Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。众所周知,Android程序运行在Dalvik虚拟机中,NDK允转载 2014-12-31 09:40:14 · 773 阅读 · 0 评论 -
Andrioid SQLite 操作与SQLiteStatement关系
以插入数据为例,有三种方法:1)直接拼接SQL语句,执行execSQL方法;2)借用ContentValues进行插入;3)使用compileStatement进行插入;1)直接拼接SQL语句,执行execSQL方法String sql = "create table msgTable(uid INTEGER NOT NULL, msg TEXT NOT NULL)"原创 2015-01-27 16:11:45 · 8929 阅读 · 1 评论 -
Android Parcelable 嵌套readParcelable
对于Android的自定义对象进行序列化,一般会选择Parcelable,或者Serializable。在Android中,由于在使用内存时,Parcelable类要比Serializable类的性能要高;并且Serializable在序列化的时候会产生大量的临时变量,从而会引起频繁的GC,因此在Android开发中,会推荐使用Parcelable进行序列化。在序列化时,碰到P原创 2015-01-07 15:52:13 · 11982 阅读 · 2 评论 -
Android 画图抗锯齿
Android 中提供了两种方法:第一种:使用Paint进行设置,然后传递给Canvas进行绘制。paint.setAntiAlias(true)第二种:直接设置Canvas的DrawFilter属性。原创 2014-07-15 10:46:37 · 954 阅读 · 0 评论 -
有关Object之wait(),notify() 和notifyAll() 以及Thread之sleep(),join()和yield()
1. Object的wait(),notify()和notifyAll()主要用于在多线程情况下,同步控制访问共享资源使用。调用wait() 函数后,导致当前线程处于等待状态,只有通过notify()或者notifyAll()方法,或者在调用wait()函数时,设置超时时间timeout,等待超时时间到了,才能使阻塞在该对象上的线程唤醒,进行运行。也就是说wait()或notify原创 2014-03-26 16:01:13 · 843 阅读 · 0 评论 -
Android 中的CreatePackageContext()
/** * Return a new Context object for the given application name. This * Context is the same as what the named application gets when it is * launched, containing the same resources and原创 2014-04-03 15:52:44 · 22667 阅读 · 9 评论 -
Nexus S Flash Custom Rom
之前一直没有时间折腾这个,最近由于要调试smali,需要源码调试,所以就。。。。操作步骤如下:Step1: repo 下载源码(http://source.android.com/source/downloading.html)Step2: 下载相应的驱动(https://developers.google.com/android/nexus/drivers)如我的需要下载6个原创 2014-03-21 12:02:53 · 1034 阅读 · 0 评论 -
AutoCompleteTextView 弹出输入法选择框问题
对于AutoCompleteTextView的两种交互,第一种:长按文本框,弹出输入法选择框;第二种,利用RightDrawable,做清除文本内容时,清除完后,在有的机型上会弹出输入法选择框,目前还没找到原因,可以通过下面的方法解决:int cacheInputType = textView.getInputType(); textView.setInputType(InputType.T原创 2013-02-18 22:44:45 · 2528 阅读 · 0 评论 -
在LinearLayout 中TextView获取焦点问题
经常在LinearLayout中,设置点击事件,当长按时,修改背景图片,并且TextView里面的字体颜色也跟着进行修改。通常的做法是把TextView的textcolor设置成一个selector就OK了,在大部分的机型上都是OK的,但是在有些机型上,当长按LinearLayout时,背景图片是修改了,但是TextView的字体颜色始终没有改变,经过调试发现,是因为TextView没有获原创 2013-02-17 15:12:32 · 6985 阅读 · 0 评论 -
Android 悬浮窗体问题
通过WindowManager的addView方法创建View,这样产生出来的View根据WindowManager.LayoutParams属性不同,效果也就不同了。比如创建系统顶级窗口,实现悬浮窗口效果!WindowManager wm = getWindow().getWindowManager();TextView bb = new TextView();Windo原创 2013-01-23 19:45:24 · 4050 阅读 · 2 评论 -
Android NDK开发之Hello world篇
今天试着在Ubutnu环境下,编写了一个NDK的helloworld的程序,并在此归纳总结想下:1.首先建一个Android Project工程,并创建一个类,如下:package com.android.study;public class DemoTest { static { System.loadLibrary("DemoTest"); }原创 2012-04-07 19:41:56 · 1467 阅读 · 0 评论 -
Android ActivityGroup 关闭子Activity问题
今天碰到一个问题,发现自己的应用程序关闭了,但是手机上显示还在运行,调试发现和ActivityGroup有关系,继承自ActivityGroup类的主类,调用finish方法时,自己可以onDestroy,但其包含的子Activity没有finish。采用了方法1:1、获取当前Activity,然后显示调用 finish方法Activity pActivity = getLocal原创 2012-03-16 13:52:31 · 5757 阅读 · 2 评论 -
Android 4.0 注册广播问题
注册广播一般有两种方式:1. 写一个***BroadCastReceiver 继承自系统的BroadcastReceiver,实现其onReceive方法。然后在Mainfest.xml文件进行注册就可以接受广播了。2.定义一个IntentFilter 对指定的action进行过滤,然后通过activity的registerReceiver进行注册就OK了。但对于第二种方式原创 2012-03-30 12:20:25 · 2299 阅读 · 0 评论 -
Android ListView注意事项
1、要取消ListViewItem选中后,对应项背景会变成黄色可以设置listSelector选项使其变成透明.android:listSelector="#00000000"2、在ListView中当你点击拖动里面相关的选项时,对应项会出现阴影效果,要取消可以设置cachehitcolor android:cacheColorHint="#00000000"3、在拖动的时候背原创 2012-02-20 16:20:04 · 1172 阅读 · 0 评论 -
Android AsyncTask 分析
导语:在开发Android应用的过程中,我们需要时刻注意保障应用的稳定性和界面响应性,因为不稳定或者响应速度慢的应用将会给用户带来非常差的交互体验。在越来越讲究用户体验的大环境下,用户也许会因为应用的一次Force Close(简称FC)或者延迟严重的动画效果而卸载你的应用。由于现在的应用大多需要异步连接网络,本系列文章就以构建网络应用为例,从稳定性和响应性两个角度分析多线程网络任务的性能优化方法转载 2012-02-17 22:12:27 · 622 阅读 · 0 评论 -
Android onSaveInstanceState和onRestoreInstanceState触发的时机
先看Application Fundamentals上的一段话: Android calls onSaveInstanceState() before the activity becomes vulnerable to being destroyed by the system, but does not bother calling it when the instance is转载 2012-02-17 16:52:08 · 516 阅读 · 0 评论 -
Android 调节屏幕亮度问题
研究调节屏幕亮度时遇到的问解决方案如下:1、可以通过获取当前Activity 的WindowManager.LayoutParams 属性,然后设置其screenBrightness的值即可;screenBrightness 的取值范围在[0,1]之间,具体可以如下操作: WindowManager.LayoutParams lp = getWindow().getAttribu原创 2012-02-24 13:27:13 · 10527 阅读 · 3 评论 -
Android 流媒体
记录一个流媒体地址供测试用:rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp转载 2012-02-24 10:40:29 · 974 阅读 · 0 评论 -
Android中自定义checkbox样式
1.首先在drawable文件夹中添加drawable文件checkbox_style.xml。 <item android:drawable="@drawable/radio_button_pressdown" android:state_checked="true" /> <item android:drawable="@d转载 2012-02-13 09:44:56 · 3352 阅读 · 0 评论 -
Android应用框架之 Application
转发:http://blog.csdn.net/maxleng/article/details/5621345转载 2012-03-21 17:31:57 · 687 阅读 · 0 评论 -
利用观察者更新Widget的悲剧
利用观察者模式,更新Widget目前做一个接收短信的小程序,利用SharePreference进行缓冲未阅读的短信内容,该缓冲的未阅读短信内容的类,继承自Observable类,然后在Widget 中注册一个观察者,一旦接收到新的短信进入缓冲区,就设置标志位,通知其观察者。setChanged();notifyObservers();Widget 添加观察者:原创 2012-04-25 11:50:45 · 901 阅读 · 0 评论 -
解决PendingIntent传递参数为空的问题
今天碰到一个使用PendingIntent 给Activity传递参数问题,总结下:Intent intent = new Intent(ACTION_MESSAGE_DETAIL);intent.putExtra(MessageInforDetail.KEY_MESSAGE_SENDER,messageInfo.getSender());intent.putExtra(Mess原创 2012-04-16 13:14:23 · 15797 阅读 · 11 评论 -
Android Thread.UncaughtExceptionHandler捕获
在Java 的异常处理机制中:如果抛出的是Exception异常的话,必须有try..catch..进行处理,属于checked exception。如果抛出的是RuntimeException异常的话,则不是必须进行try..catch..异常处理,发生异常之后将由JVM进行处理,属于unchecked exception。注意:为了保证程序的健壮性,建议抛出RunntimeExce原创 2012-11-08 12:03:26 · 19953 阅读 · 10 评论 -
如何通过无线网络连接adb
1.如果已经可以用usb连接adb,那么可以通过以下命令切换到无线连接方式。adb tcpip 5555adb connect 192.168.1.6:5555 通过下面的命令可以切换回usb方式。adb usb 2.如果无法通过usb方式连接,比如因为没有驱动或没有数据线,那么可以在设备上执行以下命令,切换到无线连接方式。注意此方式需要root权限。转载 2012-10-02 19:18:24 · 1001 阅读 · 0 评论 -
Nexus s Android 4.1.1 通过USB共享Ubuntu网络
准备工作:1)检查下手机是否root了,由于在手机上需要执行su命令来修改手机的网关,所以必须root,如果没有root参考(Nexus s 4.1.1)这个地址:http://www.teamandroid.com/2012/07/20/root-nexus-s-on-android-411-jelly-bean-jro03e-official-software-update/2)通过m原创 2012-09-07 19:49:14 · 2942 阅读 · 0 评论