代码改变世界

随笔分类 -  Android

获取定位数据

2013-11-27 09:21 by Andy Ge, 631 阅读, 收藏,
摘要: main.xml LocationTest.java package org.crazyit.gps;import android.app.Activity;import android.content.Context;import android.location.Location;import android.location.LocationListener;import andr... 阅读全文

简易水平仪实现

2013-11-26 13:34 by Andy Ge, 984 阅读, 收藏,
摘要: 方向传感器会返回三个值,其中第二个角度值代表底部翘起的角度(当顶剖翘起时为负值);第三个角度值代表右侧翘起的角度(当左侧翘起时为负值);根据这两个角度值就可开发出水平仪了。 假设我们以大透明圆盅的中心为原点,当手机顶部翘起时,气泡应该向顶部移动,也就是气泡的位置的y坐标(2D绘图坐标系,屏幕左上角为原点)应减小;当手机底部翘起时,气泡应该向底部移动,也就是气泡的位置的Y坐标应增加——假设气泡开... 阅读全文

简易指南针实现

2013-11-26 13:08 by Andy Ge, 550 阅读, 收藏,
摘要: 开发指南针的思蹄很简单:程序先准备一张指南针图片,该图片上方向指引指同北方。接下来开发一个检测方向的传感器,程序检测到手机顶部绕z轴转过多少度,让指南针图片反向转过多少度即可。 main.xml Compass.java package org.crazyit.sensor;import android.app.Activity;import android.hardw... 阅读全文

综合传感器示例

2013-11-26 11:47 by Andy Ge, 358 阅读, 收藏,
摘要: main.xml SensorTest.java package org.crazyit.sensor;import android.app.Activity;import android.hardware.Sensor;import android.hardware.SensorEvent;import android.hardware.SensorEv... 阅读全文

传感器使用简介

2013-11-26 11:23 by Andy Ge, 388 阅读, 收藏,
摘要: Android 系统提供了对传感器的支持,如果手机设备的硬件提供了这些传感器,Android应用可以通过传感器来获取设备的外界条件,包括手机设备的运行状态、当前摆放方向、外界的磁场、温度和压力等。Android 系统提供了驱动程序去管理这些传感器硬件,当传感器硬件感知到外部环境发生改变时,Android 系统负责管理这些传感器数据。 对于 Android 应用开发者来说,开发传感器应用十分简单,... 阅读全文

桌面小部件----LED电子时钟实现

2013-11-26 07:52 by Andy Ge, 739 阅读, 收藏,
摘要: 桌面控件是通过 Broadcast 的形式来进行控制的,因此每个桌面控件都对应于一个BroadcastReceiver。为了简化桌面控件的开发,Android 系统提供了一个 AppWidgetProvider类 , 它 就 是 BroadcastReceiver 的 子 类 , 也 就 是 说 开 发 者 开 发 桌 面 控 件 只 要 继 承 AppWidgetProvider 类即可。... 阅读全文

Android添加桌面快捷方式的简单实现

2013-11-26 07:20 by Andy Ge, 515 阅读, 收藏,
摘要: 核心代码如下: Button bn = (Button) findViewById(R.id.bn); // 为按钮的单击事件添加监听器 bn.setOnClickListener(new OnClickListener() { @Override public void onClick(View source) { ... 阅读全文

Android JSON,Gson,fastjson实现比较

2013-11-22 15:09 by Andy Ge, 1294 阅读, 收藏,
摘要: activity_main.xml ... 阅读全文

使用字符串、颜色、尺寸资源

2013-11-22 09:39 by Andy Ge, 528 阅读, 收藏,
摘要: 字符串资源、颜色资源、尺寸资源,它们对应的 XML 文件都将位于/res/values 目录下, 它们默认的文件名,以及在 R 类中对应的内部类如下所示:不过其中的默认文件名称是可以修改的。示例代码如下:main.xml资源文件的名称是可以修改,当然也可以定义多个相同类型的资源文件,但注意所有的资源文件都是以为根目录的,至于里面的类型则为对应的color,demen,integer,string,boolean等,这些标签是不能更改的,编译器根据这些来生成R.java中的类。color3.xml #F00 #0F0 #00F #0FF #F0F #FF0 ... 阅读全文

StateListDrawable 资源

2013-11-22 09:38 by Andy Ge, 295 阅读, 收藏,
摘要: StateListDrawable 用于组织多个 Drawable 对象。当使用 StateListDrawable 作为目标组件 的背景、前景图片时,StateListDrawable 对象所显示的 Drawable 对象会随目标组件状态的改 变而自动切换。定义 StateListDrawable 对象的 XML 文件的根元素为高亮显示正在输入的文本示例my_image.xmlmain.xml 阅读全文

LayerDrawable 资源

2013-11-22 09:37 by Andy Ge, 395 阅读, 收藏,
摘要: 与 StateListDrawable 有点类似,LayerDrawable 也可包含一个 Drawable 数组,因此系统 将会按这些 Drawable 对象的数组顺序来绘制它们,索引最大的 Drawable 对象将会被绘制在 最上面。定义 LayerDrawable 对象的 XML 文件的根元素为,该元素可以包含多个 元素,该元素可指定如下属性。android:drawable:指定作为 LayerDrawable 元素之一的 Drawable 对象。android:id:为该 Drawable 对象指定一个标识。android:buttom|top|left|button:它们用于指定一 阅读全文

ShapeDrawable 资源

2013-11-22 09:34 by Andy Ge, 299 阅读, 收藏,
摘要: ShapeDrawable 用于定义一个基本的几何图形(如矩形、圆形、线条等),定义 ShapeDrawable 的 XML 文件的根元素是元素,该元素可指定如下属性。示例:main.xml my_shape_1.xml my_shape_2.xml my_shape_3.xml 阅读全文

ClipDrawable 资源

2013-11-22 09:27 by Andy Ge, 615 阅读, 收藏,
摘要: ClipDrawable 代表从其他位图上截取的一个“图片片段”。示例:main.xmlmy_clip.xml 因为 ClipDrawble 对象可调用 setLevel(int level)控制截取图片的部分,因此本示例只要设 置一个定时器,让程序不断调用 ClipDrawble 的 setLevel(int level)方法即可实现图片徐徐展开 的效果。ClipDrawableTest.javapackage org.crazyit.res;import java.util.Timer;import java.util.TimerTask;import org.crazyit.res.R; 阅读全文

AnimationDrawable 资源

2013-11-22 09:26 by Andy Ge, 1130 阅读, 收藏,
摘要: AnimationDrawable代表一个动画,Android 既支持传统的逐帧动画(类 似于电影方式,一张图片、一张图片地切换),也支持通过平移、变换计算出来的补间动画。下面以补间动画为例来介绍如何定义 AnimationDrawable 资源,定义补间动画的 XML 资 源文件以元素作为根元素,该元素内可以指定如下 4 个元素:alpha:设置透明度的改变。scale:设置图片进行缩放改变。translate:设置图片进行位移变换。rotate:设置图片进行旋转。定义动画的 XML 资源应该放在/res/anmi 路径下,当使用 ADT 创建一个 Android 应用时, 默认不会包含该路 阅读全文

属性动画(Property Animation)资源

2013-11-22 09:25 by Andy Ge, 364 阅读, 收藏,
摘要: Animator 代表一个属性动画,但它只是一个抽象类,通常会使用它的子类:AnimatorSet、ValueAnimator、ObjectAnimator、TimeAnimator。定义属性动画的 XML 资源文件能以如下三个元素中的任意一个作为根元素。:它是一个父元素,用于包含其他AnimatorTest.javapackage org.crazyit.res;import android.animation.AnimatorInflater;import android.animation.ArgbEvaluator;import android.animation.ObjectAnim 阅读全文

外部类实现发送短信的监听器

2013-11-21 10:32 by Andy Ge, 360 阅读, 收藏,
摘要: 使用外部类定义事件监听器类的形式比较少见,主要因为如下两个原因: 1.事件监听器通常属于特定的 GUI 界面,定义成外部类不利于提高程序的内聚性。 2. 外部类形式的事件监听器不能自由访问创建 GUI 界面的类中的组件,编程不够简洁。 但如果某个事件监听器确实需要被多个 GUI 界面所共享,而且主要是完成某种业务逻辑的实现,则可以考虑使用外部类的形式来定义事件监听器类。 main... 阅读全文

ViewPage和ActionBar打造滑动视图

2013-11-21 08:57 by Andy Ge, 598 阅读, 收藏,
摘要: 滑动效果非常流畅,可以将页签放置到ActionBar上,点击页签可以切换ViewPage,滑动ViewPage会同步更显Tabs。 main.xml ActionBar_TabNavSwipe.java package org.crazyit.ui;import android.app.ActionBar;import android.app.FragmentTrans... 阅读全文

onCreateOptionsMenu与onCreateContextMenu差别

2013-11-21 08:26 by Andy Ge, 1639 阅读, 收藏,
摘要: onCreateOptionsMenu只会在启动时调用一次,而onCreateContextMenu则每次都会调用,这是因为onCreateContextMenu需要为所有的View控件的上下文菜单服务,可能会在存在多个控件都绑定了上下文的情况,针对每个控件的上下文菜单事件都需要即时处理,但Android设计应该有个可以持久化的方案,从而避免每次都需要重新加载菜单项。 main.xml ... 阅读全文

CONTEXT MENU简介

2013-11-21 07:44 by Andy Ge, 369 阅读, 收藏,
摘要: 安卓中的上下文菜单是通过长按控件元素触发的,要注意的是每次都会触发onCreateContextMenu方法: main.xml ContextMenuTest.java package org.crazyit.ui;import android.app.Activity;import android.graphics.Color;import android.os.Bundl... 阅读全文

ANDROID与.Net之间JSON实践

2013-11-20 14:28 by Andy Ge, 514 阅读, 收藏,
摘要: Asp.Net端: JsonHelper.cs using System.Runtime.Serialization.Json;using System.IO;using System.Text;namespace NetJSON{ /// /// JSON序列化和反序列化辅助类 /// public class JsonHelper { ... 阅读全文