随笔分类 - android
learn
摘要:绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现绘制自己的孩子通过dispatchDraw(canvas)实现 View组件的绘制会调用draw(Canvas canvas)方法,draw过程中主要是先画Drawable背景,对 drawable调用setBounds(),然后是draw(Canvas c)方法。有点注意的是背景drawable的实际大小会影响view组件的大小,drawable的实际大小通过getIntrinsicWidth()和getIntrinsicHeight()获取,当背景比较大时view组件大小等于背景drawable的大小。画完背景.
阅读全文
摘要:第一种方法,可直接设置主题,下面重点介绍第二种方法:[java] view plaincopyprint?//获取壁纸管理器 WallpaperManagerwallpaperManager=WallpaperManager.getInstance(mContext);//获取当前壁纸 DrawablewallpaperDrawable=wallpaperManager.getDrawable();//将Drawable,转成Bitmap Bitmapbm=((BitmapDrawable)wallpaperDrawable).getBitmap();//需要详细说明一下,mScreenCou
阅读全文
摘要:一、LauncherModel的LoaderTask的loadAndBindWorkspace方法开始private void loadAndBindWorkspace() { // Load the workspace if (DEBUG_LOADERS) { Log.d(TAG, "loadAndBindWorkspace mWorkspaceLoaded=" + mWorkspaceLoaded); } if (!mWorkspaceLoaded) { loadWorkspace(); synchronized (LoaderTask.this) { if (mSto
阅读全文
摘要:from :http://blog.csdn.net/hitlion2008/article/details/7567549Dialog是任何系统都必须有的一个控件,作为辅助窗口,用于显示一些消息,或请求用户采取一引起操作等。在Android中也不例外,基本使用可能参看文档。使用时的注意事项1. BACK键能取消掉对话框(dismiss),但是却不会触发其onOkey和onCancel回调接口,所以如果你的对话框会改某些状态,一定要注意还有第三种方式取消对话框。2. 尽量少用模态对话框(Model dialog),如果Dialog.setCancellable(false),就变成了一个模态对
阅读全文
摘要:一、Android的应用程序的入口定义在AndroidManifest.xml文件中可以找出:<manifestxmlns:android="http://schemas.android.com/apk/res/android"package="com.android.launcher"><original-package android:name="com.android.launcher2" />...<application android:name="com.android.launch
阅读全文
摘要:一、一般把UI 布局文件放在layout文件夹下,如果要支持橫屏,就会取同名的layout放在layout-land文件夹下。-res/layout-land 横屏 -res/layout-port 竖屏 -res/layout 默认还有layout-finger,layout-land-finger, finger使用在对手指触摸支持很好的屏幕(finger-friendly touchscree)。二、硬件加速使用GPU进行View上的绘制操作http://developer.android.com/guide/topics/graphics/hardware-accel.html。 ..
阅读全文
摘要:摘抄 自http://blog.csdn.net/xiezhenxiang/article/details/6659506GestureDetector类定义了许多触摸事件。包括1.boolean onDoubleTap(MotionEvent e)解释:双击的第二下Touch down时触发2.boolean onDoubleTapEvent(MotionEvent e)解释:双击的第二下Touch down和up都会触发,可用e.getAction()区分。3.boolean onDown(MotionEvent e)解释:Touch down时触发4.boolean onFling(Mo
阅读全文
摘要:ContentProvider:一个程序可以通过实现一个ContentProvider的抽象接口将自己的数据完全暴露出去,而且ContentProviders是以类似数据库中表的方式将数据暴露,也就是说ContentProvider就像一个“数据库”。那么外界获取其提供的数据,也就应该与从数据库中获取数据的操作基本一样,只不过是采用URI来表示外界需要访问的“数据库”。ContentProvider向外界提供数据操作的接口:query(Uri, String[], String, String[], String)insert(Uri, ContentValues)update(Uri, Co
阅读全文
摘要:一、Handler的定义:主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。 如果此时需要一个耗时的操作,例如: 联网读取数据, 或者读取本地较大的一个文件的时候,你不能把这些操作放在主线程中,,如果你放在主线程中的话,界面会出现假死现象, 如果5秒钟还没有完成的话,,会收到Android系统的一个错误提示 "强制关闭". 这个时候我们
阅读全文
摘要:在Android平台,一个进程通常不能访问另一个进程的内存空间。但是android提供了AIDL可以用来进程间数据传递。 AIDL (Android Interface Definition Language) 是一种IDL 语言,用于生成可以在Android设备上两个进程之间进行进程间通信(interprocess communication, IPC)的代码。如果在一个进程中(例如Activity)要调用另一个进程中(例如Service)对象的操作,就可以使用AIDL生成可序列化的参数。 AIDL IPC机制是面向接口的,像COM或Corba一样,但是更加轻量级。它是使用代理类在客户端和.
阅读全文
摘要:1、输入法Enter键图标的设置:软键盘的Enter键默认显示的是“完成”文本,通过设置android:imeOptions来改变默认的“完成”文本。这里举几个常用的常量值:actionUnspecified 未指定,对应常量EditorInfo.IME_ACTION_UNSPECIFIED.效果:actionNone 没有动作,对应常量EditorInfo.IME_ACTION_NONE 效果:actionGo 去往,对应常量EditorInfo.IME_ACTION_GO 效果:actionSearch 搜索,对应常量EditorInfo.IME_ACTION_SEARCH 效果:acti
阅读全文
摘要:一、结构public classViewSwitcher extendsViewAnimatorjava.lang.Objectandroid.view.View android.view.ViewGroup android.widget.FrameLayout android.widget.ViewAnimator android.widget.ViewSwitcher已知直接子类ImageSwitcher,TextSwitcher二、概述 在两个视图间转换时显示动画,有一个可以创建这些视图的工厂类。你可以用工厂来创建这些视图,也可以自己创建。一个ViewSwitcher只允许包含两个...
阅读全文
摘要:tabActivity继承自Activity,其内部定义好了TabHost,可以通过getTabHost()获取。TabHost 包含了两种子元素:一些可以自由选择的Tab 和tab对应的内容tabContentto,在Layout的<TabHost>下它们分别对应 TabWidget和FrameLayout。<TabWidger>对应Tab。<FrameLayout>则用于包含Tab需要展示的内容。需要注意的是<TabWidger> 和<FrameLayout>的Id 必须使用系统id,分别为android:id/tabs 和 an
阅读全文
摘要:在开发Android移动客户端的时候往往要使用多线程来进行操作,我们通常会将耗时的操作放在单独的线程执行,避免其占用主线程而给用户带来不好的用户体验。但是在子线程中无法去操作主线程(UI 线程),在子线程中操作UI线程会出现错误。因此android提供了一个类Handler来在子线程中来更新UI线程,用发消息的机制更新UI界面,呈现给用户。这样就解决了子线程更新UI的问题。但是费时的任务操作总会启动一些匿名的子线程,太多的子线程给系统带来巨大的负担,随之带来一些性能问题。因此android提供了一个工具类AsyncTask,顾名思义异步执行任务。这个AsyncTask生来就是处理一些后台的比较
阅读全文
摘要:本文摘自http://www.cppcode.com/archives/2012/03/13/181.htmlAndroid 广播大全Intent.ACTION_AIRPLANE_MODE_CHANGED;——关闭或打开飞行模式时的广播Intent.ACTION_BATTERY_CHANGED;——充电状态,或者电池的电量发生变化——电池的充电状态、电荷级别改变,不能通过组建声明接收这个广播,只有通过Context.registerReceiver()注册Intent.ACTION_BATTERY_LOW;——表示电池电量低Intent.ACTION_BATTERY_OKAY;——表示电池电量
阅读全文
摘要:AlarmManager 主要管理硬件时钟。一些与时间相关的应用,如日历,闹钟等需要使用Alarm Manager的服务。Alarm manager功能相对比较简单,相关代码位于frameworks/base/core/jni/server/com_android_server_AlarmManagerService.cppframeworks/base/services/java/com/android/server/AlarmManagerService.java一. frameworks/base/core/jni/server/com_android_server_AlarmManag
阅读全文
摘要:复制文件和目录树。 XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/EXCLUDE:file1[+file2][+file3]...] source 指定要复制的文件。 destination 指定新文件的位置和/或名称。 /A 只复制有存档属性集的文件, 但不改变属性。 /M 只复制有存档属性集的文件, 并关闭存档属性。 /D:m
阅读全文
摘要:一、一个RSS文件就是一段规范的XML数据,该文件一般以RSS、XML或者RDF作为后缀。二、SAX(Simple API for XML) 优点:不用事先调入整个文档,占用资源少 缺点:不像DOM一样将文档树长期驻留在内存,数据是不持久的 使用场合:机器有性能限制,尤其是在嵌入式环境如Android,极力推荐采用SAX进行解析。三、具体实现的步骤如下: 1、新建一个工厂类: SAXParserFactory=SAXParserFactory.newInstane(); 2、让工厂类产出一个SAX的解析类 SAXParser parser=factory.newSAXPa...
阅读全文
摘要:1.新建工程PlayService2.设置main.xml<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent&q
阅读全文
摘要:一、认识Service它是在后台运行,不可交互的一个东西,不能自己运行,需要通过某一个Activity或者其它的Context对象来调用,如Context.startService()和Context.bindService()二种方式启动Service。需要说明的是:如果在Service的onCreate()或者onStart()方法里面做一些很耗时的动作,最好是启动一个新线程来运行这个Service。因为如果Service是运行在主线程中,会影响程序的UI操作或者阻塞主线程中的其它事情。应用场景:播放多媒体的时候用户启动了其它Activity,这个时候程序要在后台继续播放;检测SD卡上文件
阅读全文

浙公网安备 33010602011771号