- 浏览: 20186 次
- 性别:
- 来自: 北京
最新评论
文章列表
子线程不可以 更新UI主线程
new Thread() {
public void run() {
mHandler.sendmessage(new Message());
}
final Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
super.handleMessage(msg);
//更新具体的线程
...
2010年5月百度算法调整的一些地方如下:
1、对网站放有大量JS或iframe的站点适当降权。
2、网站无原创内容,文章全为转载的站点权重提升慢。
3、双向链接过多,加上链接到质量差的网站给予降权。
4、 ...
Android中的服务和windows中的服务是类似的东西,服务一般没有用户操作界面,它运行于系统中不容易被用户发觉,可以使用它开发如监控之类的程序。服务的开发比较简单,如下:
第一步:继承Service类
public class SMSService extends Ser ...
广播接收者(BroadcastReceiver)
用于异步接收广播Intent,广播Intent的发送是通过调用Context.sendBroadcast()、Context.sendOrderedBroadcast()或者Context.sendStickyBroadcast()来实现的。通常一个广播Intent可以被订阅了此Intent的多个广播接收者所接收,广播接收者和JMS中的Topic消息接收者很相似。要实现一个广播接收者方法如下:
第一步:继承BroadcastReceiver,并重写onReceive()方法。
public class IncomingSMSReceiver ex ...
在ubuntu下打开.TXT文件,中文显示为乱码,在这找到了解决的办法:
终端输入gconf-editor调出gconf-edit
PS:输入gconf-editor即可,前面不需要加Sudo
依次点开
apps->gedit-2->preferences->encodings 中的auto-detected
在双击弹出对话框中加入GB18030,GBK,GB2312就可以了
异常处理_处理方式
- 博客分类:
- java_exception
声明异常:将错误消息发送到运行系统的其他部分。
经验法则:尽可能的去处理异常,如果没有能力处理就声明异常
异常处理技术
1. 记录异常和相关信息
1.标准输出或标准的错误流
System.out.print(“please try agin”);
2.自定义记录类
3.java记录API
2. 要求用户或应用程序输入信息
3. 使用默认值或替换数据
4. 将控制转移到应用程序的其它部分(orderException)
5. 将异常转换为其他形式
6. 忽略问题
7. 重试操作(让一个线程睡眠稍后执行)
8. 采取替换或恢复操作(不能连接到服务起在本地缓存读取数据)
...
package com.fojavally;
import java.io.*;
import java.util.*;
public class CustomLogger {
private static final String DEFAULT_FILE="exception.log";
private static final String FILE_KEY="application.logfile";
private static CustomLogger instance=new CustomLogger(); ...
所需开发环境:
JDK 5 或 JDK 6 (仅有JRE不够)
Eclipse 3.5 (galileo)
下载ADT 的Eclipse 插件
http://dl.google.com/android/ADT-0.9.5.zip
安装 Eclipse 插件 (ADT)
启动 Eclipse,选择 Help > Install New Software,在出现的对话框里,点击Add按钮,在对话框的name一栏输入“ADT”, 然后点击Archive...,浏览和选择已经下载的ADT插件压缩文件。
Android Service 生命周期可以促使移动设备的创新,让用户体验到最优越的移动服务,只有broadcast receivers执行此方法的时候才是激活的,当 onReceive()返回的时候,它就是非激活状态。
如果没有程序停止它或者它自己停止,service
将一直运行。在这种模式下,service
开始于调用Context.startService
() ,停止于Context.stopService
(). service
可以通过调用Android Service 生命周期
() 或 Service
.stopSelfResult()停止自己。不管调用多少次st ...
由代码来补充部分:
int main(int argc, char** argv)
{
sp<ProcessState> proc(ProcessState::self());
sp<IServiceManager> sm = defaultServiceManager();
LOGI("ServiceManager: %p", sm.get());
AudioFlinger::instantiate();
MediaPlayerSe ...
1.概览
Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。
TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。
简单的一个例程:
import java.util.Timer;
import java.util.TimerTask;
/**
* Simple demo that uses java.util.Timer to schedule a task to execute
* once 5 seconds have passed.
*/
public class Reminder {
...
通过TelephonyManager可以取得手机电信网络的信息,android.provider.Settings.System可以取得手机的相关设置信息。例如下面
TelephonyManager mTelephonyManager = (TelephonyManager) this
.getSystemService(Service.TELEPHONY_SERVICE);
mTelephonyManager.getLine1Number();//取得手机电话号码
mTelephonyManager.getNetworkCountryIso();//取得电信网络国别
mTelep ...
getSystemService是Android很重要的一个API,它是Activity的一个方法,根据传入的NAME来取得对应的Object,然后转换成相应的服务对象。以下介绍系统相应的服务。
传入的Name
| 返回的对象 ...
找到Android软件安装包中的class.dex:
把apk文件改名为.zip,然后解压缩其中的class.dex文件,它就是java文件编译再通过dx工具打包成的。
工具准备:
1、把dex文件反编译为jar文件的工具。(dex2jar)
http://code.google.com/p/dex2jar/downloads/list
2、把jar反编译为java的工具。(JD-GUI)
http://java.decompiler.free.fr/?q=jdgui
反编译步骤:
1、把class.dex拷贝到dex2jar. ...
网格布局:是一个ViewGroup以网格显示它的子视图(view)元素,即二维的、滚动的网格。网格元素通过ListAdapter自动插入到网格。ListAdapter跟上面的列表布局是一样的,这里就不重复累述了。
下面也通过一个例子来,创建一个显示 ...