03 2014 档案
摘要:Android系统启动时,会发出android.intent.action.BOOT_COMPLETED广播,定义一个类继承自BroadcastReceiver,监听该广播,并在收到该广播时启动Service,就可以实现在系统启动时运行Service。如定义类BroadReceiver继承自BroadcastReceiver,在Manifest文件中定义: 该类能够接收到android.intent.action.BOOT_COMPLETED广播。Java文件:public class BroadReceiver extends BroadcastReceiv...
阅读全文
摘要:有些情况下需要把一个Activity分割成几部分,如上半部分绘制图形,下半部分显示图表,这时就需要用到ActivityGroup。定义一个类继承自ActivityGroup,Java文件如下:package com.h.callsta;import android.app.ActivityGroup;import android.app.LocalActivityManager;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.Window;im
阅读全文
摘要:有时源代码丢失了,这时如果有apk文件的话,是可以对apk文件反编译得到源文件的,本文介绍一下简单的反编译apk文件的过程。1、工具反编译apk需要的工具有两个:apk2java和apktool,在网上可以下载。2、反编译Java文件(1)把apk文件的后缀名改为zip,再解压缩,得到classes.dex文件,将该文件复制到dex2jar-0.0.9.9文件夹(不同版本可能名称会不同);(2)打开命令窗口,目录CD到dex2jar-0.0.9.9文件夹,输入dex2jar.bat classes.dex,生成classes_dex2jar.jar文件:(3)进入jdui文件夹,运行jd-gu
阅读全文
摘要:开发Widget时,经常想把Widget的背景设置成透明的,显得比较有品位。如果想让控件的颜色是透明的,可以定义以下的颜色:#33000000一共是8位16进制数,其中后面6位是颜色的RGB值。前面两位是颜色透明的数值,值越小,就越透明。然后把控件的android:background属性设置为定义的颜色,就可以得到下面的效果。
阅读全文
摘要:点击按钮发送短信以后,倒计时3秒钟后退出Activity。本来想用弹出多个Toast的方法实现,后来发现效果不好,因为Toast.LENGTH_LONG显示3秒钟,Toast.LENGTH_SHORT显示2秒钟,如果每秒倒计时一次,后面的Toast弹出来时,前面的Toast还没有消失。用Toast的setText()方法解决了这个问题。TimerTask和Handler变量: TimerTask task = new TimerTask(){ public void run() { Message message = new Message(); ...
阅读全文
摘要:// 发送短信 public void sendMsg(){ String content = edtSend.getText().toString(); SmsManager smsManager = SmsManager.getDefault(); List divideContents = smsManager.divideMessage(content); for (String text : divideContents) { smsManager.sendTextMessage(smsWidget.str_number, null, text, null...
阅读全文
摘要:MultiLine Text是多行文本,默认设置下,光标是停留在控件中间的,很不好看。解决的方法是设置属性android:gravity="top",这样光标就会停留在第一行。
阅读全文
摘要:在Activity中使用startActivity()方法不会有任何限制,因为Activity重载了Context的startActivity()方法。但是如果是在其他地方(如Widget或Service、BroadcastReceiver中)使用startActivity()方法,就会报错:android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this reall
阅读全文
摘要:最近开发Widget,要在Widget上显示图片,出现了FAILED BINDER TRANSACTION错误,后来才发现是因为图片太大了。Widget使用的是RemoteViews,而Intent传输的bytes不能超过40k,把图片缩小到40k以下就正常了。在Activity里面不存在这个问题。
阅读全文
摘要:根据电话号码获得联系人头像,是经常会碰到的问题。通过ContentProvider,可以访问Android中的联系人等数据。常用的Uri有:联系人信息Uri:content://com.android.contacts/contacts联系人电话Uri:content://com.android.contacts/data/phones联系人邮件Uri:content://com.android.contacts/data/emails 并且提供了根据电话号码获取data表数据的功能,方法为:data/phones/filter/号码,返回一个数据集。再通过数据集获得该联系人的contact_
阅读全文
摘要:把一个长字符串分解成若干个固定长度的短字符串,由于事先不知道长字符串的长度,以及短字符串的数量,只能使用List。 public static void get_list_sbody(String s){ // 计数变量 int num = 0; // 每行的字符数 int r_num = 27; // 字符串 String sx = new String(""); lst_sbody = new ArrayList(); char[] cr =s.toCharArray(); for(int i=0; i<cr.length; i++){ // 换行或字符...
阅读全文
摘要:在用手机调试程序时,有时会出现“Adb connection Error:远程主机强迫关闭了一个现有的连接”的错误。出现这种错误时,可以按照以下步骤解决:(1)运行cmd.exe,并将目录CD到\sdk\tools;(2)运行adb kill-server关闭adb;(3)运行adb start-server启动adb。启动成功以后,就不会再出现这种错误了。
阅读全文
摘要:控件有很多属性,如android:id、android:layout_width、android:layout_height等,但是这些属性都是系统自带的属性。使用attrs.xml文件,可以自己定义属性。本文在Android自定义控件的基础上,用attrs.xml文件自己定义了属性。首先,在values文件夹下,新建一个attrs.xml文件,文件内容如下: 其中,表明样式名称为CustomView,下面包含了两个自定义属性tColor和tSize,其中tColor是颜色(color)类的属性,tSize是尺寸(dimension)类的属性。主窗体的...
阅读全文