当前位置:  编程技术>移动开发
本页文章导读:
    ▪经过广播检测apn切换        通过广播检测apn切换 receiver是在mainfest文件内注册的。mainfest 代码 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.nico.apn" android:versionCode.........
    ▪ 5.有响应的格局助手 Resonsive Layout Helpers        5.有响应的布局助手 Resonsive Layout Helpers 媒体查询助手类 Media Query Helper ClassesJquery Mobile给html元素增加了用来模拟浏览器的水平竖直方向以及常用的最?最大宽度css媒介查询class.这些class会在加.........
    ▪ Google IAB(In-App Billing)引见       Google IAB(In-App Billing)介绍 Android Market IAB(In-app Billing) 是一个提供应用程序内支付处理的Android Market服务,它对于开发者在Android平台盈利有很大帮助。以下是其基本概念和工作流程的一个.........

[1]经过广播检测apn切换
    来源: 互联网  发布时间: 2014-02-18
通过广播检测apn切换
receiver是在mainfest文件内注册的。

mainfest 代码
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="com.nico.apn" android:versionCode="1" android:versionName="1.0">
	<uses-sdk android:minSdkVersion="8" />

	<application android:icon="@drawable/icon" android:label="@string/app_name">
		<activity android:name=".TestApn" android:label="@string/app_name">
			<intent-filter>
				<action android:name="android.intent.action.MAIN" />
				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
		</activity>
		<receiver android:name=".ApnReceiver">
			<intent-filter>
				<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
			</intent-filter>
		</receiver>
			</application>
	<uses-permission android:name="android.permission.WRITE_APN_SETTINGS"></uses-permission>
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>

</manifest>


receiver 类

public class ApnReceiver extends BroadcastReceiver {

	@Override
	public void onReceive(Context context, Intent intent) {

		if (intent.getAction().equals("android.net.conn.CONNECTIVITY_CHANGE")) {

			//apn状态切换.
		}
	}

}


	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		ApnReceiver r = new ApnReceiver();
		this.registerReceiver(r, new IntentFilter(
				"android.net.conn.CONNECTIVITY_CHANGE"));
	}

    
[2] 5.有响应的格局助手 Resonsive Layout Helpers
    来源: 互联网  发布时间: 2014-02-18
5.有响应的布局助手 Resonsive Layout Helpers
媒体查询助手类 Media Query Helper Classes
Jquery Mobile给html元素增加了用来模拟浏览器的水平竖直方向以及常用的最?最大宽度css媒介查询class.这些class会在加载,调整大小以及方向变化时更新,使你能够在css中切断这些class,以创建有响应的布局,即使在不支持媒介查询的浏览器中也可以实现

方向类 Orientation Classes

取决于浏览器或者设备的方向,HTML元素总是会有"portrait"(竖屏) "landscape"(横屏) class. 你可以在css中如下使用它们:
portrait {
/* 垂直方向的变化的代码 */
}
.landscape {
/* 水平方向的变化的代码 */
} 


最小/最大宽度折断点Class Min/Max Width Breakpoint Classes
默认情况下, 我们为如下宽度创建了折断: 320,80,68,024. 这些宽度对应着如同这样的class:"min-width-320px","max-width-480px"这意味着这些class可以应用在 替换(或附加) 它们模拟的等值的媒介查询
myelement { 
 float: none;
} 
.min-width-480px .myelement {
 float: left;
} 

Jquery Mobile中的许多插件都利用了这些宽度折断点.例如,当浏览器宽度在480以上时,表单元素会浮动在label的旁边. 约束表单文本框的CSS在支持这样的行为时看起来像这样:
label.ui-input-text { 
 display: block; 
}
.min-width-480px label.ui-input-text { 
 display: inline-block; 
}


添加宽度折断点 Adding Width Breakpoints
要利用你自己的宽度折断点。Jquery Mobile公开$.mobile.addResolutionBreakpoints 函数,该函数接受一个数字或者数字的数组,这些值无论何时在函数被应用到时会被添加到min/max折断点中.
//添加一个1200像素的最大/最小折断点
$.mobile.addResolutionBreakpoints(1200);
///添加一个1200像素和1400像素2个最大/最小折断点
$.mobile.addResolutionBreakpoints([1200,1440]);


Running Media Queries 运行媒介查询
Jquery Mobile 提供一个函数允许你来测试是否有特殊的css 媒介查询生效,只需调用 $.mobile.media()然后传递一个media type 或 query即可.如果浏览器支持你传递的那种type或query,它会立即生效,函数会返回true,否则会返回false.
//测试屏幕媒体类型
$.mobile.media("screen");
//测试最小宽度的媒介查询
$.mobile.media("screen and (min-width: 480px)");
//测试是否为苹果4代手机的屏幕(视网膜)
$.mobile.media("screen and (-webkit-min-device-pixel-ratio: 2)");






    
[3] Google IAB(In-App Billing)引见
    来源: 互联网  发布时间: 2014-02-18
Google IAB(In-App Billing)介绍

Android Market IAB(In-app Billing) 是一个提供应用程序内支付处理的Android Market服务,它对于开发者在Android平台盈利有很大帮助。以下是其基本概念和工作流程的一个简要说明。

 


    参考资料:http://developer.android.com/guide/market/billing/billing_overview.html
    主要原理:
        Android Market服务提供在你应用内的支付处理,服务会处理所有支付事物的细节,当支付完成后,服务会发送购买的细节给你的应用,包括订单号,订单时间,支付价格。你无需处理任何商业事物
    架构:
        IAB采用一种异步消息循环来在你的应用和Android Market服务器之间发送账单请求和应答。实际上,你的应用不会直接和Android Market服务器通讯,你的应用通过发送账单请求给Android Market的IPC并且从Android Market程序接收异步广播intents形式的应答。
也可以采用私有的服务器进行内容发送和事务验证,私有服务器可以保存业务历史记录,或者进行各种IAB的账单安全处理任务,比如签名验证等。
        一个典型的IAB实现依赖与三个组件:
            BillingService
                处理应用的购买消息,发送付款请求
            BillingReceiver
                从Android Market 接收异步的账单处理的应答
            Security
                处理安全相关的任务,如签名验证,nonce生成等
        其他组件:
            ResponseHandler
                提供应用程序特定的对购买提示,错误和其他状态消息的处理
            PurchaseObserver
                负责发送回调消息给应用,对界面上的购买信息和状态进行更新。
        除了这些,你的应用还要提供存储用户购买信息的方法,以及给用户选择购买产品的界面。

 


    IAB消息:
        IAB请求
            MarketBillingService.sendBillingRequest(Bundle)
                Bundle参数
                    BILLING_REQUEST(必须)
                        CHECK_BILLING_SUPPORTED:查看Android Market 程序是否支持IAB
                        REQUEST_PURCHASE:发送购买消息
                        GET_PURCHASE_INFORMATION:要求Android Market当购买成功、取消购买、退款等发生状态改变时,提示应用程序。
                        CONFIRM_NOTIFICATIONS:Android Market会发送状态改变的提示给你,除非你确认了提示
                        RESTORE_TRANSACTIONS:重装系统的情况下,可以通过发送这个请求来获取已购买的状态
                    API_VERSION
                    PACKAGE_NAME
                    ITEM_ID
                    NONCE
                    NOTIFY_IDS
                    DEVELOPER_PAYLOAD
        IAB应答
            有同步和异步的应答
                同步应答是一个Bundle,包含
                    RESPONSE_CODE
                    PURCHASE_INTENT
                    REQUEST_ID
                异步应答消息是独立的broadcast intents格式,包含:
                    com.android.vending.billing.RESPONSE_CODE
                    com.android.vending.billing.IN_APP_NOTIFY
                        包含一个或多个提示ID,当你接收到IN_APP_NOTIFY这个广播intent后,你要发送GET_PURCHASE_INFORMATION请求去获得消息详细内容。
                    com.android.vending.billing.PURCHASE_STATE_CHANGED
                        包含一个或多个事务的详细应答信息,用JSON格式表示
        消息序列
            购买请求的消息序列图

 


        安全控制
            Android Market为应答消息中的JSON数据签名。签名使用与Android Market账户关联的私钥进行。
            Android Market返回的账单应答中包括未加密的JSON和签名,应用收到签名的应答后可以使用公钥验证其签名。
            IAB同样也使用nonces(只能使用一次的随机数)来验证购买信息的完整性。当你发送GET_PURCHASE_INFORMATION和RESTORE_TRANSACTIONS请求的时候必须生成一个nonce。请求返回的时候,应用必须验证这个JSON中的nonce。
        IAB的限制
            必须是从Android Market中发布的应用
            必须有Google Checkout账户
            Android3.0,IAB必须5.0.12以上;其他版本需要IAB2.3.4以上版本。
            Android1.6以上设备
            只能买虚拟物品
            Android Market不提供内容
            必须联网


    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
sqlserver iis7站长之家
▪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