当前位置:  编程技术>移动开发
本页文章导读:
    ▪搬动开发技术网站(社区)有哪些        移动开发技术网站(社区)有哪些? Nokia (http://forum.nokia.com.cn/community.html)Apple Store(http://appshopper.com/)Windows Mobile (http://developer.windowsmobile.com/)Sun (http://java.sun.com/javame/index.jsp)Motor.........
    ▪ 程序 开机起步        程序 开机启动 开机启动[功能]就像Windows XP 那样开机启动 当系统启动完毕 就会运行你的程序[原理]1.android 有一个系统Broadcast  其action = "android.intent.action.BOOT_COMPLETED" 用途就是 通知系统已.........
    ▪ EditText 以内容监听器2       EditText 之内容监听器2 EditText 之内容监听   [功能] 以前写过通过 TextWatcher 监听 EditText 内容的改动 在知道那个之前 我都是通过 TextMonitor 监听其内容的更新 尽管现在其变得毫无意义 还是打算.........

[1]搬动开发技术网站(社区)有哪些
    来源: 互联网  发布时间: 2014-02-18
移动开发技术网站(社区)有哪些?
Nokia (http://forum.nokia.com.cn/community.html)
Apple Store(http://appshopper.com/)
Windows Mobile (http://developer.windowsmobile.com/)
Sun (http://java.sun.com/javame/index.jsp)
Motorola (http://developer.motorola.com/)
中国移动开发者社区(http://dev.chinamobile.com/cmdn/bbs/index.php)
Sony Ericsson(https://developer.sonyericsson.com/site/zhcn/home/p_home.jsp)
BlackBerry(http://na.blackberry.com/eng/developers/)
Android(http://code.google.com/intl/zh-CN/android/adc/)
威锋社区(http://bbs.weiphone.com/)
魅族社区(http://bbs.meizu.com/)
CSDN (http://community.csdn.net)

    
[2] 程序 开机起步
    来源: 互联网  发布时间: 2014-02-18
程序 开机启动
开机启动

[功能]
就像Windows XP 那样开机启动 当系统启动完毕 就会运行你的程序


[原理]
1.android 有一个系统Broadcast  其action = "android.intent.action.BOOT_COMPLETED" 用途就是 通知系统已经启动完毕

[做法]
1. 创建一个BroadcastReceiver 用来接收该Broadcast 在收到以后通过startActivity / startService 来启动目标应用


[代码]
1. UpNotificationListener 用于接收相应的Broadcast 然后启动相关应用
public class UpNotificationListener extends BroadcastReceiver
{
  @Override
  public void onReceive(Context context, Intent intent)
  {
    // TODO Auto-generated method stub
    Intent i = new Intent(context, SystemUpApp.class);

    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    
    context.startActivity(i);
    
  }
}



2. SystemUpApp 用于目标应用
public class SystemUpApp extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}




That's all!

    
[3] EditText 以内容监听器2
    来源: 互联网  发布时间: 2014-02-18
EditText 之内容监听器2

EditText 之内容监听

 

[功能]

以前写过通过 TextWatcher 监听 EditText 内容的改动 在知道那个之前 我都是通过 TextMonitor 监听其内容的更新 尽管现在其变得毫无意义 还是打算把之写下来

 

[原理]

* 2 个 thread:

写道
class TextUpdate extends Activity : 得到 EditText 的内容

class TextMonitor extends Service : 作为守护 负责监视 并返回EditText 的内容

 

 

* 原理

 

                       TextUpdate                TextMonitor
1.  Request                              <- 
2.  Reply                                   ->
3.  Notification                          <-




步骤:
1. TextMonitor 向 TextUpdate 发送 Message_Request 要求得到此刻 EditText 的内容

2. TextUpdate 收到 Message_Request 后 通过 EditText.getText() 得到此刻的字符串 并通过 Message_Reply 向 TextMonitor 发送 Broadcast

3. TextMonitor 在收到 Message_Reply 后 取出结果 并通过发送Broadcast 把结果通过 Message_Notification 返回结果

4. TextUpdat 在收到 Message_Notification  后 取出内容 然后刷新 TextView 内容

 

 

 

* 以上就是其全部原理

 

 

[代码 步骤]

 

1. 定义一些供 Broadcast & Message 用到的字符串

public class TextHelper {
	
	//broadcast definition
	public final static String Broadcast_Update = "Broadcast_Update";
	public final static String Broadcast_Monitor = "Broadcast_Monitor";
	
	//message definition
	public final static String Message_Request = "Message_Request";
	public final static String Message_Reply = "Message_Reply";
	public final static String Message_Notification = "Message_Notification";
}

 

 

 

2. 定义 TextMonitor 任务有:

写道
1. 发送 Message_Request

2. 发送 Message_Notification

3. 接收 Message_Reply

 

public void requestContent(){
		Intent i = new Intent(TextHelper.Broadcast_Update);
    	
    	Bundle b = new Bundle();
    	b.putString(TextHelper.Message_Request, "Hello!");
    	
    	i.putExtras(b);
    	sendBroadcast(i);
	}
	
	
	public void notificationContent(String s){
		Intent i = new Intent(TextHelper.Broadcast_Update);
    	
    	Bundle b = new Bundle();
    	b.putString(TextHelper.Message_Notification, s);
    	
    	i.putExtras(b);
    	sendBroadcast(i);
	}
	
	
	public class MonitorMessageListenerHelper extends BroadcastReceiver {
		Context context;
		
		MonitorMessageListenerHelper listener;
		//construct 
		public MonitorMessageListenerHelper(Context c){
			context = c;
			
			//to instance it
			listener = this;
		}
		
		public void registerAction(String action){
			IntentFilter filter = new IntentFilter();
			filter.addAction(action);
			
			context.registerReceiver(listener,filter);
		}
		
		@Override
		public void onReceive(Context arg0, Intent arg1) {
			// TODO Auto-generated method stub
			Bundle b = arg1.getExtras();
			
			if(b.containsKey(TextHelper.Message_Reply)){
				String string = b.getString(TextHelper.Message_Reply);
				
				if(! last.equals(string)){
					notificationContent(string);
					
					last = string;
				}
				
				requestContent();
			}
		}
		
	}

 

 

 

3. 定义 TextUpdate 任务有:

写道
1. 得到 EditText 的内容

2. 把得到的内容 在 TextView 中显示之


3. 把得到的字串 通过 Message_Reply 发送

4. 接收 Message_Request 后 得到目标内容

5. 接收 Message_Notification 并显示之

 

public String getContent(){
    	return edit.getText().toString();
    }
    
    
    public void displayContent(String s){
    	text.setText(s);
    }
    
    public void sendContent(String s){
    	Intent i = new Intent(TextHelper.Broadcast_Monitor);
    	
    	Bundle b = new Bundle();
    	b.putString(TextHelper.Message_Reply, s);
    	
    	i.putExtras(b);
    	sendBroadcast(i);
    }
    
    
    public class UpdateMessageListenerHelper extends BroadcastReceiver {
		Context context;
		
		UpdateMessageListenerHelper listener;
		//construct 
		public UpdateMessageListenerHelper(Context c){
			context = c;
			
			//to instance it
			listener = this;
		}
		
		public void registerAction(String action){
			IntentFilter filter = new IntentFilter();
			filter.addAction(action);
			
			context.registerReceiver(listener,filter);
		}
		
		@Override
		public void onReceive(Context arg0, Intent arg1) {
			// TODO Auto-generated method stub
			Bundle b = arg1.getExtras();
			
			if(b.containsKey(TextHelper.Message_Request)){
				sendContent(getContent());
			}
			else if(b.containsKey(TextHelper.Message_Notification)){
				String string = b.getString(TextHelper.Message_Notification);
				
				displayContent(string);
				
			}
		}
		
	}

 

 

 

 4. emulator 运行截图:

 

 

5. 其实程序不太完善 缺失下面功能:

* TextMonitor 会始终运行 即使 EditText 没有焦点 有时间再改下!

done!


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3