Mobile Dev

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

下载adt sdk后,直接用里面的eclipse加装subclipse死活装不上,试了各种方式都不行;换装subversive也装不了。 于是只好先下个普通的eclipse, 然后装subclipse很顺利; 但通过update site的方式安装adt插件又死活装不了,因为adt update site的xml叫site.xml, 而eclipse只认content.xml; 只好改用archive方式,下载adt插件,然后安装,但在安装时又出现 "Computing alternate solutions, may take a while", 暴慢无比; 只好重装,去掉“NDK”组件,突然就好了。 p.s. 今天为别人装了一次,遇到"calculate dependencies"一直停在 2%处,后来去掉 "Contract all update sites" before installing your selection"就好了

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

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. 如果说"R"类找不到,则检查一下res目录、AndroidManifest.xml是不是有错误; 如果还不行,看看project.properties里指定的target是否跟sdk版本一致。

手机访问内网无域名站点

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

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

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

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

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

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

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

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

看代码研究了一下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)   b. http response: 服务端返回一个字符串,称为userToken. 它的值其实就是上面说的cookie的值 3. 最后把userName和userToken存入Settings 登录后使用用户身份 使用用户身份时,会简单地把token当成cookie来用:把userToken从Settings中取出,构建好CookieStore, 然后塞到http client中,最后发出请求 API Apache HttpClient 及其Cookie API  +  Android SharedPreference 评价 这个方案实际上是以Cookie作为客户端和服务端交互语义的载体。好处是,服务端基本上只需写一套以cookie为核心的认证代码,就可以同时满足PC和APP的需要。

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

安装时获取用户授权APP做某种事:<uses-permission android:name="android.permission.CAMERA" /> 安装时指定硬件要求: <uses-feature android:name="android.hardware.camera" android:required="true/false" /> 运行时发送隐式Intent之前看看这个intent是否被支持. 关键API:  intent.resolveActivity(packageManager) == null ? ; 运行时确认硬件可用性:getPackageManager().hasSystemFeature(…); 运行时判断API Level:  if(android.os.Build.VERSION.SDK_INT > 14) …

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

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