
Android基础
文章平均质量分 78
古月印象星空
热爱生活,热爱工作
展开
-
Java 泛型的不变性 (invariance)、协变性 (covariance)、逆变性 (contravariance)
本文整理自:https://chiclaim.blog.youkuaiyun.com/article/details/85575213我们先定义三个类:Plate、Food、Fruit//定义一个`盘子`类public class Plate<T> { private T item; public Plate(T t) { item = t; ...原创 2020-04-09 20:24:05 · 927 阅读 · 0 评论 -
Android的xml文件中@、@android:type、@*、?、@+的含义和区别
本文转载自:http://www.ityoudao.com/Web/Android_657_2257.html一.@代表引用资源1.引用自定义资源。格式:@[package:]type/nameandroid:text="@string/hello"2.引用系统资源。格式:@android:type/name android:textColor转载 2012-02-13 22:13:38 · 1266 阅读 · 0 评论 -
dip、dp、sp、pt和px的区别
转载自:http://www.ityoudao.com/Web/Android_657_2256.html1、概述过 去,程序员通常以像素为单位设计计算机用户界面。例如:图片大小为80×32像素。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上 运行该程序,则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清内容。由此我们采用与分辨率无关的度量单位来转载 2012-02-13 22:10:39 · 2304 阅读 · 0 评论 -
SystemClock简介
原文:http://developer.android.com/reference/android/os/SystemClock.html#elapsedRealtime()android.os.SystemClockClass OverviewCore timekeeping facilities.Three different clocks are翻译 2012-02-28 10:25:20 · 8156 阅读 · 0 评论 -
定时器alarmmanager和timer
转载自:http://www.mianwww.com/html/2011/11/12194.html在Android上常用的定时器有两种,一种是Java.util.Timer,一种就是系统的AlarmService了。实验1:使用Java.util.Timer。在onStart()创创建Timer,每5秒更新一次计数器,并启动。Java代码1mTimer转载 2012-02-28 10:21:23 · 1508 阅读 · 0 评论 -
android:configChanges
每次Power键的时候,app是会强制回到竖屏状态的,并且会重新调用Activity的onCreate(),当然很多时候这不是我们想要的。所以就需要用到android:configChanges了,在配置文件里设置 android:configChanges="keyboardHidden|orientation",这样在屏幕方向改变的时候就不会重新调用 Activity的onCreate(),而转载 2011-11-10 19:28:46 · 948 阅读 · 0 评论 -
Android中定时器汇总
Android中具有定时器功能的技术主要有以下这些:一、来自Java的定时器有java.util.concurrent.ScheduledThreadPoolExecutor,具体请参照《ScheduledThreadPoolExecutor》Java.util.Timer,具体参照《Timer技术》二、来自Android本身的有:android.os.Hand原创 2012-03-12 16:51:33 · 1211 阅读 · 0 评论 -
Account简介
android中的android.accounts.Account代表的是手机的基本账号信息(name和type).我们可以通过AccountManager取得Android手机的所有账号。比如:AccountManager am = AccountManager.get(context);Account[] accounts = am.getAccounts();原创 2012-03-13 18:10:39 · 6531 阅读 · 1 评论 -
android软件盘的开关
一、启动Activity时显示软件盘启动Activity时显示软件盘,可以用如下的方式 首先得到InputMethodManage InputMethodManager m = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE); 然后调用InputMethodMan翻译 2011-12-01 10:50:36 · 3659 阅读 · 2 评论 -
android应用程序的安装位置
本文编辑整理自:http://blog.163.com/hero_213/blog/static/3989121420116212341948/http://blog.163.com/hero_213/blog/static/39891214201162123639488/Android应用程序的默认安装位置以及是否可移动取决于开发者在其AndroidManifest.xml中转载 2012-07-03 20:31:01 · 2590 阅读 · 0 评论 -
ProgressBar和ProgressDialog(二)
上一篇《ProgressBar和ProgressDialog(一)》三、ProgressBar使用实例以下一个是ProgressBar的实例,由于ProgressBar的基本使用很简单,我就不对实例做详细介绍了。主要界面,截图5 点击"download"按钮, 截图6 点击“play”按钮,截图7 ProgressBarDemo原创 2011-12-26 19:12:45 · 2123 阅读 · 0 评论 -
ProgressBar和ProgressDialog(一)
一、前言其实ProgressBar和ProgressDialog,自己实现的话,可能反而要简单些。但是google为满足多种需求,反而把他们搞复杂,。更糟糕的是,google并没有能很好的实现这些需求。我在对他们的学习也花了不少时间,个人觉得这是不值得的。二、ProgressBar简介android.widget.ProgressBar用于表示一些操作正在进行,以便用户耐心的等待。原创 2011-10-22 13:13:47 · 5268 阅读 · 2 评论 -
ProgressBar和ProgressDialog(三)
四、ProgressDialog简介ProgressDialog的本质就是在一对话框中显示ProgressDialog,并另外显示一些关于进度的等文本信息。虽然ProgressDialog继承于AlertDialog,但是它并没取消操作按钮,用户只能通过back键来取消和返回。如果想要取消和返回按钮请参照下文关于ProgressDialog的使用实例。 ProgressDial原创 2011-12-26 19:15:56 · 3073 阅读 · 0 评论 -
PendingIntent详解
本文翻译整理自:http://developer.android.com/reference/android/app/PendingIntent.htmlpublic final classPendingIntentextends Objectimplements Parcelable简介PendingIntent用于描述Intent及其最终的行为. 你可以翻译 2011-12-11 10:54:18 · 35504 阅读 · 4 评论 -
WindowManager.LayoutParams(上)
本文参照自:http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html和http://blog.sina.com.cn/s/blog_4b3c1f950100qd9s.htmlpublic static classWindowManager.LayoutParam翻译 2011-12-11 11:26:31 · 39137 阅读 · 3 评论 -
Android传感器使用实例1
以下仅是传感器使用实例,关于传感器的详细简绍请参考《Android传感器的环境监控》。文件1:Main.javaimport java.util.HashMap;import java.util.List;import java.util.Set;import java.util.Map.Entry;import android.app.Activity;i原创 2011-12-09 10:39:33 · 1349 阅读 · 0 评论 -
Looper和Handler
Looper用于在android线程中进行消息处理,默认情况下,一个线程并不和任何Looper绑定。当我们调用Looper.prepare()时,如果当前线程还没有和任何Looper绑定,那么将创建一个Looper让它和当前线程绑定。当我们调用Looper.loop()时,它将对当前线程所对应的Looper的消息进行处理,从消息队列里取消息,处理消息,一直循环直到对该Looper调用quit()函原创 2011-12-11 10:45:26 · 5560 阅读 · 0 评论 -
WindowManager.LayoutParams(下)
本文参照自:http://developer.android.com/reference/android/view/WindowManager.LayoutParams.htmlBRIGHTNESS系列该系列主要用于设置window的brightness(screenBrightness/buttonBrightness)。我们可以通过WindowManager.LayoutParams的翻译 2011-12-11 15:13:23 · 4178 阅读 · 0 评论 -
Linkify简介
本文参照自:http://www.cnblogs.com/xirihanlin/archive/2009/07/29/1534030.htmlandroid.text.util.Linkify是一个辅助类,通过RegEx样式匹配,自动地在TextView类(和继承的类)中创建超链接。 符合特定的RegEx样式的文本会被转变成可点击的超链接,这些超链接隐式地调用startActivity原创 2011-12-14 11:40:13 · 4189 阅读 · 2 评论 -
KeyguardManager简介
android.app.KeyguardManager类用于对Keyguard进行管理,即对锁屏进行管理Class OverviewClass that can be used to lock and unlock the keyboard. Get an instance of this class by calling getSystemService(java.lang.St翻译 2011-12-15 11:25:59 · 25905 阅读 · 1 评论 -
BroadcastReceiver(有序广播篇)
BroadcastReceiver所对应的广播分两类:普通广播和有序广播。普通广播通过Context.sendBroadcast()方法来发送。它是完全异步的。所有的receivers接收器的执行顺序不确定。 因此,所有的receivers接收器接收broadcast的顺序不确定。这种方式效率更高。但是BroadcastReceiver无法使用setResult系列,getRes原创 2011-12-16 11:17:58 · 2659 阅读 · 0 评论 -
ProgressBar和ProgressDialog(四)
MyArrayAdapter.java文件package com.teleca.robin;import java.util.List;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view原创 2011-12-26 19:17:00 · 1097 阅读 · 0 评论 -
AndroidManifest.xml详解(上)
本文编辑整理自:http://blog.163.com/hero_213/blog/static/39891214201242835410742/一、关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们转载 2012-07-16 07:41:51 · 8174 阅读 · 1 评论 -
关于Android中ANR的一些思考
本人博客原文以前做Android系统开发,一般很少写程序。现在到一公司做Android互联网应用,程序中不时出现一些ANR。上峰对ANR非常的关注,期望我能彻底解决该项目的ANR。⊙﹏⊙b汗!因此我对ANR进行了些思考,并和刚从腾讯QQ项目组跳槽来公司北京总部的某架构师同事进行了探讨。他也基本认同我的观点。现将我应对ANR的思路整理如下:一、在项目之前,应该原创 2012-08-17 21:44:13 · 9559 阅读 · 6 评论 -
Android自定义控件之onLayout
在自定义view的时候,其实很简单,只需要知道3步骤:1.测量——onMeasure():决定View的大小,关于此请阅读《Android自定义控件之onMeasure》2.布局——onLayout():决定View在ViewGroup中这篇文章主要来谈谈第二步布局(Layout)转载 2016-03-17 14:19:24 · 10761 阅读 · 0 评论 -
Activity的顶层窗体
假如我们有一个布局文件<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_he转载 2016-03-09 17:31:22 · 1654 阅读 · 0 评论 -
java的动态代理机制详解
原文:http://www.cnblogs.com/xiaoluo501395377/p/3383130.html在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是转载 2016-06-30 14:25:22 · 1194 阅读 · 0 评论 -
Android DiskLruCache完全解析,硬盘缓存的最佳方案
原文:http://blog.youkuaiyun.com/guolin_blog/article/details/28863651版权声明:本文出自郭霖的博客,转载必须注明出处。目录(?)[+]转载请注明出处:http://blog.youkuaiyun.com/guolin_blog/article/details/28863651概述记得在很早之前转载 2016-06-20 14:44:49 · 1045 阅读 · 0 评论 -
Android自定义控件之onMeasure
在自定义view的时候,其实很简单,只需要知道3步骤:1.测量——onMeasure():决定View的大小2.布局——onLayout():决定View在ViewGroup中的位置3.绘制——onDraw():如何绘制这个View。而第3步的onDraw系统已经封装的很好了,基本不用我们来操心,只需要专注到1,2两个步骤就中好了。而这篇文章就来谈谈第一步,也是十分关键得一步:“测量(Measure)”转载 2016-03-16 18:06:12 · 5372 阅读 · 0 评论 -
EventBus使用详解(一)——初步使用EventBus
原文:http://blog.youkuaiyun.com/harvic880925/article/details/40660137相关文章:1、《EventBus使用详解(一)——初步使用EventBus》2、《EventBus使用详解(二)——EventBus使用进阶》一、概述EventBus是一款针对Android优化的发布/订阅事件总线。主要功转载 2016-07-25 19:05:02 · 968 阅读 · 0 评论 -
EventBus使用详解(二)——EventBus使用进阶
原文:http://blog.youkuaiyun.com/harvic880925/article/details/40787203一、概述前一篇给大家装简单演示了EventBus的onEventMainThread()函数的接收,其实EventBus还有另外有个不同的函数,他们分别是:1、onEvent2、onEventMainThread3、onEventBack转载 2016-07-25 19:07:08 · 1636 阅读 · 0 评论 -
Android的Touch 事件的分发和消费机制
Android 中与 Touch 事件相关的方法包括:dispatchTouchEvent(MotionEvent ev)、onInterceptTouchEvent(MotionEvent ev)、onTouchEvent(MotionEvent ev);能够响应这些方法的控件包括:ViewGroup 及其子类、Activity。Tou转载 2016-03-08 16:28:43 · 1281 阅读 · 0 评论 -
Android照片墙完整版,完美结合LruCache和DiskLruCache
原文:http://blog.youkuaiyun.com/guolin_blog/article/details/34093441转载请注明出处:http://blog.youkuaiyun.com/guolin_blog/article/details/34093441在上一篇文章当中,我们学习了DiskLruCache的概念和基本用法,但仅仅是掌握理论知识显然是不够的,那么本篇文章我们就来继续进转载 2016-06-20 14:46:43 · 785 阅读 · 0 评论 -
Android手机中取得当前时区(以GMT形式)
Android手机中如果想以GMT形式(GMT+08:00)得到当前时区,可以参照如下代码所示: public static String getCurrentTimeZone() { TimeZone tz = TimeZone.getDefault(); return createGmtOffsetString(true,true,tz.getRawOf原创 2015-01-11 14:31:58 · 15324 阅读 · 2 评论 -
Android线程与ANR
本人博客原文第一部分 Android线程Android线程模型Android的每个进程有一个称为“main”主线程(也称UI线程)的线程。它除了负责所有事件的分发和处理,还负责4大组件的生命周期函数的调用。更多内容请参考《Android线程模型》和《Looper和Handler》如何确定当前线程我们可以通过打印代码的调用层次来确定当前线程。更多内容请参考《 An原创 2012-12-29 20:49:20 · 4381 阅读 · 1 评论 -
Content Provider的加载
原文: http://www.eoeandroid.com/thread-1049-1-1.html 在实际开发中,使用Content Provider(简称CP)有以下两种方式:1)和应用在一个APK包里这种情况下和应用在同一进程中。process name和uid都一样。2)单独在一个APK包里。这种情况下,如果在AndroidManifest.xml文件里声明了和某个转载 2012-07-16 07:43:49 · 1460 阅读 · 0 评论 -
Android中单APK应用多进程
本人博客原文Android中,默认一个APK包就对应一个进程,其进程名就为AndroidManifest.xml文件中 指定的package名。我们可以通过Activity, Service, BroadCastReceiver, ContentProvider的android:process属性来实现单APK多进程但是需要注意进程间内存的不可见性。实例1文原创 2012-08-12 22:05:50 · 12962 阅读 · 6 评论 -
关于ANR的官方建议
本人博客原文本翻译整理自: http://developer.android.com/guide/practices/responsiveness.html参考译文: http://blog.youkuaiyun.com/su1216/article/details/7876645 Designing for ResponsivenessIN THIS DOCU翻译 2012-08-26 08:43:10 · 3986 阅读 · 0 评论 -
Android进程,任务,服务的信息
本文参照自:http://www.linuxidc.com/Linux/2012-02/53080.htmhttp://developer.android.com/reference/android/app/ActivityManager.RunningTaskInfo.html http://developer.android.com/reference/android/翻译 2012-09-07 08:59:41 · 4978 阅读 · 0 评论 -
IntentService简介
英文原文:http://developer.android.com/reference/android/app/IntentService.html参照文章:http://android.tgbus.com/Android/tutorial/201106/355229.shtml IntentService是Service类的子类,用来处理异步请求。客户端可以通过startServ翻译 2012-09-17 07:41:27 · 63209 阅读 · 9 评论