当前位置:  编程技术>移动开发
本页文章导读:
    ▪音乐播放器widget 给养        音乐播放器widget 补充 音乐播放器widget 补充   [功能] 在 音乐播放器widget 前传 后传 有一些没讲清楚 所以打算再开辟 专门说一下     1. Bundle 复用   2. BroadcastReceiver 复用     [前提] 1. 现有一.........
    ▪ 串口传资料(待尝试)        串口传文件(待尝试) http://www.360doc.com/content/090528/23/150654_3691341.html从PC机下载东西到开发板的嵌入式linux系统里面,首先会想到用tftp sftp等网络工具从网口下载。但如果网络用不了,只能.........
    ▪ 依据电话号码查找人名       根据电话号码查找人名 // Android 1.6 and earlier (backwards compatible for Android 2.0+) Uri uri = Uri.withAppendedPath(Contacts.Phones.CONTENT_FILTER_URL, Uri.encode(phoneNumber)); // Android 2.0 and later Uri uri = Uri.withAppendedPath.........

[1]音乐播放器widget 给养
    来源: 互联网  发布时间: 2014-02-18
音乐播放器widget 补充

音乐播放器widget 补充

 

[功能]

在 音乐播放器widget 前传 后传 有一些没讲清楚 所以打算再开辟 专门说一下

 

 

1. Bundle 复用

 

2. BroadcastReceiver 复用

 

 

[前提]

1. 现有一BroadcastReceiver:class MessageListenerHelper extends BroadcastReceiver 实现如下:

public class MessageListenerHelper extends BroadcastReceiver {
		Context context;
		
		MessageListenerHelper listener;
		//construct 
		public MessageListenerHelper(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

		}
		
	}

 

写道
补充:

其 onReceive() 没有实现 将在具体情况中分别实现之

 

 

 

以下就2点予以说明:

 

 

 

[Bundle 复用]

1. 注册MessageListenerHelper

MessageListenerHelper listener = new MessageListenerHelper(this);


listener.registerAction("Broadcast_MessageListwener");

 

 

2. 发生某Broadcast

public void sendMessageText(String s){
    	Intent i = new Intent(BroadcastColumn.BROADCAST_TaskB);
    	
    	Bundle b = new Bundle();
    	b.putString("Message_Text", s);
    	
    	i.putExtras(b);
    	sendBroadcast(i);
    }

 

 

3. 实现onReceive() 并对具体消息做判断

public void onReceive(Context arg0, Intent arg1) {
			// TODO Auto-generated method stub
			
			
Bundle b = arg1.getExtras();
			
if(b.containsKey("Message_Text")){
				String string = b.getString("Message_Text");
				Log.d("TAG",string);
			}

		}

 

 

 

4. 如此就实现了Bundle 复用

 

 

 

 

[Broadcast 复用]

1. 注册MessageListenerHelper

MessageListenerHelper listener = new MessageListenerHelper(this);

listener.registerAction("Broadcast_MessageListener_1");
		

MessageListenerHelper listener2 = new MessageListenerHelper(this);

listener2.registerAction(Broadcast_MessageListener_2);
		

 

 

2.  发生某Broadca

public void sendMessage1(String b,String key, String value){
    	Intent i = new Intent(b);
    	
    	Bundle b = new Bundle();
    	b.putString(key, value);
    	
    	i.putExtras(b);
    	sendBroadcast(i);
    }

 

 

3. 实现onReceive() 并对具体Broadcast 做判断

public void onReceive(Context arg0, Intent arg1) {
			// TODO Auto-generated method stub
			
if(arg1.getAction().endsWith("Broadcast_MessageListener_1")){


Bundle b = arg1.getExtras();
				
if(b.containsKey("Message_Text_1")){

String string = b.getString("Message_Text_1");


Log.d("TAG",string);
				}
}
else if(arg1.getAction().endsWith("Broadcast_MessageListener_2")){


Bundle b = arg1.getExtras();
				
if(b.containsKey("Message_Text_2")){


String string = b.getString("Message_Text_2");


Log.d("TAG",string);
				}
			}
			
		}

 

 

 

4. 此为Broadcast 复用

 

 

补充:

1. 其实除了在widget中 必须用 Broadcast复用外 二者都可以使用 具体用那个 视情况而定

2. 因为Broadcast复用中 需要new 2 次 所以推荐 尽量用 Bundle 复用 仅限个人意见

 

 


    
[2] 串口传资料(待尝试)
    来源: 互联网  发布时间: 2014-02-18
串口传文件(待尝试)
http://www.360doc.com/content/090528/23/150654_3691341.html
从PC机下载东西到开发板的嵌入式linux系统里面,首先会想到用tftp sftp等网络工具从网口下载。但如果网络用不了,只能通过串口下载怎么办呢?这个时候有两个工具能帮到你:一个是zmrx、zmtx,另外一个是lsz、lrz。

下面介绍一下lsz/lrz的使用方法。
一、编译lrzsz并下载到开发板上
     从http://download.chinaunix.net/download/0007000/6293.shtml下一个lrzsz的tar包,解压缩后输入./configure,然后进入了src文件夹中,修改了src文件夹中的Makefile文件,配置为与手机对应的交叉编译器,运行make,ok!得到两个可执行文件sz,rz(或者 lsz,lrz),把它们下载到开发板linux系统的/bin目录下。
   
二、情况1: PC机用windows操作系统
      1、开发板-->PC机
         在开发板上输入 sz filename。
         在PC机上点击超级终端的菜单“传送”-> “接收文件”,选择下载的位置和Zmodem 与崩溃恢复协议,点击接收即可。
      2、PC机-->开发板
         在开发板上先进入/tmp 目录,然后输入 rz。
         在PC机上点击超级终端的菜单“传送”-> “发送文件”,选择目标文件和Zmodem 与崩溃恢复协议,点击发送即可。

三、情况2: PC机用 linux 操作系统
     如果PC机用的是 linux 操作系统,串口通信工具可以用minicom。下面介绍一下传输文件的方法。
      1、如果是第一次使用minicom,需要进行minicom的设置:
            # minicom -s
            出现这样的配置界面:
            ┌───── [configuration]──────┐
            │ Filenames and paths                  │
            │ File transfer protocols              │
            │ Serial port setup                    │
            │ Modem and dialing                    │
            │ Screen and keyboard                  │
            │ Save setup as dfl                    │
            │ Save setup as..                      │
            │ Exit                                 │
            │ Exit from Minicom                    │
            └───────────────────┘
              选择Serial port setup, 会看到这样的选项:
             A — Serial Device : /dev/ttyS0
             B — lockfile Location : /var/lock
             C — Calling Program :
             D — Callout Program:
             E — Bps/par/Bits : 115200 8N1
             F — Hardware Flow Control : NO
             G — Software Flow Control : NO
             Change with setting?
     输入前面对应的字母即可进入相应的选项。将选项A的值设置为/dev/ttyS0 表示是串口1,将选项E的值设置为115200,将选项F设置为NO(请根据实际情况配置).
     初始化设置中可以设置默认上传/下载的目录,传输协议参数,串口波特率等.设置完成后,选择”Save setup as dfl”,保存为默认设置.然后选择“Exit”,按Ctrl-A,再按z,即可进入Minicom的主界面:

Welco┌─────────────────────────────────┐
│ Minicom Command Summary │
OPTIO│ │
Compi│ Commands can be called by CTRL-A │
│ │
Press│ Main Functions Other Functions │
│ │
│ Dialing directory..D run script (Go)....G | Clear Screen.......C │
│ Send files.........S Receive files......R | cOnfigure Minicom..O │
│ comm Parameters....P Add linefeed.......A | Suspend minicom....J │
│ Capture on/off.....L Hangup.............H | eXit and reset.....X │
│ send break.........F initialize Modem...M | Quit with no reset.Q │
│ Terminal settings..T run Kermit.........K | Cursor key mode....I │
│ lineWrap on/off....W local Echo on/off..E | Help screen........Z │
│ | scroll Back........B │
│ │
│ Select function or press Enter for none. │
│ │
│ Written by Miquel van Smoorenburg 1991-1995 │
│ Some additions by Jukka Lahtinen 1997-2000 │
│ i18n by Arnaldo Carvalho de Melo 1998 │
└──────────────────────────────────┘
CTRL-A Z for help | 38400 8N1 | NOR | Minicom 2.00.0 | VT102 | Offline
      2、开发板-->PC机
         在开发板上输入 sz filename,然后会出现一个传输界面,传输完成后可以在你设置的默认下载目录里找到这个文件。
      3、PC机-->开发板
         在开发板上先进入/tmp 目录,然后输入 rz。
         按Ctrl-A,再按s,会出现一个选择文件的界面,选择你要传输的文件,回车后出现一个传输界面,传输完成后便可以在开发板的/tmp目录下找到这个文件了。


    
[3] 依据电话号码查找人名
    来源: 互联网  发布时间: 2014-02-18
根据电话号码查找人名
// Android 1.6 and earlier (backwards compatible for Android 2.0+) 
Uri uri = Uri.withAppendedPath(Contacts.Phones.CONTENT_FILTER_URL, Uri.encode(phoneNumber)); 
 
// Android 2.0 and later 
Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phoneNumber)); 
 
// Query the filter URI 
String[] projection = new String[]{ PhoneLookup.DISPLAY_NAME, ... 
Cursor cursor = context.getContentResolver().resolver.query(uri, projection, ... 

 


    
最新技术文章:
▪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实现Back功能代码片段总结 iis7站长之家
▪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