刚刚开始接触android线程编程的时候,习惯好像java一样,试图用下面的代码解决问题 new Thread( new Runnable() { public void run() { myView.invalidate(); } }).start(); 然而发现这样是不行的,因为它违背了单线程模型:Android UI操作并不是线程安全的
1.Android中通过SQLite数据库引擎来实现结构化数据存储。SQLite是一个嵌入式数据库引擎,针对内存等资源有限的设备,提供的是一种高效的数据库引擎。 2.Android提供了创建和使用SQLite数据库的API。SQLiteDatabase代表一个数据库对象,提供了操作数据库的一
隐式意图:没有明确指定组件名的Intent为隐式意图。 对于隐式意图,Android是怎样寻找到这个最合适的组件呢?记的前面我们在定义活动时,指定了一个intent-filter,Intent Filter(意图过滤器)其实就是用来匹配隐式Intent的,当一个意图对象被一个意图过滤器进
一直想知道这种效果到底是如何做出来的,直到看到代码,原来还是动画。从网上找了两份代码,原理基本相同,两份代码中应该有相互参考部分,现在简单解析下,做一个记录,另外,代码中做了些许不妨碍功能的修改(如果有时间的话,自己也会考虑用 fragment 实
工具/原料 下载需要用到的工具: (1)下载JAVA的IDE开发工具– Eclipse 到Eclipse官方网站下载Ecplise For Java EE的最新Windows版本 下载Ecplise (2)下载Java开发包 — Java SE Development Kit (JDK) JDK 6 到Sun官方网站下载JDK6,选择JDK 6 Update 12 下载J
本文通过FrameLayout和LinearLayout来布局,并通过捕捉onTouchEvent事件来实现画面的随意移动,并同时显示移动后画面坐标。 控制view移动的函数主要是scrollTo和scrollBy,两者的差别如下: scrollTo让我们的layout视图相对于屏幕的左上角进行偏移; scrollB
模拟主要是通过view的dispatchTouchEvent 来实现的,这个示例程序的原理是点击一个button然后触发一个textview的获取焦点事件 一、布局文件showime.xml: ?xml version="1.0" encoding="utf-8"?LinearLayout xmlns:android="http://schemas.android.com/apk/
public void drawArc( RectF oval, float startAngle, float sweepAngle,boolean useCenter, Paint paint ) oval :指定圆弧的外轮廓矩形区域。 startAngle: 圆弧起始角度,单位为度。 sweepAngle: 圆弧扫过的角度,顺时针方向,单位为度。 useCenter: 如果为
由于长久以来在Windows上养成的操作习惯,对于一个新手来说成功安装一个Ubuntu系统也不是一件容易的事。所以很少有人真正使用Ubuntu系统作为自己的桌面环境。其实一旦你投入Ubuntu的怀抱之后,你会发现操作起来其实也是如此的顺手。况且,Ubuntu的一些特性,
ActionBar是Google在3.0中引入的另类menu菜单,不同与menu的是, 它显示在界面顶端,它比menu更灵活,更简洁。在4.0版本的应用中多有使用,例如短信,浏览器,图库。它会根据屏幕的布局显示情况,决定显示为传统的menu还是ActionBar。一般ActionBar也会定义
【功能说明】该方法用于在画布上绘制直线,通过指定直线的两个端点坐标来绘制。该方法只能绘制单条直线;如果需要同时绘制多条直线,则可以使用drawLines方法。 【基本语法】public void drawLine (float startX, float startY, float stopX, float stopY, P
本文结合源代码和实例来说明TabHost的用法。 使用TabHost 可以在一个屏幕间进行不同版面的切换,例如android自带的拨号应用,截图: 查看tabhost的源代码,主要实例变量有: private TabWidget mTabWidget; private FrameLayout mTabContent; private ListTa
Android中使用图形处理引擎,2D部分是android SDK内部自己提供,3D部分是用Open GL ES 1.0。今天我们主要要了解的是2D相关的,如果你想看3D的话那么可以跳过这篇文章。 大部分2D使用的api都在android.graphics和android.graphics.drawable包中。他们提供了图
Android 中 Bundle 类的作用 Bundle 类用作携带数据,它类似于 Map ,用于存放 key-value 名值对形式的值。相对于 Map ,它提供了各种常用类型的 putXxx()/getXxx() 方法,如 :putString()/getString() 和 putInt()/getInt() , putXxx() 用于往 Bundle 对象
本文译自: http://developer.android.com/guide/topics/connectivity/nfc/advanced-nfc.html 本文介绍一些高级的NFC专题,如多样的NFC标签技术、编写NFC标签、以及前台调度,前台调度允许在前台的应用程序优先调度Intent事件,即使还有其他的过滤同样的Inte
1.Intent的用法: (1)用Action跳转 1、使用Action跳转,如果有一个程序的AndroidManifest.xml中的某一个 Activity的IntentFilter段中 定义了包含了相同的Action那么这个Intent就与这个目标Action匹配。如果这个IntentFilter段中没有定义 Type,Category,那么
适用场景: 从activity A 跳转到 B,且希望B在做完某些操作后回到A时告诉A去做某些事情(如A是列表,B是发表文章,发表文章后告诉A刷新页面)。 1.首先在activity A中使用startActivityForResult(Intent intent,int requestCode)跳转到B Intent intent=new I
android.widget.Scroller是用于模拟scrolling行为,它是scrolling行为的一个帮助类。我们通常通过它的 startScroll (int startX , int startY , int dx , int dy , int duration ) 函数来设置一个scrolling行为模型,即在 int duration (单位为毫秒)时间的
Scroller这个类理解起来有一定的困难,刚开始接触Scroller类的程序员可能无法理解Scroller和View系统是怎么样联系起来的。我经过自己的学习和实践,对Scroller的用法和工作原理有了一定的理解,在这里和大家分享一下,希望大家多多指教。 首先从源码开始分析
简单说说 自己对 android LayoutParams的理解吧 public static class ViewGroup.LayoutParams extends Object java.lang.Object android.view.ViewGroup.LayoutParams //继承关系 一个LinearLayout 和 这个LinearLayout里边一个 TextView 的关系 TextView 就
大家对悬浮窗概念不会陌生,相信每台电脑桌面的右上角都会有这么一个东西,它总是出现在所有页面的顶端(Top Show)。但在Android平台中如何实现这样的效果呢?先来看一看效果图 看见在Google搜索框上面的那个Icon图片了嘛。下面我就来详细介绍一下在Android
应用程序部件的微型应用程序的意见,可以嵌入到其他应用程序(如主屏幕)并得到定期更新。这些观点被称为窗口的用户界面,你可以发布一个软件部件供应商。应用程序组件,可以容纳其他应用程序的窗口被称为一个应用程序组件主机。下面的截图显示音乐应用部件
先简单说说App Widget的原理。App Widget是在桌面上的一块显示信息的东西,通过单击App Widget跳转到程序入口类。而系统自带的程序,典型的App Widget是music,这个Android内置的音乐播放小程序。这个是典型的App Widget+app应用。就是一个程序既可以通过App
调试Media播放时,不时用到SurfaceView与SurfaceHolder对象,写case测试及实际运行效果, 基本上搞清楚这两个对象的用法及区别 1、SurfaceView public class SurfaceView extends View SurfaceView是视图(View)的继承类, 这个视图里内嵌了一个专门用于绘制
文章转自csdn,感觉作者也是将网上的文章拼凑起来的,所以有时候上下文衔接不是很好。 SurfaceView介绍 通常情况程序的View和用户响应都是在同一个线程中处理的,这也是为什么处理长时间事件(例如访问网络)需要放到另外的线程中去(防止阻塞当前UI线程的操