<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_梦书之家(移动开发)</title><subtitle type="text">你有一个苹果，我有一个苹果，我们交换一下，一人还是一个苹果；你有一个思想，我有一个思想，我们交换一下，一人就有两个思想。 ——肖伯纳</subtitle><id>http://feed.cnblogs.com/blog/u/12624/rss</id><updated>2012-06-01T02:59:44Z</updated><author><name>梦书</name><uri>http://www.cnblogs.com/mengshu-lbq/</uri></author><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/mengshu-lbq/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/12624/rss"/><entry><id>http://www.cnblogs.com/mengshu-lbq/archive/2012/05/28/2521158.html</id><title type="text">Caused by: java.lang.RuntimeException: Unable to open trace file &amp;#39;/mnt/sdcard/XXX.trace&amp;#39;: Permission denied</title><summary type="text">依次检查以下项目:1. 手机或者模拟器是否有/支持SD Card2. App是否有 &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&gt; 权限3. xxx.trace文件是否被其他的App锁住了，即与其他的App同名</summary><published>2012-05-28T04:43:00Z</published><updated>2012-05-28T04:43:00Z</updated><author><name>梦书</name><uri>http://www.cnblogs.com/mengshu-lbq/</uri></author><link rel="alternate" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/28/2521158.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/28/2521158.html"/><content type="html">&lt;p&gt;依次检查以下项目:&lt;/p&gt;&lt;p&gt;1. 手机或者模拟器是否有/支持SD Card&lt;/p&gt;&lt;p&gt;2. App是否有 &amp;lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&amp;gt; 权限&lt;/p&gt;&lt;p&gt;3. xxx.trace文件是否被其他的App锁住了，即与其他的App同名&lt;/p&gt;&lt;img src="http://www.cnblogs.com/mengshu-lbq/aggbug/2521158.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/28/2521158.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/mengshu-lbq/archive/2012/05/22/2513336.html</id><title type="text">Android打包含有文本或者图片资源的JAR包</title><summary type="text">如果引用第3方的jar,并且jar中包含文本或者图片资源，apkbuilder时，需要特殊处理:apkbuilder -rj &lt;third party.jar&gt;而jar包中读取其包含的文本或者图片资源，可以采用以下的方式（一般都是读取整个文件）:String resource;//资源文件名InoutStream ins = XXX.class.getResourceAsStream(resource);或者File f = new File(XXX.class.getResource.getFile(resource));</summary><published>2012-05-22T06:52:00Z</published><updated>2012-05-22T06:52:00Z</updated><author><name>梦书</name><uri>http://www.cnblogs.com/mengshu-lbq/</uri></author><link rel="alternate" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/22/2513336.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/22/2513336.html"/><content type="html">&lt;p&gt;如果引用第3方的jar,并且jar中包含文本或者图片资源，apkbuilder时，需要特殊处理:&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;apkbuilder -rj &amp;lt;third party.jar&amp;gt;&lt;/div&gt;&lt;p&gt;而jar包中读取其包含的文本或者图片资源，可以采用以下的方式（一般都是读取整个文件）:&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;String resource;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;资源文件名&lt;/span&gt;&lt;br/&gt;InoutStream ins = XXX.&lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;&lt;span style="color: #000000;"&gt;.getResourceAsStream(resource);&lt;br/&gt;或者&lt;br/&gt;File f  &lt;/span&gt;= &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; File(XXX.&lt;span style="color: #0000ff;"&gt;class&lt;/span&gt;.getResource.getFile(resource));&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/mengshu-lbq/aggbug/2513336.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/22/2513336.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/mengshu-lbq/archive/2012/05/16/2504312.html</id><title type="text">appwidget-provider 字段解析</title><summary type="text">&lt;appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android" android:minWidth="250dp"//widget最小宽度 android:minHeight="180dp"//widget最小高度 android:updatePeriodMillis="1800000"//更新频率，但好像 1.5之后就不支持了 android:initialLayout="@layout/widget_la</summary><published>2012-05-16T09:03:00Z</published><updated>2012-05-16T09:03:00Z</updated><author><name>梦书</name><uri>http://www.cnblogs.com/mengshu-lbq/</uri></author><link rel="alternate" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/16/2504312.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/16/2504312.html"/><content type="html">&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;appwidget-provider&lt;br/&gt;  &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;xmlns:android&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="http://schemas.android.com/apk/res/android"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br/&gt;  android:minWidth&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="250dp"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;//widget最小宽度&lt;br/&gt;  android:minHeight&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="180dp"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;//widget最小高度&lt;br/&gt;  android:updatePeriodMillis&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="1800000"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;//更新频率，但好像 1.5之后就不支持了&lt;br/&gt;  android:initialLayout&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@layout/widget_layout"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;//widget初始布局&lt;br/&gt;  android:resizeMode&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="vertical"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; //是否可伸缩(none为不伸缩)，及伸缩的方式&lt;br/&gt;  android:minResizeWidth&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="250dp"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;//伸缩的步进宽度&lt;br/&gt;  android:minResizeHeight&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="110dp"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;//伸缩的步进高度&lt;br/&gt;  android:previewImage&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="@drawable/preview"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;//选择widget时的预览图片&lt;br/&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;appwidget-provider&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/mengshu-lbq/aggbug/2504312.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/16/2504312.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/mengshu-lbq/archive/2012/05/16/2503966.html</id><title type="text">App Widget支持的Layout与widget</title><summary type="text">App Widget的Layout是基于RemoteViews,而RemoteViews并不是支持所有的Layout（布局）与视图的。1.支持的Layout-LinearLayout-RelativeLayout-FrameLauout2.支持的Widget(/View视图)-TextView-ImageView-ImageButton-StackView-AnalogClock-Button-Chronometer-ListView-GridView-ViewFlipper-AdapterViewFlipper源代码中查看就是类名前面的@RemoteView,如@RemoteViewpubl</summary><published>2012-05-16T06:37:00Z</published><updated>2012-05-16T06:37:00Z</updated><author><name>梦书</name><uri>http://www.cnblogs.com/mengshu-lbq/</uri></author><link rel="alternate" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/16/2503966.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/16/2503966.html"/><content type="html">&lt;p&gt;App Widget的Layout是基于RemoteViews,而RemoteViews并不是支持所有的Layout（布局）与视图的。&lt;/p&gt;&lt;p&gt;1.支持的Layout&lt;/p&gt;&lt;p&gt;-LinearLayout&lt;/p&gt;&lt;p&gt;-RelativeLayout&lt;/p&gt;&lt;p&gt;-FrameLauout&lt;/p&gt;&lt;p&gt;2.支持的Widget(/View视图)&lt;/p&gt;&lt;p&gt;-TextView&lt;/p&gt;&lt;p&gt;-ImageView&lt;/p&gt;&lt;p&gt;-ImageButton&lt;/p&gt;&lt;p&gt;-StackView&lt;/p&gt;&lt;p&gt;-AnalogClock&lt;/p&gt;&lt;p&gt;-Button&lt;/p&gt;&lt;p&gt;-Chronometer&lt;/p&gt;&lt;p&gt;-ListView&lt;/p&gt;&lt;p&gt;-GridView&lt;/p&gt;&lt;p&gt;-ViewFlipper&lt;/p&gt;&lt;p&gt;-AdapterViewFlipper&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;源代码中查看就是类名前面的@RemoteView,如&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&lt;span style="color: #000000;"&gt;@RemoteView&lt;br/&gt;public class ListView&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;以上View的子类也是不支持的，如果用了会提示找不到。&lt;/p&gt;&lt;p&gt;因此，在设计Widget时要从以上的几个View中选择，确实要用到特殊的自定义View，&lt;/p&gt;&lt;p&gt;可以将样式或内容画到一个Bitmap上，然后将该Bitmap传给ImageView。&lt;/p&gt;&lt;p&gt;另外，就是自己修改Framework，在其中添加自定义的组件，这个不适合普通的开发人员&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;参考: &lt;a href="http://developer.android.com/guide/topics/appwidgets/index.html" target="_blank"&gt;http://developer.android.com/guide/topics/appwidgets/index.html&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/mengshu-lbq/aggbug/2503966.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/16/2503966.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/mengshu-lbq/archive/2012/05/16/2503564.html</id><title type="text">keytool错误： java.io.FileNotFoundException: android.key (Permission denied)</title><summary type="text">用以下的命令生成一个证书:keytool -genkey -alias android.key -keyalg RSA -validity 20000 -keystore android.key老是报如题的错误：后来才知道是因为当前的目录下没有写的权限，所以需要指定一个路径来存放android.key:keytool -genkey -alias android.key -keyalg RSA -validity 20000 -keystore /&lt;MY_PATH&gt;/android.key注： 该单位的两字母国家代码是什么（中国是 CN）打包的时候如果出现： jarsigner： </summary><published>2012-05-16T02:47:00Z</published><updated>2012-05-16T02:47:00Z</updated><author><name>梦书</name><uri>http://www.cnblogs.com/mengshu-lbq/</uri></author><link rel="alternate" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/16/2503564.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/16/2503564.html"/><content type="html">&lt;p&gt;用以下的命令生成一个证书:&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;keytool -genkey -alias android.key -keyalg RSA -validity &lt;span style="color: #800080;"&gt;20000&lt;/span&gt; -keystore android.key&lt;/div&gt;&lt;p&gt;老是报如题的错误：&lt;/p&gt;&lt;p&gt;后来才知道是因为当前的目录下没有写的权限，所以需要指定一个路径来存放android.key:&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;keytool -genkey -alias android.key -keyalg RSA -validity &lt;span style="color: #800080;"&gt;20000&lt;/span&gt; -keystore /&amp;lt;MY_PATH&amp;gt;/android.key&lt;/div&gt;&lt;p&gt;注： 该单位的两字母国家代码是什么（中国是 CN）&lt;/p&gt;&lt;p&gt;打包的时候如果出现： jarsigner： 找不到 android.key 的证书链。android.key 必须引用包含专用密钥和相应的公共密钥证书链的有效密钥库密钥条目。&lt;/p&gt;&lt;p&gt;那么可能是 -alias 部分多了路径名导致与其后面的keystore不同名。&lt;/p&gt;&lt;p&gt;查看证书信息:&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;keytool -list -v -keystore android.key -storepass &amp;lt;PSW&amp;gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/mengshu-lbq/aggbug/2503564.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/16/2503564.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/mengshu-lbq/archive/2012/05/15/2501517.html</id><title type="text">Android开机自启动</title><summary type="text">1. 在Manifest.xml文件中 添加如下的权限:&lt;uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"&gt;&lt;/uses-permission&gt;2.在Manifest.xml中，添加receiver的声明: &lt;receiver android:name="&lt;my app package&gt;.BootReceiver"&gt; &lt;intent-filter&gt; &lt;action android:name=&amp;q</summary><published>2012-05-15T06:04:00Z</published><updated>2012-05-15T06:04:00Z</updated><author><name>梦书</name><uri>http://www.cnblogs.com/mengshu-lbq/</uri></author><link rel="alternate" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/15/2501517.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/15/2501517.html"/><content type="html">&lt;p&gt;1. 在Manifest.xml文件中 添加如下的权限:&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;&amp;lt;uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"&amp;gt;&amp;lt;/uses-permission&amp;gt;&lt;/div&gt;&lt;p&gt;2.在Manifest.xml中，添加receiver的声明:&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;         &amp;lt;receiver android:name="&amp;lt;my app package&amp;gt;.BootReceiver"&amp;gt;&lt;br/&gt;&amp;lt;intent-filter&amp;gt;&lt;br/&gt;&amp;lt;action android:name="android.intent.action.BOOT_COMPLETED" /&amp;gt;&lt;br/&gt;&amp;lt;/intent-filter&amp;gt;&lt;br/&gt;&amp;lt;/receiver&amp;gt;&lt;br/&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;3.编写BootReceiver类，在其onReceive中添加相应的处理逻辑&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/mengshu-lbq/aggbug/2501517.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/15/2501517.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/mengshu-lbq/archive/2012/05/09/2491459.html</id><title type="text">调整Android模拟器的尺寸</title><summary type="text">现在模拟器映像都有点大了，有时无法看全屏幕，就需要调整下。1.打开 Android Virtual Devics Manager2.选择您要打开的AVD,没有的话，先创建一个3.选择scale display to real size,其下的Screen Size(in)，中的in应该就是inch（英寸），4有点小，6拆不多。但是该方法，每次都得指定大小，比较麻烦些。</summary><published>2012-05-09T03:29:00Z</published><updated>2012-05-09T03:29:00Z</updated><author><name>梦书</name><uri>http://www.cnblogs.com/mengshu-lbq/</uri></author><link rel="alternate" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/09/2491459.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/09/2491459.html"/><content type="html">&lt;p&gt;现在模拟器映像都有点大了，有时无法看全屏幕，就需要调整下。&lt;/p&gt;&lt;p&gt;1.打开 Android Virtual Devics Manager&lt;/p&gt;&lt;p&gt;2.选择您要打开的AVD,没有的话，先创建一个&lt;/p&gt;&lt;p&gt;3.选择scale display to real size,&lt;/p&gt;&lt;p&gt;其下的Screen Size(in)，中的in应该就是inch（英寸），4有点小，6拆不多。&lt;/p&gt;&lt;p&gt;但是该方法，每次都得指定大小，比较麻烦些。&lt;/p&gt;&lt;p&gt;&lt;img src="http://pic002.cnblogs.com/images/2012/9070/2012050911271844.png" alt="" /&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/mengshu-lbq/aggbug/2491459.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/09/2491459.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/mengshu-lbq/archive/2012/05/04/2483144.html</id><title type="text">64位机安装Android开发环境</title><summary type="text">这两天帮一测试人员安装Android环境，谁知他的机器是64位的，所以导致配置起来非常的麻烦，因为之前配置的机器都是32位的。1.JDK 要64位的2.eclipse要64位的3.而Android SDK只有32位的，所以还需要安装一个软件： ia32-lib</summary><published>2012-05-04T10:57:00Z</published><updated>2012-05-04T10:57:00Z</updated><author><name>梦书</name><uri>http://www.cnblogs.com/mengshu-lbq/</uri></author><link rel="alternate" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/04/2483144.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/04/2483144.html"/><content type="html">&lt;p&gt;这两天帮一测试人员安装Android环境，谁知他的机器是64位的，所以导致配置起来非常的麻烦，&lt;/p&gt;&lt;p&gt;因为之前配置的机器都是32位的。&lt;/p&gt;&lt;p&gt;1.JDK 要64位的&lt;/p&gt;&lt;p&gt;2.eclipse要64位的&lt;/p&gt;&lt;p&gt;3.而Android SDK只有32位的，所以还需要安装一个软件： ia32-lib&lt;/p&gt;&lt;img src="http://www.cnblogs.com/mengshu-lbq/aggbug/2483144.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/04/2483144.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/mengshu-lbq/archive/2012/05/03/2480467.html</id><title type="text">JDK 下载</title><summary type="text">http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u32-downloads-1594644.htmlUbuntu下安装.bin文件chmod u+x jdk-1_5_0-linux-i586.bin ./ jdk-1_5_0-linux-i586.bin///另外，在下载之前要先查看下自己CPU的类型，比如:1.archiX86 是32位， x86-64的就是64位的2.</summary><published>2012-05-03T05:33:00Z</published><updated>2012-05-03T05:33:00Z</updated><author><name>梦书</name><uri>http://www.cnblogs.com/mengshu-lbq/</uri></author><link rel="alternate" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/03/2480467.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/03/2480467.html"/><content type="html">&lt;p&gt;&lt;a&gt;http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u32-downloads-1594644.html&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Ubuntu下安装.bin文件&lt;/p&gt;&lt;p&gt;chmod u+x jdk-1_5_0-linux-i586.bin &lt;br /&gt;./ jdk-1_5_0-linux-i586.bin&lt;/p&gt;&lt;p&gt;///&lt;/p&gt;&lt;p&gt;另外，在下载之前要先查看下自己CPU的类型，比如:&lt;/p&gt;&lt;p&gt;1.arch&lt;/p&gt;&lt;p&gt;iX86 是32位， x86-64的就是64位的&lt;/p&gt;&lt;p&gt;2. &lt;/p&gt;&lt;img src="http://www.cnblogs.com/mengshu-lbq/aggbug/2480467.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/mengshu-lbq/archive/2012/05/03/2480467.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/mengshu-lbq/archive/2012/04/09/2439360.html</id><title type="text">微博开发事项</title><summary type="text">1.首先要牢记的是：官网给出的SDK不是100%可行的，就算某个API可以用，但框架什么的可能不正确。还有尤其要留心里面的静态类以及静态类中的成员变量(比如是否需要重新初始化)比如：新浪微博SDK里面Utility.java中函数:public static void setHeader(String httpMethod, HttpUriRequest request, WeiboParameters authParam, String url, Token token) throws WeiboException { ..... ...</summary><published>2012-04-09T09:58:00Z</published><updated>2012-04-09T09:58:00Z</updated><author><name>梦书</name><uri>http://www.cnblogs.com/mengshu-lbq/</uri></author><link rel="alternate" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/04/09/2439360.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/mengshu-lbq/archive/2012/04/09/2439360.html"/><content type="html">&lt;p&gt;1.首先要牢记的是：官网给出的SDK不是100%可行的，就算某个API可以用，但框架什么的可能不正确。&lt;/p&gt;&lt;p&gt;还有尤其要留心里面的静态类以及静态类中的成员变量(比如是否需要重新初始化)&lt;/p&gt;&lt;p&gt;比如：新浪微博SDK里面Utility.java中函数:&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding:10px;"&gt;public static void setHeader(String httpMethod, HttpUriRequest request,&lt;br/&gt;            WeiboParameters authParam, String url, Token token) throws WeiboException {&lt;br/&gt;            .....&lt;br/&gt;            .....&lt;br/&gt;&amp;nbsp;if (!isBundleEmpty(authParam) &amp;amp;&amp;amp; mAuth != null) {&lt;br/&gt;            String authHeader = mAuth.getWeiboAuthHeader(httpMethod, url, authParam,&lt;br/&gt;                    Weibo.getAppKey(), Weibo.getAppSecret(), token);&lt;br/&gt;            if (authHeader != null) {&lt;br/&gt;                request.setHeader("Authorization", authHeader);&lt;br/&gt;            }&lt;br/&gt;        }&lt;br/&gt;            .....&lt;br/&gt;            .....&lt;br/&gt;}&lt;br/&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;尤其要注意其中的mAuth是一个静态的变量，另外，当接口是一个GET的时候， isBundleEmpty(authParam) 这个条件语句就会出现问题，导致&lt;/p&gt;&lt;p&gt;无法添加Oauth信息，从而导致返回鉴权失败。&lt;/p&gt;&lt;p&gt;2.API中的参数别传错了，因为不管是腾讯微博还是新浪微博，返回的错误码，不是100%有用的，&lt;/p&gt;&lt;p&gt;经常看到返回错误是&amp;ldquo;鉴权失败&amp;rdquo;&lt;/p&gt;&lt;p&gt;3.注意POST与GET的区别，针对微博的SDK。&lt;/p&gt;&lt;p&gt;4.请求地址别弄错了。&lt;/p&gt;&lt;p&gt;5.各个平台各有差别，有时还得变通下，比如关注这个API，新浪微博只要通过&lt;a title="2/friendships/create" href="http://open.weibo.com/wiki/2/friendships/create"&gt;friendships/create&lt;/a&gt; 这个接口即可判断是否已经是关注了还是关注成功了。但是腾讯微博的接口：&lt;a class="external free" href="http://open.t.qq.com/api/friends/add" rel="nofollow" target="_blank"&gt;http://open.t.qq.com/api/friends/add&lt;/a&gt;， 不管您是否已经关注某用户，返回值都是一样的，这就给用户有点错觉，因此，在使用这个接口前，应先调用接口： &lt;a class="external free" href="http://open.t.qq.com/api/friends/check" rel="nofollow" target="_blank"&gt;http://open.t.qq.com/api/friends/check&lt;/a&gt; 来判断是否已经关注了，如果已经关注了，就无须调用上面的关注接口，否则才调用关注接口。&lt;/p&gt;&lt;p&gt;总之，遇到错误的话，首先要认真检查请求的参数。&lt;/p&gt;&lt;img src="http://www.cnblogs.com/mengshu-lbq/aggbug/2439360.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/mengshu-lbq/archive/2012/04/09/2439360.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry></feed>
