当前位置:  编程技术>移动开发
本页文章导读:
    ▪怎么通过Button弹出Menu        如何通过Button弹出Menu     this.openOptionsMenu(); ......
    ▪ 怎么使用联想O1来调试OPhone应用        如何使用联想O1来调试OPhone应用? 版权申明:http://yarin.iteye.com/blog/453262   我们都知道在开发Android时我们可以使用真机来进行调试应用(方法很多,网上到处都是)。   当然也有部分功能必.........
    ▪ menu.addIntentOptions 平添动态菜单       menu.addIntentOptions 添加动态菜单 android的一个activity可以再选中某项之后按menu键弹出特定的菜单,也就是动态菜单。动态菜单的实现是靠menu类中的addIntentOptions函数实现的,具体的声明如下:i.........

[1]怎么通过Button弹出Menu
    来源: 互联网  发布时间: 2014-02-18
如何通过Button弹出Menu

 

 

this.openOptionsMenu();


    
[2] 怎么使用联想O1来调试OPhone应用
    来源: 互联网  发布时间: 2014-02-18
如何使用联想O1来调试OPhone应用?

版权申明:http://yarin.iteye.com/blog/453262

 

我们都知道在开发Android时我们可以使用真机来进行调试应用(方法很多,网上到处都是)。

 

当然也有部分功能必须要在真机上测试,比如:蓝牙、WIFI等。

 

在网上看到很多人在问如何在真机上测试OPhone应用的问题和测试所需要的usb驱动。?

 

本文附件提供了windows xp下面的驱动(USBLanBelcara.rar),请到本文附件下载。

 

另外本文测试手机为联想O1。

 

首先下载“USBLanBelcara.rar”,安装USBLanBelcara。

 

使用数据线连接O1和PC,选择调试模式,这时会提示安装驱动程序,点击确定,使其自动搜索安装。

 

安装完成之后再网上邻居中就会多出一个“本地连接x”。

 

将该“本地连接”中的IP和子网掩码更改为如下内容,确定即可。

 

IP:192.168.100.1 
子网掩码:255.255.255.0 

然后使用如下命令(以后每次启动时都要使用)。

set ADBHOST=192.168.100.2 
adb kill-server 
adb start-server 
adb devices 

完成之后,在DDMS中就可以看到我们的手机了,和模拟器一样。

 

运行应用程序调试即可。


    
[3] menu.addIntentOptions 平添动态菜单
    来源: 互联网  发布时间: 2014-02-18
menu.addIntentOptions 添加动态菜单
android的一个activity可以再选中某项之后按menu键弹出特定的菜单,也就是动态菜单。动态菜单的实现是靠menu类中的addIntentOptions函数实现的,具体的声明如下:

int android.view.Menu.addIntentOptions(
            int groupId,
            int itemId,
            int order,
            ComponentName caller,
            Intent[] specifics,
            Intent intent,
            int flags,
            MenuItem[] outSpecificItems)
这个函数是用来动态产生option menu的
函数参数分析:

1.       groupid  就是菜单组的编号;

2.       itemId   (可以让其为0)

3.       order     菜单顺序,可以不考虑

4.       Caller      就是发起activity的activity

5.       Specifics  以action+uri的具体方式来增加激活相应activity的菜单项

6.       Intent      以categroy+uri这种一般形式来增加激活相应activity的菜单项

参数Intent和Specifics的区别是,一个用categroy+uri来匹配activity,一个用action+uri来匹配activity。

8.       outSpecificItems  这个是返回的MenuItem值,对应以specifics方式匹配的菜单项。



下面以android sdk中notepad的例子来说明其用法。

来看这个例子中的NotesList.java文件中的public boolean onPrepareOptionsMenu(Menu menu)函数,这个函数会在设定普通option menu菜单项的的onCreateOptionsMenu函数之后调用,这个函数的主要部分是如下代码:

view plaincopy to clipboardprint?
Uri uri = ContentUris.withAppendedId(getIntent().getData(), getSelectedItemId());  
 
 
Intent[] specifics = new Intent[1];  
specifics[0] = new Intent(Intent.ACTION_EDIT, uri);  
MenuItem[] items = new MenuItem[1];  
 
 
Intent intent = new Intent(null, uri);  
intent.addCategory(Intent.CATEGORY_ALTERNATIVE);  
menu.addIntentOptions(Menu.CATEGORY_ALTERNATIVE, 0, 0, null, specifics, intent, 0,  
         items); 
           Uri uri = ContentUris.withAppendedId(getIntent().getData(), getSelectedItemId());


            Intent[] specifics = new Intent[1];
            specifics[0] = new Intent(Intent.ACTION_EDIT, uri);
            MenuItem[] items = new MenuItem[1];


            Intent intent = new Intent(null, uri);
            intent.addCategory(Intent.CATEGORY_ALTERNATIVE);
            menu.addIntentOptions(Menu.CATEGORY_ALTERNATIVE, 0, 0, null, specifics, intent, 0,
                    items);


其中ContentUris.withAppendedId(getIntent().getData(), getSelectedItemId())会得到选中项的信息,这个信息将会作用匹配用的intent的

data部分。

specifics[0] = new Intent(Intent.ACTION_EDIT, uri)在这里是这个意思:到androidMenifest.xml中去找activity, 如果有某个activity的<intent-

filter>项的action和data与Intent.ACTION_EDIT和相应的uri匹配,就为这个activity添加一个菜单项,菜单项的显示名称从相应activity的

android:label项得来。


Intent intent = new Intent(null, uri);          

intent.addCategory(Intent.CATEGORY_ALTERNATIVE);

是这个意思:到androidMenifest.xml中去找activity,如果有某些activity的<intent-filter>项的Category和data与

Intent.CATEGORY_ALTERNATIVE和相应的uri匹配,就为这些activity分别添加菜单项,菜单项的显示名称从相应activity的android:label项

得来。


下面可以做个试验,在AndroidMenifest.xml中新建一个activity MyAdd

view plaincopy to clipboardprint?
<activity android:name="MyAdd" android:label="@string/title_myadd" 
        android:windowSoftInputMode="stateVisible"> 
    <intent-filter android:label="@string/resolve_myadd"> 
        <action android:name="com.android.notepad.action.MYADD" /> 
        <category android:name="android.intent.category.ALTERNATIVE" /> 
        <data android:mimeType="vnd.android.cursor.item/vnd.google.note" /> 
    </intent-filter> 
</activity> 
        <activity android:name="MyAdd" android:label="@string/title_myadd"
                android:windowSoftInputMode="stateVisible">
            <intent-filter android:label="@string/resolve_myadd">
                <action android:name="com.android.notepad.action.MYADD" />
                <category android:name="android.intent.category.ALTERNATIVE" />
                <data android:mimeType="vnd.android.cursor.item/vnd.google.note" />
            </intent-filter>
        </activity>

写好该activity的layout和实现后,选中noteslist中的一项后,点menu可以看到菜单中多出了一项,点击可以切换到该activity。

这是以函数中Intent匹配的菜单项,当然也可以用Specifics来匹配。下面示例:

删除掉MyAdd这个activity中的 <category android:name="android.intent.category.ALTERNATIVE" />,这时该activity已经与Intent不匹配了,

再将onPrepareOptionsMenu函数中的代码改成如下:

view plaincopy to clipboardprint?
Intent[] specifics = new Intent[2];  
specifics[0] = new Intent(Intent.ACTION_VIEW, uri);  
specifics[1] = new Intent("com.android.notepad.action.MYADD",uri);  
MenuItem[] items = new MenuItem[2]; 
            Intent[] specifics = new Intent[2];
            specifics[0] = new Intent(Intent.ACTION_VIEW, uri);
            specifics[1] = new Intent("com.android.notepad.action.MYADD",uri);
            MenuItem[] items = new MenuItem[2];

选中一项点菜会发现,动态菜单又回来了,不过这次是用Specific来匹配的。

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
.net/c#/asp.net iis7站长之家
▪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