Category Archives: android

Android显示错误堆栈(StackTrace)

在普通java程序中,e.printStackTrace能直接在控制台输出堆栈错误,但是android中不显示,因为它重定向了标准输出重定向到/dev/null。当你不捕获异常(只有是RuntimeExcepition才有可能不捕获)的时候,logcat是会正常显示错误堆栈信息。 我写了一个小工具类,用来显示e.printStackTrace的输出的信息 package com.example; import android.util.Log; /** * A class to display a traditional Java stack trace in the android debugger * * @author Stuart Lewis (stuart@stuartlewis.com) */ public class StackTraceLogger { /** * Display a stack trace * * … Continue reading

Posted in android, 编程开发 | 1 Comment

android绘制图表库achartengine

AChartEngine是针对android程序的绘制统计图表的免费库,目前它支持一下几种图表类型: * 线形图/这折线图 * 面积图 * 散点图 * 时间图 * 长条图 * 圆形分格统计图表 * 泡泡图 * 油炸圈饼图 * 范围柱状图 * 刻度盘图 项目地址:http://code.google.com/p/achartengine/ 其他的android绘图库 Java4Less (http://java4less.com/charts/chart.php?info=android) Chart4J (http://code.google.com/p/charts4j/) BlueChart (http://code.google.com/p/bluechart/) aiCharts (http://www.artfulbits.com/Android/aiCharts.aspx)

Posted in android, 编程开发 | Comments Off

android监测sms接收

在android中,当收到短信息时,会触发一个广播事件,所以我们只要继承BroadcastReceiver类,并在AndroidManifest.xml配置正确就可以监视到短信息接收事件。 Broadcast receivers A broadcast receiver is a component that does nothing but receive and react to broadcast announcements. Many broadcasts originate in system code — for example, announcements that the timezone has changed, that the battery is low, that … Continue reading

Posted in android, 编程开发 | Comments Off

android所有系统级别的permission list

ACCESS_CHECKIN_PROPERTIES Allows read/write access to the “properties” table in the checkin database, to change values that get uploaded. ACCESS_COARSE_LOCATION Allows an application to access coarse (e.g., Cell-ID, WiFi) location ACCESS_FINE_LOCATION Allows an application to access fine (e.g., GPS) location ACCESS_LOCATION_EXTRA_COMMANDS … Continue reading

Posted in android, 编程开发 | Comments Off

android通过USB使用真机调试程序

手机通过数据线连接在电脑上 设置android手机为USB调试模式。步骤: menu—> 设置 —> 应用程序 —> 开发 , 选择【USB调试】 如果是window系统,系统会提示安装驱动: 选择正确的android sdk安装目录来搜索,然后点击下一步,系统就开始安装驱动了,耐心的等待安装完成 驱动安装完成之后,重启电脑(通常系统会有“安装新驱动,重启才能生效”的提示) 重复第1步和第2步,打开命令窗口,检测手机设备是否已经被识别,如下所示: “HT99YLG11834 device”就是检测到得手机设备 注意:adb可能移到 android-sdk-windows\platform-tools下-> D:\tools\android-sdk-windows\platform-tools>adb devices 接下来就开始在eclipse上调试android程序了,右击android工程->Run as->Android Application,弹出如下窗口: 选中手机设备,点击OK之后,程序就开始在真机上安装了,控制台输出如下信息: [2011-04-07 22:24:49 - HelloWorld] Uploading HelloWorld.apk onto device ‘HT99YLG11834′ [2011-04-07 22:24:49 - HelloWorld] Installing HelloWorld.apk… … Continue reading

Posted in android, 编程开发 | Comments Off

android的Paint和Canvas

Paint Paint类包含样式和颜色有关如何绘制几何形状,文本和位图的信息,它通常跟Canvas结合起来使用的。 例子: Paint cPaint = new Paint(); cPaint.setColor(Color.LTGRAY); 画笔的颜色预先定义成浅灰色 Canvas Canvas类用来描绘平面图形,Canvas起初是没有任何内容的,就像投影仪的幻灯底片。 Canvas提供多个方法,可以让你画直线、矩形、圆形以及其他几何图形。在Android中,显示屏是由一个Activity来呈现的, Activity又是通过View来填充的,View又可以通过Canvas来描绘界面。前提是你要重写View.onDraw( ),该方法唯一的一个参数就是用来画图形的canvas 这里是一个示例activity–GridActivity,它包含了一个视图TableView GridActivity.java public class GridActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TableView gridView = new TableView(getApplicationContext()); setContentView(gridView); } } TableView.java public … Continue reading

Posted in android, 编程开发 | Comments Off

两个Activities之间使用Intent来传递数据

One way to have your service receive game data that has been updated by other activities is to use an INTENT to activate your service and have the INTENT carry the information as an EXTRA. The following code shows how … Continue reading

Posted in android, 编程开发 | 2 Comments

android的Activity介绍

Activity是具有UI界面,能与用户进行交互的组件。相对手机里一屏,比如从手机通讯录列表,跳转到某一个联系人详细页面,就是从一个Activity(通信列表Activity)跳转到另外一个Activity(详细信息Activity)。 Activity生命周期 在系统中的Activity被一个Activity栈所管理。当一个新的Activity启动时,将被放置到栈顶,成为运行中的Activity,前一个Activity保留在栈中,不再放到前台,直到新的Activity退出为止。 ?View Code JAVApackage com.test;   import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button;   public class HomeActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { … Continue reading

Posted in android, 编程开发 | Comments Off

android工程结构介绍

src:java源文件目录、 gen:该目录里有一个R.java文件,这个文件是Eclipse自动生成的,对资源文件进行了全局索引。资源文件发生变动,R.java都会重新编译,同步更新。 asserts:放置多媒体等一些文件 res:资源文件目录,该目录里的资源文件发生变化时,R.java都会同步更新全局索引 drawable-*:存放图片资源 layout:XML格式的界面布局文件, values:存放字符串、颜色、数组等 AndroidManifest.xml:应用配置文件,详见…

Posted in android, 编程开发 | Comments Off

[转载]Android 五大布局

Android 对用五大布局对象,它们分别是FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局). FrameLayout: FrameLayout 是最简单的一个布局对象。它被定制为你屏幕上的一个空白备用区域,之后你可以在其中填充一个单一对象 — 比如,一张你要发布的图片。所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。 其中Main.xml 代码如下: ?View Code XML <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <Button android:text="button" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:text="textview" android:textColor="#0000ff" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </FrameLayout> LinearLayout: LinearLayout 以你为它设置的垂直或水平的属性值,来排列所有的子元素。所有的子元素都被堆放在其它元素之后,因此一个垂直列表的每一行只会有一个元素,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子元素的高度加上边框高度)。LinearLayout保持子元素之间的间隔以及互相对齐(相对一个元素的右对齐、中间对齐或者左对齐)。 LinearLayout还支持为单独的子元素指定weight 。好处就是允许子元素可以填充屏幕上的剩余空间。这也避免了在一个大屏幕中,一串小对象挤成一堆的情况,而是允许他们放大填充空白。子元素指定一个 weight 值,剩余的空间就会按这些子元素指定的weight 比例分配给这些子元素。默认的 … Continue reading

Posted in android | Comments Off