技术博客
  • 归档
  • 分类
  • 标签
  •   
  •   
Code talks.

从源码分析 Android 中 ViewPager 的 Adapter 数据不更新问题

在 Android 中使用 ViewPager 时,经常需要动态增删 View 或者 Fragment ,但是当更新完数据并调用 notifyDataSetChanged() 方法之后,发现数据并没有更新。 对于一般类似组件的 BaseAdapter 比如 ListView 、GridView 等只需要调用 notifyDataSetChanged() 方法,就会直接触发数据更新。因此,很多人认为

2013-09-29
编程
Android

禁用 Android 中 WebView 的默认高亮选中效果

Android 中嵌入的 WebView 有个默认的橙色高亮选中效果,比较影响用户体验,如果能去掉这个效果,那么用户就几乎完全感受不到和 native 页面的差异了。 首先想到的就是 WebView 的 setClickable() 和 setFocusable() 两个方法,发现没有任何效果。然后发现 WebSettings 还有个 setLightTouchEnabled() 方法,试过发现也

2013-09-28
编程
Android WebView CSS

Android 程序的反破解技术

我们知道,利用 apktool 可以将 apk 反编译为 smali 文件,利用 dex2jar 也可以将 apk 反编译为 jar 文件。这样的话,破解者就可以根据关键代码(比如资源文件中的字符串),修改代码,然后再利用 apktool 重新编译,并运行 signapk.bat 重新签名打包为己所用,而你辛辛苦苦几个月的努力一下回到解放前!

2013-08-24
编程
Android 安全

Android 中使用 Proguard 混淆 Java 代码

容易被反编译是 Java 、C# 这类解释型、托管型语言的通病,为了保障代码安全,通常采取的措施主要有两种: 核心逻辑采用难于被反编译的 native 语言(C / C++)编写,而 C# 通过 DllImport 等方式、Java 通过 JNI 都可调用 native 代码。 对代码进行混淆,C# 有 VS 自带的工具 Dotfuscator ,第三方工具有 DNGuard HVM 、IL

2013-08-08
编程
Android Proguard 安全

Android 中通过 URI 实现 Web 页面调用本地 App

HTML 5 和本地 App 各有所长,现在公司的项目中也大量采用 HTML 5 做活动页面,这样本地代码和 HTML 5 的交互就是必须的。 说到 Android 端 Java 代码和 Web 端 HTML / JS 代码的交互,你可能最先想到的就是 WebView 的这两个方法: loadUrl(String url); addJavascriptInterface(Object obje

2013-08-06
编程
Android WebView JavaScript

解决 Android 中 AsyncTask 的多线程阻塞问题

Android 开发中执行耗时操作并更新 UI 时,通常有三种方式: 直接调用 runOnUiThread(new Runnable(){}) ,使用简单,但不能在 Activity 之外的环境使用,如 View 、Dialog 等; 使用 AsyncTask 实现,通过 onPreExecute()、doInBackground() 、onPostExecute 三个方法能方便的分开 UI

2013-07-26
编程
Android

Android 平台 WebP 图片编码/解码的 native 实现

这两天公司在评估将图片切换为 WebP 格式,以节省带宽。 说实话,之前对 WebP 知之甚少,之前开发 Android ,只做过 SVG 相关的处理。 WebP 是 Google 提出的一种替换 png 和 bmp 的图片格式,根据 Google IO 2013 上的介绍,JPEG / PNG 转换为 WebP 格式后,文件大小平均可以减少 30% ,而加载时间可以减少三分之一。

2013-07-10
编程
Android WebP 图像编解码

Android 应用中未捕获异常的处理

Android 应用开发中常常需要捕获全局异常,以进行一些个性化的处理,如弹出提示,上传错误报告等; 一般的做法是实现 UncaughtExceptionHandler 接口,并重写 uncaughtException() 方法:

2013-07-02
编程
Android

macOS 下搭建开发环境

上周四家里遭遇入室盗窃,用了快四年的 Lenovo G450A 还有刚买的 HTC 8S 悉数被盗,只剩下一台三星 S5830 。 这一天不写点代码就感觉不自在,实在忍受不了每天回家只能看电视的无聊,果断入手了一台 Macbook Pro 。 之前用的是 Win8 + Ubuntu 12 双系统,第一感觉就是:原来 macOS 被 Ubuntu 山寨了,特别是 UI 层面。 macOS 的内核 D

2013-06-25
编程
macOS Ruby Octopress

macOS 实用命令行

macOS 内核 Darwin 基于 Unix,因此 ps 、 ping 、 tracert 之类的命令不在本文讨论之列。 本人使用时间不长,这里仅列出目前经常使用到的。

2013-06-22
编程
macOS
1234

搜索

© 署名-相同方式共享