分类 Java 下的文章

APK无源码调试

这年头,apk全都是加密啊,加壳啊,反调试啊,小伙伴们表示已经不能愉快的玩耍了。静态分析越来越不靠谱了,apktool、ApkIDE、jd GUI、dex2jar等等等等已经无法满足大家的需求了。那么问题就来了,小伙伴们真正需要的是什么?好的,大家一起呐喊出你内心的欲望吧,我们的目标是——“debug apk step by step”。

先来说说那些不靠谱的工具,就是今天吭了我小半天的各种工具,看官上坐,待我细细道来。

阅读全文

Libgdx重构

解决方案是将字符列表转换为字形列表,然后渲染字形。BitmapFontData,BitmapFont和BitmapFontCache类已被重构以支持这样做。这是它的工作原理:

以下是可能会影响您的更改:

很抱歉,如果您最终需要稍微更改代码,但这样可以使我们在将来拥有适当的字体渲染。HarfBuzz和FreeType可以让我们以任何语言呈现文本,这是一件很大的事情!

但等等,还有更多!许多语言不需要字形整形 - 它们可以使用字符到字形的一对一映射 - 但是它们有一个不同的问题:它们的形式太多,比我们希望适合纹理。这里只有几个解决方案,您需要快速渲染。

将整个句子渲染到图集而不是单个字形是一种方法,但这对于文本输入或文本变化不是很大。像遇到的一样,渲染字形可能是我们能做的最好的。如果字形图集被填满,我们可以添加地图页面(不好用于绘图调用)或清空地图集纹理并重新开始(如果屏幕中包含的字形数超过单个页面,则失败)。

在飞行中渲染字形意味着使用FreeType。我们已经有FreeTypeFontGenerator来使用FreeType生成BitmapFont,但现在可以让它生成一个“增量”字体。当查询尚未呈现的字形的字体时,会将其呈现为字形图集。

顶部的红色框是字形图集页(有目的地做出很小的测试),下面的文本是使用这些字形渲染的。将来可以实现更好的打包(例如,天际线变体),现在它像以前一样使用PixmapPacker。

看看这是否有助于libgdx在中国得到更好的应用,目前cocos2d-x被广泛使用将是有趣的。有趣的是,cocos2d-x似乎对字体渲染使用“标签”方法,其中整个句子呈现给后缀纹理而不是单个字形。

阅读全文

Android控件操作-二十四章经

张亚运,男,江苏徐州人,现供职于华为上海研究所。爱技术,研究生期间专注 Android 学习及应用开发,现已上架三款 App,有两款在开发中。爱分享,在 CSDN 发表博文四百余篇,获CSDN认证专家、极客学院Wiki专栏作家,并在github 分享多款源码。爱写作,代表作《Android百战经典》、《Android实战简易教程》等。假如你也是同道中人,可以和我联系:291214603@qq.com。

写下本系列文章的初衷是为了帮助更多 Android 的初学者可以尽快的进入角色,通过编写一些简单可行的代码,可以大大增加自己的兴趣和信心,同时也会加深对Android的学习和理解。做技术,就是要动手、要实战。文章中提供了较为详细的源码,大家可以写看一遍,理解后自己动手,这样可以快速入门 Android 开发。希望大家都能通过本系列文章得到提升。

为了更好的理解和学习本书,我希望你具有如下知识:

Java SE :Android开发语言是Java,为了更好地理解和开发Android,你应该具有Java基础知识,对一些常用的类和方法应该熟悉。

TextView是Android中最常用的控件,主要承担文本显示的任务,任何APP都不可避免的会用到它。同时,TextView的属性和方法在所有控件中也是算比较多的,我们没必要也很难记住所有属性和方法,在需要时查找API即可,这也是“带你去看API”模块设立的目的。

TextView常用属性和方法参见下表:

这里写图片描述

使用表中部分属性展示一下运行效果,API中还有一些不太常用的属性和方法,读者可以自行运行测试其效果。下面结合一个小实例对上面的属性进行学习,代码如下:

阅读全文

AndroidStudio配置

目录 (Table of Contents)

[TOCM]

[TOC]

showline.png

line%20nu.png

linenumb3.png

ps:在编辑区域最左侧右键选中 Show line numbers 也可以让当前打开的文件显示行号,不过这是一个临时设置,当前文件关闭后便失效。

Android 开发中,我们通常会使用驼峰命名法对变量进行命名,但是当我们通过 Ctrl + Left / Right 键改变字符选择区域的时候 Android Studio 默认不支持‘驼峰’单词的选择。

tuof1.gif

tuof2.gif

tuof3.png

注意:如果你仍然希望当鼠标在单词上双击之后选中整个单词,需要作如下设置:

我们通常会遵循 Android 官方关于编码风格的指导来进行字段命名。在 Android 源码中我们可以看到通常成员变量都是以‘m’开始。其实Android Studio 可以自动在帮我们生成字段名称的时候加上自定义的前缀,如:

filed1.gif

filed2.png

在 Android Studio 中,我们可以通过 Alt + Enter 和 Control + Alt + O 进行导包和清除无用导包,但我们都生活在2016年了,这些事情应当快速自动完成。

import1.gif

阅读全文