当前位置:  编程技术>移动开发
本页文章导读:
    ▪格局专题二:帧布局        布局专题二:帧布局 package com.gouchao; import android.app.Activity; import android.os.Bundle; /** * 帧布局 * @author Administrator * */ public class Layout2 extends Activity { @Override protected void onCreate(Bundle savedInstanc.........
    ▪ http通讯        http通信 HTTP(HyperText Transfer Protocol)是超文本转移协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响 应模型。客户端向服务器发送一个请.........
    ▪ Theme正题使用       Theme主题使用 先新建一个主题/res/values/style.xmlstyle.xml<?xml version="1.0" encoding="UTF-8"?> <resources> <style name="NewTheme" parent="android:Theme.Black"> <item name="android:windowNoTitle">true</ite.........

[1]格局专题二:帧布局
    来源: 互联网  发布时间: 2014-02-18
布局专题二:帧布局
package com.gouchao;

import android.app.Activity;
import android.os.Bundle;

/**
 * 帧布局
 * @author Administrator
 *
 */
public class Layout2 extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		this.setContentView(R.layout.main);
	}

	
	
}

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
	<FrameLayout
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
	>
		<!-- 红色 -->
		<TextView
			android:layout_width="100px"
			android:layout_height="100px"
			android:background="#aa0000"
		></TextView>
		<!-- 绿色 -->
		<TextView
			android:layout_width="80px"
			android:layout_height="80px"
			android:background="#00aa00"
		></TextView>
		<!-- 蓝色 -->
		<TextView
			android:layout_width="40px"
			android:layout_height="40px"
			android:background="#0000aa"
		></TextView>
		
	</FrameLayout>
</LinearLayout>

 效果:

 


    
[2] http通讯
    来源: 互联网  发布时间: 2014-02-18
http通信

HTTP(HyperText Transfer Protocol)是超文本转移协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响 应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器 以一个状态行作为响应,相应的内容包括消息协议的版本,成功或者错误编码加上包含服务器信息、实体元信息以及可能的实体内容。
  通常HTTP消息包括客户机向服务器的请求消息和服务器向客户机的响应消息。这两种类型的消息由一个起始行,一个或者多个头域,一个指示头域 结束的空行和可选的消息体组成。HTTP的头域包括通用头,请求头,响应头和实体头四个部分。每个头域由一个域名,冒号(:)和域值三部分组成。域名是大 小写无关的,域值前可以添加任何数量的空格符,头域可以被扩展为多行,在每行开始处,使用至少一个空格或制表符。
   最常用的Http请求无非是get 和post,get请求可以获取静态页面,也可以把参数放在URL字串后面,传递给servlet,post与get的不同之处在于post的参数不是放在URL字串里面,而是放在http请求的正文内。
   android提供了HttpURLConnection和HttpCliient接口来开发HTTP程序:

使用HttpURLConnection接口
     访问无需参数的网页

//http地址
		String httpUrl = "http://192.168.1.110:8080/http1.jsp";
		//获得的数据
		String resultData = "";
		URL url = null;
		try
		{
			//构造一个URL对象
			url = new URL(/blog_article/httpUrl/index.html); 
		}
		catch (MalformedURLException e)
		{
			Log.e(DEBUG_TAG, "MalformedURLException");
		}
		if (url != null)
		{
			try
			{
				//使用HttpURLConnection打开连接
				HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
				//得到读取的内容(流)
				InputStreamReader in = new InputStreamReader(urlConn.getInputStream());
				// 为输出创建BufferedReader
				BufferedReader buffer = new BufferedReader(in);
				String inputLine = null;
				//使用循环来读取获得的数据
				while (((inputLine = buffer.readLine()) != null))
				{
					//我们在每一行后面加上一个"\n"来换行
					resultData += inputLine + "\n";
				}		  
				//关闭InputStreamReader
				in.close();
				//关闭http连接
				urlConn.disconnect();
				//设置显示取得的内容
				if ( resultData != null )
				{
					mTextView.setText(resultData);
				}
				else 
				{
					mTextView.setText("读取的内容为NULL");
				}
			}
			catch (IOException e)
			{
				Log.e(DEBUG_TAG, "IOException");
			}
		}

 当访问有参数的jsp网页时,只需要在url的末端加上参数即可,这是因为httpurlconnection默认的访问方式为GET,
url:http://192.168.1.110:8080/http1.jsp?par=values
当要以post方式访问时,需要设置进行setRequestMethod设置,如果无参数直接访问,有参数的话要通过writeBytes写入数据流。
示例:

			try
			{
				String httpUrl = "http://192.168.1.110:8080/httpget.jsp";
				// 使用HttpURLConnection打开连接
				HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
				//因为这个是post请求,设立需要设置为true
				urlConn.setDoOutput(true);
				urlConn.setDoInput(true);
		        // 设置以POST方式
				urlConn.setRequestMethod("POST");
		        // Post 请求不能使用缓存
				urlConn.setUseCaches(false);
				urlConn.setInstanceFollowRedirects(true);
		        // 配置本次连接的Content-type,配置为application/x-www-form-urlencoded的
				urlConn.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
		        // 连接,从postUrl.openConnection()至此的配置必须要在connect之前完成,
		        // 要注意的是connection.getOutputStream会隐含的进行connect。
				urlConn.connect();
				//DataOutputStream流
		        DataOutputStream out = new DataOutputStream(urlConn.getOutputStream());
		        //要上传的参数
		        String content = "par=" + URLEncoder.encode("ABCDEFG", "gb2312");
		        //将要上传的内容写入流中
		        out.writeBytes(content); 
		        //刷新、关闭
		        out.flush();
		        out.close(); 
		        //获取数据
		        BufferedReader reader = new BufferedReader(new InputStreamReader(urlConn.getInputStream()));
				String inputLine = null;
				//使用循环来读取获得的数据
				while (((inputLine = reader.readLine()) != null))
				{
					//我们在每一行后面加上一个"\n"来换行
					resultData += inputLine + "\n";
				}		  
				reader.close();
				//关闭http连接
				urlConn.disconnect();
				//设置显示取得的内容
				if ( resultData != null )
				{
					mTextView.setText(resultData);
				}
				else 
				{
					mTextView.setText("读取的内容为NULL");
				}
			}
			catch (IOException e)
			{
				Log.e(DEBUG_TAG, "IOException");
			}

 如果是下载一幅图片并显示,则将下载的InputStream转化为BitMap即可

InputStream is=conn.getInputStream();
Bitmap bt=BitmapFactory.decodeStream(is);
return bt;.

 上述是通过标准java接口来实现http,如果需要更加复杂的应用,可以使用android提供的HttpClient
GET方式访问

String httpUrl = "http://192.168.1.110:8080/httpget.jsp?par=HttpClient_android_Get";
		//HttpGet连接对象
		HttpGet httpRequest = new HttpGet(httpUrl);
		try
		{
			//取得HttpClient对象
			HttpClient httpclient = new DefaultHttpClient();
			//请求HttpClient,取得HttpResponse
			HttpResponse httpResponse = httpclient.execute(httpRequest);
			//请求成功
			if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
			{
				//取得返回的字符串
				String strResult = EntityUtils.toString(httpResponse.getEntity());
				mTextView.setText(strResult);
			}
			else
			{
				mTextView.setText("请求错误!");
			}  
		}
		catch (ClientProtocolException e)
		{
			mTextView.setText(e.getMessage().toString());
		}

 POST方式访问网页

String httpUrl = "http://192.168.1.110:8080/httpget.jsp";
		//HttpPost连接对象
		HttpPost httpRequest = new HttpPost(httpUrl);
		//使用NameValuePair来保存要传递的Post参数
		List<NameValuePair> params = new ArrayList<NameValuePair>();
		//添加要传递的参数
		params.add(new BasicNameValuePair("par", "HttpClient_android_Post"));
		try
		{
			//设置字符集
			HttpEntity httpentity = new UrlEncodedFormEntity(params, "gb2312");
			//请求httpRequest
			httpRequest.setEntity(httpentity);
			//取得默认的HttpClient
			HttpClient httpclient = new DefaultHttpClient();
			//取得HttpResponse
			HttpResponse httpResponse = httpclient.execute(httpRequest);
			//HttpStatus.SC_OK表示连接成功
			if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK)
			{
				//取得返回的字符串
				String strResult = EntityUtils.toString(httpResponse.getEntity());
				mTextView.setText(strResult);
			}
			else
			{
				mTextView.setText("请求错误!");
			}
		}
		catch (ClientProtocolException e)
		{
			mTextView.setText(e.getMessage().toString());
		}

 转自:http://xuyuanshuaaa.iteye.com/blog/981720


    
[3] Theme正题使用
    来源: 互联网  发布时间: 2014-02-18
Theme主题使用
先新建一个主题/res/values/style.xml

style.xml
<?xml version="1.0" encoding="UTF-8"?>
<resources>
	<style name="NewTheme" parent="android:Theme.Black">
		<item name="android:windowNoTitle">true</item>
		<item name="android:textSize">14sp</item>
		<item name="android:textColor">#FFFF0000</item>
	</style>
	<style name="Loading" parent="@android:style/Theme.Dialog">
		<item name="android:windowNoTitle">true</item>
	</style>
</resources>


PS: 里面的parent是继承Android本身的样式, 不加就是新建的样式

其次:
AndroidManifest.xml加入样式
<activity android:name="com.util.ProgressActivity"  android:theme="@style/Loading">
	<item name="android:windowFrame">false</item>
</activity>


最后:
package com.util;

import android.app.Activity;
import android.os.Bundle;

import com.cn.R;

public class ProgressActivity extends Activity {

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		setContentView(R.layout.progress);
		super.onCreate(savedInstanceState);
		setTheme(R.style.Loading);
	}
}

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