当前位置:  编程技术>移动开发
本页文章导读:
    ▪HttpClient根据系统配置设置代理        HttpClient依据系统配置设置代理 import org.apache.http.HttpHost; import org.apache.http.client.HttpClient; import org.apache.http.client.params.HttpClientParams; import org.apache.http.conn.params.ConnRoutePNames; import org.apache.http.impl..........
    ▪ service Notification Thread的结合拳        service Notification Thread的组合拳 碰到一个需求,就是隔一段时间调用webservice接口,如果有信息就提示有新消息。虽然就一句话,但是想做好还真不太容易,昨天写好的demo今天调了一天,终.........
    ▪ 拿到会打开指定类型文件的应用程序       拿到能打开指定类型文件的应用程序 Intent it = new Intent(); it.setType("image/*") List<ResolveInfo> ra = this.getPackageManager().queryIntentActivities(it,0); for(int i=0;i<ra.size();i++){ ActivityInfo ai = ra.get(i)..........

[1]HttpClient根据系统配置设置代理
    来源: 互联网  发布时间: 2014-02-18
HttpClient依据系统配置设置代理
import org.apache.http.HttpHost;
import org.apache.http.client.HttpClient;
import org.apache.http.client.params.HttpClientParams;
import org.apache.http.conn.params.ConnRoutePNames;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.params.HttpProtocolParams;

import android.content.Context;
import android.net.Proxy;
import android.text.TextUtils;
import android.util.Log;

public final class HttpClientFactory {
	private static final String TAG = HttpClientFactory.class.getSimpleName();
	
	private static final int BUFFER_SIZE = 8192;
	private static final String USER_AGENT = "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 GTB6 (.NET CLR 3.5.30729)";
	private static final int CONN_TIME_OUT = 20 * 1000;
	private static final int READ_TIME_OUT = 20 * 1000;

	private HttpClientFactory() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	public static HttpClient createHttpClient(Context context) {
		
		// 创建 HttpParams 以用来设置 HTTP 参数(这一部分不是必需的)
		HttpParams httpParams = new BasicHttpParams();

		// 设置连接超时和 Socket 超时,以及 Socket 缓存大小
		HttpConnectionParams.setConnectionTimeout(httpParams, CONN_TIME_OUT);
		HttpConnectionParams.setSoTimeout(httpParams, READ_TIME_OUT);
		HttpConnectionParams.setSocketBufferSize(httpParams, BUFFER_SIZE);

		// 设置重定向,缺省为 true
		HttpClientParams.setRedirecting(httpParams, true);
		
		// 检测代理设置
		String proxyHost = Proxy.getHost(context);
		int proxyPort = Proxy.getPort(context);
		
		Log.d(TAG, "[createHttpClient] proxyHost = " + proxyHost);
		Log.d(TAG, "[createHttpClient] proxyPort = " + proxyPort);
		
		boolean isWifiConnected = Utils.isWifiConnected(context);
		boolean isMobileConnected = Utils.isMobileConnected(context);
		
		Log.d(TAG, "[createHttpClient] isWifiConnected = " + isWifiConnected);
		Log.d(TAG, "[createHttpClient] isMobileConnected = " + isMobileConnected);
		
		if (!isWifiConnected && !TextUtils.isEmpty(proxyHost)) {
			HttpHost proxy = new HttpHost(proxyHost, proxyPort);
	        Log.d(TAG, "Set proxy: host: " + proxyHost + " port:" + proxyPort);
	        httpParams.setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy);
		}

		// 设置 user agent
		String userAgent = USER_AGENT;
		HttpProtocolParams.setUserAgent(httpParams, userAgent);

		HttpClient httpClient = new DefaultHttpClient(httpParams);
		
		return httpClient;
	}
}
 
1 楼 337240552 2011-08-23  
2 楼 xjm236 2011-12-26  
Utils.isWifiConnected(context); 
楼主,请问Utils这个类是什么样的
3 楼 shaobin0604 2011-12-26  
xjm236 写道
Utils.isWifiConnected(context); 
楼主,请问Utils这个类是什么样的


自己写的一个工具类,提供如下方法
1) 判断WIFI是否连接
2) 判断数据业务(3G, EDGE, GPRS)是否连接

    
[2] service Notification Thread的结合拳
    来源: 互联网  发布时间: 2014-02-18
service Notification Thread的组合拳
碰到一个需求,就是隔一段时间调用webservice接口,如果有信息就提示有新消息。
虽然就一句话,但是想做好还真不太容易,昨天写好的demo今天调了一天,终于差不多了。
上代码
起始的Activity
new Thread(new Runnable(){

		public void run() {
			while(flag){
				try {
					startService(new Intent(Home.this,MyService.class));
					Thread.sleep(1000*10);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
		}			
	}).start();


Myservice类中
public void onStart(Intent intent, int startId) {
		// TODO Auto-generated method stub
		super.onStart(intent, startId);
		mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
....

}
@Override
public void onDestroy() {
	mNM.cancelAll();
	super.onDestroy();
}


 private void showNotification() {
	       
	        Notification notification = new Notification(R.drawable.newmessage, text,
	                System.currentTimeMillis());
	        notification.flags  = Notification.FLAG_AUTO_CANCEL;
	        PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
	                new Intent(this, nn.class), 0);
	        notification.setLatestEventInfo(this, getText(R.string.),
	                       text, contentIntent);
	        mNM.notify(R.string.XX, notification);
	       
	    }
	


Service类中的Handler中根据具体情况 决定是否调用showNotification()
退出应用的时候要清除掉Notification  Destory()中的mNM.cancelAll() 就清空了。

在调用完stopService()后别忘了关掉flag开关,OK了



    
[3] 拿到会打开指定类型文件的应用程序
    来源: 互联网  发布时间: 2014-02-18
拿到能打开指定类型文件的应用程序
Intent it = new Intent();
it.setType("image/*")
List<ResolveInfo> ra = this.getPackageManager().queryIntentActivities(it,0);  

 for(int i=0;i<ra.size();i++){  
    ActivityInfo ai = ra.get(i).activityInfo;  
    Drawable icon = ai.loadIcon(this.getPackageManager());   //图标
    String label = ai.loadLabel(this.getPackageManager()).toString();  //名称 
    ComponentName c = new ComponentName(ai.applicationInfo.packageName, ai.name);   //组件名,可以通过startActivity()打开此应用
 }


如果你要打开其他的媒体资源:video or audio
指定相应的Type即可!

    
最新技术文章:
▪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