Chen Jian's Java Blog 

Mac上安装eclipse + adt + subclipse 的曲折经历

by Chen Jian


Posted on 2013-10-22 12:00 in Wireless Dev


下载adt sdk后,直接用里面的eclipse加装subclipse死活装不上,试了各种方式都不行;换装subversive也装不了。 于是只好先下个普通的eclipse, 然后装subclipse很顺利; 但通过update site的方式安装adt插件又死活装不了,因为adt update site的xml叫site.xml, 而eclipse只认content.xml; 只好改用archive方式,下载adt插件,然后安装,但在安装时又出现 "Computing alternate...


android eclipse导入existing project出现大量红点怎么办?

by Chen Jian


Posted on 2013-10-16 12:00 in Wireless Dev


android eclipse导入existing project出现大量红点怎么办? 1. 如果说"gen"目录找不到,则创建这个目录 2. 如果说“android.app"之类的找不到,则去sdk某个子目录下找到android.jar加入到build path 3. 如果说”android.support.v4"之类的找不到,则去sdk某个子目录下找到android support v4相关的一个jar包加入到build path 4....


手机访问内网无域名站点

by Chen Jian


Posted on 2013-09-24 12:00 in Wireless Dev


手机浏览器通过IP访问内网站点,一般都访问不了。 有个招数是: 1. 在内网某台电脑上开一个http代理 2. 设置手机的wifi配置,配置这个http代理 3. 修改电脑上的hosts,为内网ip指定一个域名 4. 在手机上通过域名访问


Android: 在eclipse里通过鼠标改变布局

by Chen Jian


Posted on 2013-09-22 12:00 in Wireless Dev


Outline窗口中,右击当前layout,选择"change layout"即可


富客户端相对于浏览器瘦客户端的优点

by Chen Jian


Posted on 2013-09-14 12:00 in Wireless Dev


富客户端(如android/ios)相对于浏览器瘦客户端的优点 1. 访问本地硬件 2. 在没有网络的环境下,也能有比较可靠的缓存;而浏览器缓存在无网络环境时不是那么可靠 3. 可以做长连接,避免频繁连接,省电量 4. 很多图像、图片、声音可以用本地的,避免从服务端实时下载大量html源码,这样可以降低对带宽的要求。


普通Implicit Intent其实也是广播发送的

by Chen Jian


Posted on 2013-08-07 12:00 in Wireless Dev


普通Implicit Intent跟Broadcast Intent一样,其实也是广播发送的;它没有指定这个Intent的消费者,任何一个注册相关兴趣的Activity都有可能成为它的消费者。 跟Broadcast Intent不同的是,普通Intent只能被一个activity消费;而Broadcast Intent可以被所有receiver都消费一次。


慢慢积累:Android程序兼容性技巧

by Chen Jian


Posted on 2013-08-06 12:00 in Wireless Dev


安装时获取用户授权APP做某种事:<uses-permission android:name="android.permission.CAMERA" /> 安装时指定硬件要求: <uses-feature android:name="android.hardware.camera" android:required="true/false" /> 运行时发送隐式Intent之前看看这个intent是否被支持....


apk反编译:工具和注意事项

by Chen Jian


Posted on 2013-08-06 12:00 in Wireless Dev


1. 先用apktools把apk本身解压;如果用7zip解压,会发现资源文件都是打不开的 2. 然后用dex2jar把*.dex变成*.jar,或者直接把*.apk变成*.jar 3. 最后用xjad打开jar里的class文件


Hacker News Android 客户端如何处理登录验证问题?

by Chen Jian


Posted on 2013-08-06 12:00 in Wireless Dev


看代码研究了一下Hacker News Android 客户端如何处理登录验证问题。 登录流程 1. APP先用httpclient请求PC上的登录页面,拿到一堆html代码,然后从中解析中fnid, 应该是csrf token 2. 然后再把fnid, username, password 作为参数去POST PC上的登录form,服务端返回两个东西:   a. cookie: httpclient的cookieStore上会多一个cookie(key=user)...


Android进程的优先级

by Chen Jian


Posted on 2013-08-05 12:00 in Wireless Dev


Android Runtime在资源紧张时会杀掉一些进程。 优先级低的进程就被首先杀掉。 进程的优先级取决于它们的状态,优先级从高到低排列是: 1. Foreground process   -- 正在与用户交互 2. Visible process      -- 可见,但不能交互,比如进程里的Activity被部分遮挡 3. Service process     ...


Android Activity状态图

by Chen Jian


Posted on 2013-08-05 12:00 in Wireless Dev


图片来自网络


Android Runtime 资源回收的单位是Activity还是Process ?

by Chen Jian


Posted on 2013-08-05 12:00 in Wireless Dev


Android Runtime要回收资源时,倒底是弄掉可回收的Activity, 还是直接杀掉Process ? According to Google's Documents: 引用 If an activity in the foreground of the screen (at the top of the stack), it is active or running. If an activity has lost focus but is still...


html5到底支持哪些新的交互事件,可以调用哪些硬件?

by Chen Jian


Posted on 2013-08-05 12:00 in Wireless Dev


html5到底支持哪些新的交互事件,可以调用哪些硬件? 找了半天,没找到一个列出全部特性的单一网站, 但你可以参考浏览器、JS框架获得这些信息: JQuery Mobile支持的Event列表: http://api.jquerymobile.com/category/events/ Mozilla Developer Network: https://developer.mozilla.org/en-US/docs/WebAPI ,可访问的硬件信息,以及其他浏览器是否支持这些访问。...


Android强制要求APP快速响应

by Chen Jian


Posted on 2013-08-04 12:00 in Wireless Dev


规则是: 引用    1. 程序必须在5秒内响应用户的动作    2. Broadcast Receiver必须在10秒内从onReceive()方法中返回 否则就会弹框提示用户强制关闭程序。


Android UI的一些基本概念

by Chen Jian


Posted on 2013-08-04 12:00 in Wireless Dev


Activity :  相当于窗体 View :  相当于控件. View使用了Composite模式, 所以 ViewGroup - 用来组合View的东西,也是一种View. 比如Layout本身也是View. Fragment : 可以视为一种特殊的Activity, 但它只能被包含在其他Activity中。 相当于PHP/JSP中被<inclue>的page.