- 浏览: 411532 次
最新评论
-
xiaoxiecomeon:
你这个程序一存在线程的时间片相互抢占的问题,运行时间长了很可能 ...
Runnable 和 Thread -
dotjar:
我觉得话应该这么说:引用TestThread tt = new ...
Runnable 和 Thread -
dagf113225:
调用TelephonyManager的隐藏API是先参考Fra ...
Android提高第十四篇之探秘TelephonyManager
文章列表
1、Activity和Task
task就好像是能包含很多activity的栈。 默认情况下,一个activity启动另外一个activity时,两个activity是放在同一个task栈中的,第二个activity压入第一个activity所在的task栈。当用户按下返回键时,第二个activity从栈中弹出,第一个activity又在当前屏幕显示。这样,从用户角度来看,这两个activity就好像是属于同一个应用程序的,即使第二个activity是属于另外一个应用程序的。当然,这是指默认情况下。 task栈包含的是activity的对象。如果一个activity有多个实例在运行,那么栈 ...
按BACK键从一个Activity退出来的,一按BACK,android就会自动调用Activity的finish()方法,然后设置resultCode为RESULT_CANCELED,也就不会返回任何数据了 .
解决方法就是在Activity里面捕获按BACK的事件,捕获到之后先setResult,然后自己来调用finish,就搞定了……把BACK事件直接自己给吞了
:如果在startActivityForResult起来的Activity里面设置setResult,结果并不会马上返回给parent的Activity,只有当前Activity被finish,结果才会被发送给 ...
此属性意思是此视图是否显示,例如RelativeLayout中android:visibility="gone"
其有三个属性:visible显示;invisible显示黑背景条;gone不显示(不占空间)
在类中,可以设置其显示与否,setVisibility(View.GONE);不显示
setVisibility(View.VISIBLE);显示
xml中是visible代码中是visibility
我们在写Android程序的时候,免不了要使用ListView,也免不了要使用ContextMenu,但是如何将其结合起来呢。比如Contacts程序是如何删除练习人的呢。
添加或则删除一个tem有不同的方式,添加Item可以使用ListView自身带的add()方法即可,但是在ContextMenu中删除这个Item还是有些麻烦的。
下面是一个小例子:
1、可以在EditText中输入内容后动态添加Item
2、可以在ContextMenu中添加(但只能添加同一个Item)
3、可以点击Item直接删除Item
4、可以长按Item后弹出ContextMenu来删除Item
...
目的: A.java 是主界面,B.java 是子功能模块,要从A启动B,B干完活之后把结果汇报给A
先看 A.java 的相关代码
//-- A.java --//
/*
* 要做两件事情,第一是用 startActivityForResult() 启动B,其次是回收B的结果
*/
//启动B
Intent bintent = new Intent(A.this, B.class);
//设置 bintent的Bundle的一个值
String bsay = "Hello, this is B speaking";
bintent. ...
假设:我这里有两个Activity:A和B,从A中向B中传递数据的时候采用的是Bundle封装数据,然后从A中跳转到B中,当B有需求将数据封装起来回传给A并跳转回A。那么A中接收数据时还要先判断Bundle是否为空,因为第一次访问A的时候(即B还没有回传的时候),Bundle是为空的,这样显然是比较麻烦的,不明智的做法。
还好startActivityForResult来做跳转给了我们更好的解决办法。
1.跳转的时候不是采用startActivity(intent) 这个方法,而是startActivityForResult(intent, 0)。
Intent ...
写一个自定义的Adapter用来绑定ListView,在重写getView的时候发现网上参考代码有用到setTag()和getTag()两个函数,百度找不到答案,google一搜就知道了,:P
View中的setTag(Onbect)表示给View添加一个格外的数据,以后可以用getTag()将这个数据取出来。
可以用在多个Button添加一个监听器,每个Button都设置不同的setTag。这个监听器就通过getTag来分辨是哪个Button 被按下。
import android.app.Activity;
import android.os.Bu ...
Runnable 和 Thread
- 博客分类:
- Android
我们都知道创建线程有两个方法: 一是通过继承Thread类;二是向Thread类传递一个Runnable对象.
比如说一个售票站有四个窗口卖票,我们要设计四个线程
第一种方法:传递一个Runnable对象.
public class MyThread
{
public static void main(String[] args)
{
TestThread tt = new TestThread();
new Thread(tt).start();
new Thread(tt).start();
new Thread(tt).start();
...
1、其实上面的方法,直接使用handler.post(updateThread),然后线程updateThread直接调用run()方法,并没有调用start()方法,
所以并没有产生新的线程,都是在主线程里面运行的 2、要产生新的线程,可以用如下方法:
//生成一个HandlerThread对象,实现了使用Looper来处理消息队列的功能,这个类由Android应用程序框架提供
HandlerThread handlerThread = new HandlerThread("handler_thread");
//必须先调用该类的start();
hand ...
startService:正常调用:onCreate->onStart取消绑定:onDestroy如果调用者自己直接退出而没有调用stopService,则Service会一直在后台运行,直到下次调用者再启动起来,并明确调用stopServicebindService正常调用:onCreate->onBind取消绑定:onUnbind->onDestroy先startService,再bindServiceonCreate->onStart->onBind(onCreate只调用一次)先stopService 再unbindService点stopService不起 ...
很多情况下,一些与用户很少需要产生交互的应用程序,我们一般让它们在后台运行就行了,而且在它们运行期间我们仍然能运行其他的应用。为了处理这种后台进程,Android引入了Service的概念。Service在Android中是一种长生命周期的组件,它不实现任何用户界面。最常见的例子如:媒体播放器程序,它可以在转到后台运行的时候仍然能保持播放歌曲;或者如文件下载程序,它可以在后台执行文件的下载。让我们来看下如何创建Service:创建一个ServiceAndroid中已经定义了一个 ‘Service’类,所有其他的Service都继承于该类。Service类中定义了一系列的生命周期相关的方法,如: ...
用java匿名类来简化调试
- 博客分类:
- Java基础
在Java中,匿名类(Anonymous inner classes)多用来处理事件(event handle)。但其实,它们对于debug也很有帮助。本文将介绍如何利用匿名类来简化你的debug。
我们该如何调试那些非自己源码的方法调用呢?比方说,对Jbutton.setEnable()的 ...
关于java的new对象问题
- 博客分类:
- Java基础
关于java的new对象问题
2011-11-8 21:10
提问者:hwhzw17 | 悬赏分:20 | 浏览次数:183次
public class Circle {
private Point center;
private int r;
public Circle(){}
public Circle(Point center, int r){
this(center.x, center.y, r);
}
pub ...
Android AIDL远程服务使用示例
- 博客分类:
- Android
很多网友来函表示对Android AIDL不是很理解,这里Android123准备了一个简单的例子,帮助大家了解Android上比较强大的远程服务设计吧。
一、为什么要使用AIDL,他的优势有哪些呢?
AIDL服务更像是 一个Server,可以为多个应用提供服务。由于使用了IDL这样类似COM组件或者说中间语言的设计,可以让后续的开发者无需了解内部,根据暴漏的接口实现相关的操作,AIDL可以工作在独立的进程中。
二、学习AIDL服务需要有哪些前置知识?
作为Android上服务的扩展,首先你要了解Android Service模型,Android Serivice我 ...
在AIDL中让Service调用Activity的方法代码:首先建立一个ICallback.aidl文件,作为Activity中的回调方法
1 package com.zhang.test.service;2 3 interface