Android
hjj0212
这个作者很懒,什么都没留下…
展开
-
Android之Home键监听
本文主要参照文章http://www.2cto.com/kf/201305/213348.html应用可以监听返回键和菜单键,但是无法监听Home键,可能被framework拦截不让监听,但上文中实现了该功能,在此做个记录,对关键代码进行保存。做桌面时对话框按home键不会消失,产品要求将对话框消失, if(mAlignIco原创 2014-02-17 17:39:40 · 1870 阅读 · 1 评论 -
Android将第三方jar打包进apk
转自:http://blog.csdn.net/liushaogeng/article/details/6641704使用第三方jar包除了我以下介绍的方法,别的方法我基本上都试验过,均会出现编译或运行错误。以下方法经测试编译和运行都完全没问题。步骤:方法1:Eclipse下,右键工程,Build path,java build path,选择libra转载 2013-01-19 10:31:14 · 4745 阅读 · 0 评论 -
Android获取浏览器User Agent
获取浏览器User Agent的代码: WebView webview; webview = new WebView(this); webview.layout(0, 0, 0, 0); WebSettings settings = webview.getSettings(); String ua = settings.getUserAgentString();原创 2013-01-25 10:22:11 · 20761 阅读 · 0 评论 -
ViewPager,ActionBar,Fragment应用--模仿通讯录滑动效果
最近由Android2.3切换到Android4.0的开发,一下子居然有点不适应,Android4.0新增了一些功能模块如ActionBar,Fragment等其实在Android3.0就有了,但一直没有做过平板上的开发,所以对这些模块非常陌生,一下子感觉Android4.0的开发难度甚大,经过十来天的努力,终于略微有所悟,在看通讯录的时候,感觉如果将其效果模仿出来岂不是初步达到掌握这些模块。原创 2013-01-23 21:20:55 · 18776 阅读 · 6 评论 -
Android网络连接的理解
Android的网络连接类型大致分为wifi和mobile两种,wifi比较容易理解,难理解一点的是mobile类型。首先,检查当前是否有网络连接采用的方法如下:public static boolean isNetworkConnected(Context context) { NetworkInfo networkInfo = ((ConnectivityM原创 2013-01-24 09:38:45 · 2210 阅读 · 0 评论 -
在ListItem某组件添加响应事件
标题不知是否表达清楚,本次模仿的效果是Android2.3 Contacts通话记录的一个效果如图:即listview即能响应onListItemClick事件,又能响应点击拨号的事件。其实很简单只需要对拨号的imageview进行setOnClickListener事件,另外,要想有点击效果只需进行android:backgroud设置即可。尤其需要注意的是:一定要添加and原创 2013-01-08 11:32:29 · 2210 阅读 · 0 评论 -
捕捉Power键的长按与短按处理
1. PhoneWindowManager.java中监听KeyEvent.KEYCODE_POWER事件(代码:mKeyguardMediator.onWakeKeyWhenKeyguardShowingTq(KeyEvent.KEYCODE_POWER)2.在interceptKeyBeforeQueueing中会有关KeyEvent.KEYCODE_POWER事件的处理原创 2013-01-23 11:18:05 · 11066 阅读 · 3 评论 -
也谈layout_gravity和gravity
转载自:http://www.cnblogs.com/olvo/archive/2012/05/21/2511632.html相信对于Android的初学者来说,大家都曾经被layout里这两个极其相似的属性迷惑过。简单使用一下搜索工具,我们就不难找到下面这样的答案:layout_gravity 表示组件自身在父组件中的位置gravity 表示组件的子转载 2013-01-06 16:01:08 · 1457 阅读 · 1 评论 -
Android中Bitmap和Drawable
转载自:http://dyh7077063.iteye.com/blog/970672一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bit转载 2013-01-05 11:49:58 · 796 阅读 · 0 评论 -
Android中图片占用内存的计算
转载自:http://hubingforever.blog.163.com/blog/static/171040579201262851012103/在Android开发中,我现在发现很多人还不会对图片占用内存进行很好的计算。因此撰写该博文来做介绍,期望达到抛砖引玉的作用。Android中一张图片(BitMap)占用的内存主要和以下几个因数有关:图片长度,图片宽度,单位像素占用的字节数转载 2013-01-05 11:38:36 · 983 阅读 · 0 评论 -
Android--高效地加载大图片
转载自http://blog.csdn.net/junjx/article/details/7798604在Android开发中,我们经常需要加载图片。但是图片的尺寸往往会很大,如果我们要的是比较小的图片,在Android有限的内存下,我们显然不能把大尺寸的图片放到内存里,这样不但效率降低,而且会导致java.lang.OutOfMemory异常,相信很多朋友都遇到过这样的问题,那么该怎么转载 2013-01-05 11:03:42 · 14171 阅读 · 4 评论 -
ContactPhotoLoader的理解
1.分为两种,一种是需要加载图片,将其imageview和mPendingRequests压入hashmap;另一种是不需要加载,直接设置2.针对第一种,会调用loadCachedPhoto判断该imageview是否为LOADED状态,如果是,则做如下处理,返回为true,这样的话mPendingRequests会将其view移除,也就是说在requestLoading中将不会再查找该v原创 2013-01-04 12:00:59 · 800 阅读 · 0 评论 -
Fragment生命周期
官方文档中有详细的文字说明,不过最好还是实践下,熟悉过程。http://developer.android.com/guide/components/fragments.html一、Activity的生命周期图:二、Fragment生命周期图三、对比图四、测试代码:package com.goso.testapp;import android.app.Act原创 2013-01-22 15:48:36 · 81968 阅读 · 9 评论 -
非UI线程中显示Toast
一、在BroadcastReceiver中开启了一个ReceivePushTask,然后想弹出一个toast,虽然不报错,但是一直没有效果,最后尝试startactivity实现<activity android:name=".TranslucentActivity" android:theme="@android:style/Theme.Translucent.NoTi原创 2013-03-29 16:20:27 · 2981 阅读 · 0 评论 -
Parcelable接口的使用
转载自http://www.cnblogs.com/hpboy/archive/2012/07/12/2587797.html什么是Parcelable ? Parcelable,定义了将数据写入Parcel,和从Parcel中读出的接口。一个实体(用类来表示),如果需要封装到消息中去,就必须实现这一接口,实现了这一接口,该实体就成为“可打包的”了。 Parcela转载 2013-04-25 15:14:32 · 4551 阅读 · 1 评论 -
全屏状态下的输入法布局问题
公司最新的launcher,为了达到更美观的效果,要求实现全屏,Android对全屏机制的支持相对来说比较弱,在不改变framework机制调整的情况下有很多莫名其妙的问题,调起来很不顺利,最麻烦的莫过于输入法的布局操作了,根本实现不了。如上图,如果实现全屏,则会将整个listview往上顶起,并且输入框布局也会被覆盖。上述project采用的AndroidManifest.xml如下原创 2014-02-11 11:04:52 · 2461 阅读 · 0 评论 -
Android中listview的一些调用
一、控制不活动的时候的可见性,true表示不活动时隐藏,false表示不活动时可见,但活动时肯定可见setScrollbarFadingEnabled(true);Define whether scrollbars will fade when the view is not scrolling.二、不活动的时候隐藏,活动的时候也隐藏setVerticalScrollBar原创 2014-01-21 11:18:45 · 1973 阅读 · 0 评论 -
computeScroll中慎用postInvalidate
这两天将新功能合成到svn主干版本后出现了很多莫名其妙的问题,桌面开机时无法加载,或者手机使用一段时间后莫名其妙的重启,或者添加文件夹后数据并未保存,下次开机文件夹丢失。问题太严重,没有办法只得在分支上跟踪下去,以前没有这些问题,肯定是谁在写代码的时候写了一段很有问题的代码,最终跟踪到116版本是正常的,但334版本却是不正常的。最终分析得,某同学自定了一个view,然后其中写了重写了comp原创 2014-01-14 15:53:50 · 5277 阅读 · 2 评论 -
横竖屏切换时候Activity的生命周期
http://blog.sina.com.cn/s/blog_9e877cdb01018wmy.html1、新建一个Activity,并把各个生命周期打印出来2、运行Activity,得到如下信息onCreate-->onStart-->onResume-->3、按crtl+f12切换成横屏时onSaveInstanceState-->onPause-->onStop-->on转载 2014-01-08 20:09:45 · 870 阅读 · 0 评论 -
Android的px、dp和sp等单位的区别详解
转载自:http://www.fengfly.com/plus/view-210166-1.html转载自:http://wenku.baidu.com/view/3f0e8cf6f61fb7360b4c65c8.htmlpx:即像素,1px代表屏幕上一个物理的像素点;px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同dp:这转载 2013-01-05 16:17:04 · 5378 阅读 · 1 评论 -
Android services
http://www.cnblogs.com/tianjian/archive/2012/08/15/2640514.htmlhttp://blog.csdn.net/android_tutor/article/details/5789203转载 2013-12-07 18:11:00 · 650 阅读 · 0 评论 -
Android应用程序在新的进程中启动新的Activity的方法和过程分析
http://www.blogjava.net/mixer-a/archive/2012/04/17/374976.html前面我们在分析Activity启动过程的时候,看到同一个应用程序的Activity一般都是在同一个进程中启动,事实上,Activity也可以像Service一样在新的进程中启动,这样,一个应用程序就可以跨越好几个进程了,本文就分析一下在新的进程中启动Activit转载 2013-12-05 12:58:58 · 1165 阅读 · 0 评论 -
Android中Bitmap和Drawable
一、相关概念1、Drawable就是一个可画的对象,其可能是一张位图(BitmapDrawable),也可能是一个图形(ShapeDrawable),还有可能是一个图层(LayerDrawable),我们根据画图的需求,创建相应的可画对象2、Canvas画布,绘图的目的区域,用于绘图3、Bitmap位图,用于图的处理4、Matrix矩阵二、Bitmap1、从资源中获取Bitma转载 2013-10-14 17:47:18 · 712 阅读 · 0 评论 -
LayoutInflate的使用
LayoutInflater作用是将layout的xml布局文件实例化为View类对象。setContentView()一旦调用, layout就会立刻显示UI;而inflate只会把Layout形成一个以view类实现成的对象,有需要时再用setContentView(view)显示出来。一般在activity中通过setContentView()将界面显示出来,但是如果在非acti原创 2013-09-02 20:41:07 · 3899 阅读 · 0 评论 -
ImageSpan的使用
编辑框中加图片,以前一直以为很复杂,后来发现android有些类已经很好的实现了这些功能.代码如下: mSubjectDetailView = (TextView) findViewById(R.id.subject_detail); CharSequence text = "如图所示★,dsfdsfdddd,如果fdsfs★东东";原创 2013-04-19 15:53:40 · 25096 阅读 · 3 评论 -
Services的一点理解
Service是在一段不定的时间运行在后台,不和用户交互应用组件。每个Service必须在manifest中 通过来声明。可以通过contect.startservice和contect.bindserverice来启动。 Service和其他的应用组件一样,运行在进程的主线程中。这就是说如果service需要很多耗时或者阻塞的操作,需要在其子线程中实现。 service的两原创 2012-12-19 17:04:55 · 916 阅读 · 0 评论 -
图片旋转的两种方法
简单的图片旋转效果,第一种方法采用tween动画实现,调用customView1(); 第二种采用了自定义类,然后通过handlermessage来实现。TestSimpleActivity.javapackage com.goso.ui;import android.app.Activity;import android.os.Bundle;import andr原创 2012-12-19 19:09:40 · 758 阅读 · 0 评论 -
ProgressBar 颜色的设置
转载自:http://blog.csdn.net/mars2639/article/details/6620836布局文件代码:<ProgressBar android:id="@+id/progressbar" android:layout_width="wrap_content" android:layout_height="wrap_content"原创 2012-12-12 15:20:28 · 42541 阅读 · 2 评论 -
锁屏
private PowerManager.WakeLock mFullWakelock = null; private void acquireFullWakelock(Context context) { PowerManager localPowerManager = (PowerManager)context.getSystemService(Context.P原创 2012-01-31 09:30:48 · 509 阅读 · 0 评论 -
浅析 Java Thread.join()
转载自http://www.blogjava.net/jnbzwm/articles/330549.html一、在研究join的用法之前,先明确两件事情。1.join方法定义在Thread类中,则调用者必须是一个线程,例如:Thread t = new CustomThread();//这里一般是自定义的线程类t.start();//线程起动t.join();//此处会转载 2012-01-30 18:06:15 · 738 阅读 · 0 评论 -
Java I/O系统
转载自:http://www.cnblogs.com/jerrychoi/archive/2010/03/16/1687589.html一、基本使用总结1. read方法是阻塞方法,也就是如果流对象中无数据可以读取时,则read方法会阻止程序继续向下运行,一直到有数据可以读取为止。 2. 由于‘\’是Java语言中的特殊字符,所以在代码内部书写文件路径时,例如代表“c:\tes转载 2012-01-18 15:34:18 · 451 阅读 · 0 评论 -
跑马灯效果
TextView android:layout_width="100px" android:layout_height="wrap_content" android:textColor="@android:color/white" android:ellipsize="marquee" android:focusable=转载 2012-01-10 19:25:10 · 521 阅读 · 0 评论 -
自定义对话框
开发中要使用到复杂一点的对话框,里面可以编辑内容。先看效果:实现方法有两种,一是自定一个继承类:PLMNDialog.java:package com.android.plmn;import com.android.plmn.PLMNItemContentList.PlmnItem;import android.app.AlertDialog;imp原创 2011-12-27 11:35:53 · 1165 阅读 · 0 评论 -
横竖屏切换不调用onResume
默认情况下,横竖屏切换会调用onResume,编码时,常常调用到某些函数如startQuery,但在横竖屏切换时并不想让它调用,由此可以在Manifest.xml的定义中加android:configChanges="keyboardHidden|orientation"属性,就不会重启activity.而只是调用onConfigurationChanged(Configuration newCo原创 2011-12-27 11:23:51 · 2168 阅读 · 0 评论 -
关于文件Uri的传递
在做文件管理器开发时,遇到这样的一个问题,如果文件的命名比较特殊:[1] 文件名含有空格 [2] 文件中是汉字。在intent接收方处理时,应稍做转换,否则会出现错误。Intent发送方要想正确传递文件的uri也应该做getUri(file)的处理.转换的函数如下:File file = getFile(intent.getData()); Uri uri = getUri(fil原创 2011-12-23 15:32:28 · 1544 阅读 · 0 评论 -
仿写Android屏幕解锁小应用
近日需要设置密码并加密,因此仿写了Android的位置和安全设置有更改屏幕锁定的设置。先看效果图:点击后,第一次是可设置密码。设置成功密码后再点Button按钮将会出现:由于时间紧,因此只研究了字母和数字设置的密码。思路分析如下:将密码加密后放置到一个文件里,如果读了来为空则认为没有设置密码,这样,你需要先设置密码,若不为空,则是要确认密码。因此需要原创 2011-12-21 21:14:27 · 4756 阅读 · 0 评论 -
删除编辑框中文字
final Editable digits = mPasswordEntry.getEditableText(); final int cursorPosition = Selection.getSelectionEnd(digits);if (cursorPosition > 0) { digits.delete(cursorPosition-1, cursorP原创 2011-12-22 09:59:56 · 891 阅读 · 0 评论 -
给Android应用开发者的十个建议
随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键。用户要求他们选择安装的应用响应快、性能好,如果某个应用不能提供卓越的功能和稳定的用户体验,那这样的应用注定会被很快卸载。尽管现在Android智能手机和平板电脑的运行速率越来越快,但开发者仍需牢记,应用的运行环境仍受到电池和处理器等诸多资源的限制。以下是如何为应用“瘦身”的十条建议,以便能在当前和以后的所有Android设备都能运行转载 2011-12-13 18:25:24 · 1067 阅读 · 0 评论 -
android设置背景色为透明
方法一:只要在配置文件内activity属性配置内加上android:theme="@android:style/Theme.Translucent" 就好了。这样就调用了android的透明样式!方法二:先在res/values下建colors.xml文件,写入: #9000转载 2011-12-12 21:56:37 · 73040 阅读 · 3 评论 -
Android实战技巧:ViewStub的应用
在开发应用程序的时候,经常会遇到这样的情况,会在运行时动态根据条件来决定显示哪个View或某个布局。那么最通常的想法就是把可能用到的View都写在上面,先把它们的可见性都设为View.GONE,然后在代码中动态的更改它的可见性。这样的做法的优点是逻辑简单而且控制起来比较灵活。但是它的缺点就是,耗费资源。虽然把View的初始可见View.GONE但是在Inflate布局的时候View仍然会被Infl转载 2012-02-01 11:47:10 · 405 阅读 · 0 评论