<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>很错 &#187; Android</title>
	<atom:link href="http://www.hencuo.com/archives/tag/android/feed" rel="self" type="application/rss+xml" />
	<link>http://www.hencuo.com</link>
	<description>Android,Php,Wordpress</description>
	<lastBuildDate>Wed, 11 Jan 2012 12:41:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>[Android] Zuosa API获取一条指定的消息</title>
		<link>http://www.hencuo.com/archives/23</link>
		<comments>http://www.hencuo.com/archives/23#comments</comments>
		<pubDate>Sun, 08 Nov 2009 08:09:29 +0000</pubDate>
		<dc:creator>半醒</dc:creator>
				<category><![CDATA[技术类]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[zuosa]]></category>

		<guid isPermaLink="false">http://www.hencuo.com/archives/23</guid>
		<description><![CDATA[Google于2007年11月5日推出基于Linux平台的开源手机操作系统，即Android。同时发布android软件开发工具包SDK（2.0版已发布），便于手机应用程序开发者进行基于android的手机应用程序开发。 下面代码是根据zuosa提供的API，希望开发出基于android平台上的zuosa客户端，路漫漫其修远兮。程序主要是对api返回数据的处理，这里是json格式数据。对于JAVA，有很多第三方的程序包可以很方便的处理json数据。其实在android SDK中同样提供了json数据处理方法，只不过可能会稍显的有些复杂。 public String process() { String myString=&#34;&#34;; try{ //获取指定id为34230762的消息 URL url = new URL(&#34;http://api.zuosa.com/statuses/show.json?id=34230762&#34;); //使用HttpURLConnection类建立连接 HttpURLConnection conn = (HttpURLConnection)url.openConnection(); conn.connect(); StringBuffer totalXML = new StringBuffer(&#34;&#34;); if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { InputStream httpStream = conn.getInputStream(); BufferedReader bufferReader = new BufferedReader(new InputStreamReader(httpStream)); String currLine = &#34;&#34;; while((currLine=bufferReader.readLine())!=null) totalXML.append(currLine); } myString=totalXML.toString(); //关闭连接 conn.disconnect(); //myString为String格式，需要先转换为JSONObject便于处理 JSONObject jsonObject=new [...]]]></description>
			<content:encoded><![CDATA[<p>Google于2007年11月5日推出基于Linux平台的开源手机操作系统，即Android。同时发布android软件开发工具包SDK（2.0版已发布），便于手机应用程序开发者进行基于android的手机应用程序开发。</p>
<p>下面代码是根据zuosa提供的API，希望开发出基于android平台上的zuosa客户端，路漫漫其修远兮。程序主要是对api返回数据的处理，这里是json格式数据。对于JAVA，有很多第三方的程序包可以很方便的处理json数据。其实在android SDK中同样提供了json数据处理方法，只不过可能会稍显的有些复杂。</p>
<p> <span id="more-23"></span>
<pre><font size="2"><span style="color: #0000ff">public</span> String process() {
  String myString=&quot;<span style="color: #8b0000"></span>&quot;;
  <span style="color: #0000ff">try</span>{</font></pre>
<pre><font size="2">     //获取指定id为34230762的消息
     URL url = <span style="color: #0000ff">new</span> URL(&quot;<span style="color: #8b0000">http://api.zuosa.com/statuses/show.json?id=34230762</span>&quot;);</font></pre>
<pre><font size="2">     //使用HttpURLConnection类建立连接
     HttpURLConnection conn = (HttpURLConnection)url.openConnection();
     conn.connect();
     StringBuffer totalXML = <span style="color: #0000ff">new</span> StringBuffer(&quot;<span style="color: #8b0000"></span>&quot;);
     <span style="color: #0000ff">if</span> (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
        InputStream httpStream = conn.getInputStream();
        BufferedReader bufferReader = <span style="color: #0000ff">new</span> BufferedReader(<span style="color: #0000ff">new</span> InputStreamReader(httpStream));
        String currLine = &quot;<span style="color: #8b0000"></span>&quot;;
        <span style="color: #0000ff">while</span>((currLine=bufferReader.readLine())!=<span style="color: #0000ff">null</span>)
                    totalXML.append(currLine);
     }
     myString=totalXML.toString(); </font></pre>
<pre><font size="2">     //关闭连接
     conn.disconnect();</font></pre>
<pre><font size="2">     //myString为String格式，需要先转换为JSONObject便于处理
     JSONObject jsonObject=<span style="color: #0000ff">new</span> JSONObject(myString);
     myString=&quot;<span style="color: #8b0000"></span>&quot;;</font></pre>
<pre><font size="2">     //keys方法：返回json格式数据中的所有key
     Iterator l=jsonObject.keys();</font></pre>
<pre><font size="2">     //readjson读取对应key的值，即zuosa消息内容
     myString=readjson(l, jsonObject);
 } <span style="color: #0000ff">catch</span> (JSONException e) {
     myString=e.getMessage();
 } <span style="color: #0000ff">catch</span>(Exception ee) {
     myString=ee.getMessage();
 }
    <span style="color: #0000ff">return</span> myString;
}</font></pre>
<pre><font size="2"><span style="color: #0000ff">public</span> String readjson(Iterator l, JSONObject jsonObject) {
   String myString=&quot;<span style="color: #8b0000"></span>&quot;;
   Iterator templ=<span style="color: #0000ff">null</span>;
   <span style="color: #0000ff">try</span> {</font></pre>
<pre><font size="2">    //遍历整个json数据
    <span style="color: #0000ff">for</span> (; l.hasNext(); ) {
    	String ll=(String)l.next();</font></pre>
<pre><font size="2">        //因为在zuosa返回的json数据是多维，这里先判断对应key的值是否是json格式数据
    	JSONObject tempJson=jsonObject.optJSONObject(ll);</font></pre>
<pre><font size="2">        //如果对应key的值不存在或者不是一个jsonobject，则返回null
    	<span style="color: #0000ff">if</span> (tempJson!=<span style="color: #0000ff">null</span>) {
    	    templ=tempJson.keys();</font></pre>
<pre><font size="2">            //这里应该可以使用递归，可一直不成功
    	    myString+=readjson2(templ, tempJson);
    	} <span style="color: #0000ff">else</span> {</font></pre>
<pre><font size="2">            //格式化时间，按年月日 时分秒 形式显示
    	    <span style="color: #0000ff">if</span> (ll.equals(&quot;<span style="color: #8b0000">created_at</span>&quot;)) {</font></pre>
<pre><font size="2">                SimpleDateFormat sdf = new SimpleDateFormat(&quot;yyyy年MM月dd日 HH时mm分ss秒&quot;);
    		Date date=new Date();</font></pre>
<pre><font size="2">                //以key:value显示数据&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; myString+=ll+&quot;:&quot;+sdf.format(date);</font></pre>
<pre><font size="2">    	    }<span style="color: #0000ff">else</span>
    		myString+=ll+&quot;<span style="color: #8b0000">:</span>&quot;+jsonObject.getString(ll);
    	}

  }
  }<span style="color: #0000ff">catch</span> (JSONException e) {
     myString=e.getMessage();
  } <span style="color: #0000ff">catch</span>(Exception ee) {
     myString=ee.getMessage();
  }
  <span style="color: #0000ff">return</span> myString;
}</font></pre>
<pre><font size="2">//readjson2跟上面的readjson基本一样。
<span style="color: #0000ff">public</span> String readjson2(Iterator l, JSONObject jsonObject) {
   String myString=&quot;<span style="color: #8b0000"></span>&quot;;
   Iterator templ=<span style="color: #0000ff">null</span>;
   <span style="color: #0000ff">try</span> {
    <span style="color: #0000ff">for</span> (; l.hasNext(); ) {
    	String ll=(String)l.next();
    	myString+=ll+&quot;<span style="color: #8b0000">:</span>&quot;+jsonObject.getString(ll);
    }
   }<span style="color: #0000ff">catch</span> (JSONException e) {
        myString=e.getMessage();
   } <span style="color: #0000ff">catch</span>(Exception ee) {
        myString=ee.getMessage();
   }
  <span style="color: #0000ff">return</span> myString;
}</font></pre>
<p>模拟器上执行结果：</p>
<p><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" border="0" src="http://i35.tinypic.com/21eyuew.jpg" width="340" height="274" /></p>
<p>至于在layout中如何布局，就是另外的活儿了。本程序是用的android sdk 1.6</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hencuo.com/archives/23/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Android环境配置</title>
		<link>http://www.hencuo.com/archives/21</link>
		<comments>http://www.hencuo.com/archives/21#comments</comments>
		<pubDate>Mon, 02 Nov 2009 01:51:18 +0000</pubDate>
		<dc:creator>半醒</dc:creator>
				<category><![CDATA[技术类]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[jdk]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://www.hencuo.com/archives/21</guid>
		<description><![CDATA[工具准备： JDK1.6 下载网址： http://java.sun.com/javase/downloads/index.jsp Eclipse3.4&#160; 下载网址：http://www.eclipse.org/downloads/ (下载Eclipse IDE for Java Developers) Android SDK1.5 下载网址： http://developer.android.com 安装： 运行jdk-6u16-windows-i586.exe，一般是默认安装 配置环境变量：系统变量中新建JAVA_HOME=”” 此处选择jdk的位置 安装默认为C:\Program Files\Java\jdk1.6.0_13 CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar 编辑path变量 jdk bin目录的位置 默认为：C:\Program Files\Java\jdk1.6.0_13\bin abdroid的tools 目录如：F:\android-sdk-windows-1.5_r2\android-sdk-windows-1.5_r2\tools 打开eclipse，点击help，选择install new software，点击add site，Location选择你的ADT位置。如图： 安装完成后重启eclipse 点击Window选择performances，接着选中Android节点，点击brows选择android sdk的解压目录，然后apply&#8211;&#62;OK。&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; AVD管理。点击Window选择Android AVD Manager，选择New新建一个AVD。NAME:随便起一个名字 如android1.5 Target:选项框 选择开始的 android1.5即我们开始配置好的 SDCard:虚拟内存 填写126M 注意M的大小写 Skin模拟器的样式 这里就选择默认的 所有配置已经完毕]]></description>
			<content:encoded><![CDATA[<p>工具准备：</p>
<ol>
<li>JDK1.6 下载网址： <a href="http://java.sun.com/javase/downloads/index.jsp" target="_blank">http://java.sun.com/javase/downloads/index.jsp</a> </li>
<li>Eclipse3.4&#160; 下载网址：<a href="http://www.eclipse.org/downloads/" target="_blank">http://www.eclipse.org/downloads/</a> (下载Eclipse IDE for Java Developers) </li>
<li>Android SDK1.5 下载网址： <a href="http://developer.android.com" target="_blank">http://developer.android.com</a> </li>
</ol>
<p>安装：</p>
<ol>
<li>运行jdk-6u16-windows-i586.exe，一般是默认安装 </li>
<li>配置环境变量：系统变量中新建JAVA_HOME=”” 此处选择jdk的位置 安装默认为C:\Program Files\Java\jdk1.6.0_13
<p>CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar</p>
<p>编辑path变量</p>
<p>jdk bin目录的位置 默认为：C:\Program Files\Java\jdk1.6.0_13\bin</p>
<p> <span id="more-21"></span>
<p>abdroid的tools 目录如：F:\android-sdk-windows-1.5_r2\android-sdk-windows-1.5_r2\tools</p>
</li>
<li>打开eclipse，点击help，选择install new software，点击add site，Location选择你的ADT位置。如图：<img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" border="0" alt="" src="http://i38.tinypic.com/zkfxqw.jpg" /> 安装完成后重启eclipse </li>
<li>点击Window选择performances，接着选中Android节点，点击brows选择android sdk的解压目录，然后apply&#8211;&gt;OK。&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" border="0" alt="" src="http://i37.tinypic.com/rkbvy8.jpg" width="576" height="210" /> </li>
<li>AVD管理。点击Window选择Android AVD Manager，选择New新建一个AVD。<img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" border="0" alt="" src="http://i37.tinypic.com/vosg3c.jpg" />NAME:随便起一个名字 如android1.5
<p>Target:选项框 选择开始的 android1.5即我们开始配置好的</p>
<p>SDCard:虚拟内存 填写126M 注意M的大小写</p>
<p>Skin模拟器的样式 这里就选择默认的</p>
<p>所有配置已经完毕</p>
</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.hencuo.com/archives/21/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

