Android 2048游戏开发教程(四):游戏逻辑
分类标签: View
上一节中,我们已经成功的将卡牌添加到了游戏中,但只是显示在了界面上,并没有保存下来。我们在GameView中定义一个二维数组用来保存游戏界面的卡牌。 接下来,我们需要将初始化时候添加的卡片添加到cardMap数组中,如下图所示:... 这样一来,我们就将游戏界面记录下来了。阅读全文 »
Android存储系统—Vold与MountService分析(二)
分类标签: Socket
回顾:前贴主要分析了Android存储系统的架构和原理图,简要的介绍了整个从Kernel-->Vold-->上层MountService之间的数据传输流程,在这样的基础上,我们开始今天的源码分析! 【源码分析】 1. Vold的main函数 Vold也是通过init进程启动,它在init.rc中的定义如下:...阅读全文 »
Android Studio(十九):突破64K方法限制
分类标签: Android Studio
当应用代码和库代码代码超过64K限制时,早期版本的构建系统会出现如下提示:... APK文件包含由DEX文件组成的可执行的字节码文件,包含运行app编译后的代码。DEX文件有一个65535个方法的限制,如果超过这个限制,会在构建的时候报错。这些方法包含Android Framework方法,库方法和你自己写的方法。因为65535=64*1024,所以这个限制又被称为64K限制。阅读全文 »
Android手机卫士(十二):九宫格使用
分类标签: GridView
采用GridView来实现,和ListView使用方式类似,列数(3列) 首先添加GridView 数据填充(模块名称,模块图片) 新建一个布局文件gridview_item.xml阅读全文 »
Android 2048游戏开发教程(三):创建界面
分类标签: View
首先,我们要使得我们的程序能够判断用户的手势,一共为上、下、左、右四种。在GameView类中添加如下代码: 接下来,我们来分析一下如何进行手势判断。首先,用户的手势输入应该有两个数据,一个是按下的屏幕位置,一个是放开的屏幕位置。那么我们只需要计算横向和竖向坐标差的绝对值,绝对值较大的一个方向则是用户需求的方向。至于横向中的左右和竖向中的上下,我们可以通过按下和放开的位置的大小进行比较得出。阅读全文 »
Android存储系统—Vold与MountService分析(一)
分类标签: SD卡
Android的存储系统主要由:SystemServer进程中的MountService和Vold进程中的VolumeManager组成。 它们管理着系统的存储设备,执行各种操作,如:mount、unmount、format等。 图1 Android存储系统架构图 图2 Android存储系统原理图 【重要组成分析】 1、NetlinkManager阅读全文 »
Android Studio(十八):压缩你的代码和资源
分类标签: Android Studio
为了让你的APK文件尽可能的小,你需要在构建的时候开启压缩来移除无用的代码和资源。 代码压缩可在ProGuard中使用,可以检测和清除无用的类,变量,方法和属性,甚至包括你引用的库。ProGuard同样可以优化字节码,移除无用的代码,并且模糊剩下的类,变量和方法。代码模糊可以让增加APK逆向工程的成本。 资源压缩可在Andorid的Gradle插件中使用,可以清除你打包的APP中无用的资源,包阅读全文 »
一大波免费下载的Android电子书来了
分类标签: Android好书推荐
▍Android电子书第一期 ▌ 深入理解Android内核设计思想 - 林学森 - 人民邮电出版社 深入解析ANDROID虚拟机 深入理解Android:卷II 邓凡平著 PDF扫描版 深入理解Android:卷I 邓凡平著 PDF扫描版 Google Android SDK开发范例大全(余志龙)PDF中文扫描版 ▍Android电子书第二期 ▌阅读全文 »
Android手机卫士(十一):自定义控件(获取焦点的TextView)
分类标签: TextView
本文将实现标题栏下面的textview中的文字跑马灯的效果,就是将一行文字水平循环滚动,效果如下:... 如果其他地方也需要这样的跑马灯效果,复制代码比较麻烦。这里使用自定义控件来实现滚动效果(其实就是重新原有的TextView,让其一直能够获取焦点即可) 新建一个包view,专门放自定义控件文件阅读全文 »
Android 2048游戏开发教程(二):基本设置
分类标签: Layout
首先,我们需要修改一下应用的图标。准备一个png格式的图标文件,如下图所示: 接下来,找到上一节中保存项目的位置,依次展开文件夹中的2048/Game2048/app/src/main/res目录,如下图所示: 分别将刚才制作完成的图标文件更改名字为ic_launcher.png,并且修改尺寸为144*144、96*96、72*72、48*48,分别放入drawable-xxhdip、dra阅读全文 »
Android笔记-Activity的生命周期
分类标签: Activity
应用程序从创建到结束的过程就叫作应用程序的生命周期。所有Android的组件都有自己的生命周期,下面介绍的是,Activity生命周期的方法。 Activity生命周期的方法 Android跟踪所有运行的Activity对象,将这些对象统一放进Activity栈中,如图1所示。 图1 Activity栈 从上图可以看出,一个Activity的创建到销毁,会经历多种状态,这些状态会相互转换阅读全文 »
Android Studio(十七):配置你的Build Variant
分类标签: Android Studio
每个版本的build variant代表了你可以构建的每一个版本。虽然你未直接配置build variants,你可以通过配置build type和product flavor。 比如,一个demo的product flavor可以声明不同的特性和设备需求,比如自定义源码,资源和最小的API。但是debug的build type却有不同构建和打包设置,比如调试选项和签名文件。阅读全文 »
Android 2048游戏开发教程(一):创建项目
分类标签: Android Studio
本项目已托管在GitHub上:2048,读者可以自行查看。 由于没有Mac,因此只能介绍关于Android平台相关的开发知识。然而进行Android开发之前,需要搭建Android开发环境,这一步比较有难度的,主要是各个软件的配置较为麻烦,使得很多初学者望而却步。目前主流的IDE有Eclipse以及Android Studio,本文将以Android Studio作为集成开发环境,对2048游戏阅读全文 »
Android 6.0动态权限申请教程
分类标签: Permission
PermissionManage 介绍 如果设备运行的是 Android 6.0(API 级别 23)或更高版本,并且应用的 targetSdkVersion 是 23 或更高版本,则应用在运行时向用户请求权限。 如果设备运行的是 Android 5.1(API 级别 22)或更低版本,并且应用的 targetSdkVersion 是 22 或更低版本,则系统会在用户安装应用时要求用户授予权阅读全文 »
Android Studio(十六):配置你的构建
分类标签: Android Studio
Android构建系统编译你的app资源和源码并且打包到APK中,你可以用来测试,部署,签名和发布。Android Studio使用Gradle,一个高级的构建套件,来自动化和管理构建进程,同时可以允许你灵活的自定义构建配置。每个构建配置可以定义它自己的代码和资源集合。 Gradle和Android插件独立于Android Studio运行。阅读全文 »
Android美女拼图游戏开发
分类标签: 图像处理
概述 游戏下载试玩 把图片切分很多份,点击交换拼成一张完整的;这样关卡也很容易设计,3*3;4*4;5*5;6*6;一直下去 效果 ;加了个切换动画,效果还是不错的,其实游戏就是自定义了一个控件,下面我们开始自定义之旅 游戏的设计 首先我们分析下如何设计这款游戏:...阅读全文 »
Android Annotation基础教程
分类标签: Java
Java Annotation Java 1.5中开始引入的Annotation,类似于注释的一种技术,参考了一些网上的译法,姑且译成注解吧。 我们在开发中,用得最多的Annotation莫过于@Override了。大家天天用,可能很多同学却没有关注过其背后的细节,我们看一下它的定义:...阅读全文 »
Android Studio(十五):在物理设备中运行APP
分类标签: Android Studio
当你构建一个Android应用时,在发布给用户之前,在物理设备上测试一下你的应用是非常必要的。 你可以使用Android设备作为运行、调试和测试应用的环境。包含在SDK中的工具让你在编译完成后在设备中安装和运行应用更加方便。你可以直接从Android Studio中安装你的应用到设备中,或者用ADB在命令行安装。 开启设备中的开发者选项阅读全文 »
Android开发我这样学(附电子教程下载地址)
分类标签: Android好书推荐
本文由一Android开发网友所写,详细列举了几个学习途径,总有一款适合你。 俗话说:工欲善其事必先利其器,如何少走弯路,学好安卓,下面谈谈我的心得。 本人从事java web开发四年,5个月前从原公司辞职,进入一家公司从事安卓开发,刚开始也是不知道如何下手,感觉自己从事web开发学习安卓肯定不会很难,想着在一个月之内搞定安卓,成为安卓高手阅读全文 »
Android手机卫士(十):home界面布局
分类标签: 动画
本文实现当从splash界面进入hone界面的时候,产生一种渐进淡入的动画效果,在onCreate中调用一个方法initAnimation(),...其中rl_root在类中定义 private RelativeLayout rl_root; 其中rl_root为splash界面相对布局的id:android:id="@+id/rl_root" 于是在初始化UI方法中添加相应的代码阅读全文 »