自学Android一个月多了,一直在工作之余零零散散地看一些东西.感觉经常使用的东西都有些了解了,可是一開始写代码总会出各种奇葩的问题.感觉还是代码写得太少.这样继续杂乱地学习下去进度也太慢了,并且学一点忘一点,效率太低.所以从今天開始.我打算实际做点小程序.在开发中不断地学习吧. 恰好近期Android上有个游戏2048比較火,所以就那这个练手吧. 由于对Android还没有太深入的了解,所以我写的东西都会比較基础,所以须要看一些高阶开发的朋友能够绕过了,也希望能够有高手们给我一些指导和建议,…
今天是尝试開始Android版2048小游戏的第二天.在今天,我主要学习了怎样获取用户在屏幕滑动的手势,以及对布局进行了一些小小的完好. 获取用户操作的手势(比方向左滑.向右滑等)主要用到了GestureDetector.这个类能够帮助我们获取一些常见的用户对屏幕的操作.比如单击.双击.按压.拖动等.详细的使用说明.大家能够查API也能够去百度,或者看我之前有一篇使用GestureDetector实现的小样例(http://blog.csdn.net/xiapinnong/article/det…
这一篇的内容主要是在上一篇的基础上,增加分数计算(包含当前分数和最高分数).游戏结束的推断以及游戏界面的重置这三个部分的功能. 一.分数的计算和保存          首先,2048这个游戏的分数包含,两个部分当前游戏分数和最高分,当前的游戏分数我们能够保存在程序的变量中,由于它仅仅对当前这盘游戏实用,游戏结束就能够清空:而最高分则须要以一种方式保存在手机中,这样当我们下次再打开游戏时,还能读取到之前操作的最高分. 1.当前分数         当前分数的计算还是非常easy.我们仅仅须要在每次…
近期工作比較忙,所以更新的慢了一点,今天的主要内容是关于Android版2048的逻辑推断,经过本篇的解说,基本上完毕了这个游戏的主体部分. 首先还是看一下,我在实现2048时用到的一些存储的数据结构. 我在实现时,为了省事存储游戏过程中的变量主要用到的是List. 比方说:List<Integer> spaceList = new ArrayList<Integer>();这个spaceList主要用于保存.全部空白格的位置,也就是空白格在GridLayout中的位置(从0到15…
本篇的内容是,在前一篇的基础上添�了撤销的功能.撤销事实上就是将当前的用户界面恢复到这次滑动值前的样子.我实现撤销的主要原理是,将每次滑动后界面上的格子和相应的数字记录下来,当然还有分数,把这些数据写入一个栈中,然后点击撤销操作的时候,将栈顶pop掉,读取下一个栈中的对象,并依据对象中存储的数据又一次绘制界面. 以下是我用于存储每次界面情况的类,在这个类中保存了界面中基本的三个数据,空白格.数字格和当前的分数. package com.example.t2048; import java.uti…
Bmob移动后端云服务平台--Android从零開始--(二)android高速入门 上一篇博文我们简介何为Bmob移动后端服务平台,以及其相关功能和优势. 本文将利用Bmob高速实现简单样例,进一步了解它的强大之处. 一.准备工作 1.注冊Bmob账号 在网址栏输入www.bmob.cn或者在百度输入Bmob进行搜索,打开Bmob官网后.点击右上角的"注冊",在跳转页面填入你的姓名.邮箱.设置password,确认后到你的邮箱激活Bmob账户.你就能够用Bmob轻松开发应用了. 2.…
TabHost主要特点是能够在一个窗体中显示多组标签栏的内容,在Android系统之中每一个标签栏就称为一个Tab.而包括这多个标签栏的容器就将其称为TabHost.TabHost类的继承结构例如以下所看到的: java.lang.Object    ↳ android.view.View      ↳ android.view.ViewGroup        ↳ android.widget.FrameLayout          ↳ android.widget.TabHost  经常用…
RelativeLayout相对布局 RelativeLayout是一种相对布局,控件的位置是依照相对位置来计算的,后一个控件在什么位置依赖于前一个控件的基本位置,是布局最经常使用,也是最灵活的一种布局. 我们以下通过XML布局和Java代码布局两种方式分别举例: 一.XML方式布局 1.创建一个空白Activity 2.打开"res/layout/activity_main.xml"文件,改动成下面代码. (1)第①部分 <?xml version="1.0"…
拖动条能够由用户自己进行手工的调节,比如:当用户须要调整播放器音量或者是电影的播放进度时都会使用到拖动条,SeekBar类的定义结构例如以下所看到的: java.lang.Object    ↳ android.view.View      ↳ android.widget.ProgressBar        ↳ android.widget.AbsSeekBar          ↳ android.widget.SeekBar 经常用法 public SeekBar(Context con…
在android中有五种保存数据的方法.各自是: Shared Preferences Store private primitive data in key-value pairs. 相应属性的键值对属性文件存储 Internal Storage Store private data on the device memory. 设备内存存储 External Storage Store public data on the shared external storage. 外部存储器存储,如内…
MediaPlayer除了能够对音频播放之外,也能够对视频进行播放,可是假设要播放视频仅仅依靠MediaPlayer还是不够的.还须要编写一个能够用于视频显示的空间,而这块显示空间要求能够高速的进行GUI的更新,并且能够在渲染代码时进行无堵塞的的对GUI进行渲染,而假设要完毕此种功能,则必须依靠android.view.SurfaceView组件完毕.SurfaceView组件封装了一个Surface对象,而不是一个Canvas对象,使用Surface能够完毕对后台线程的控制,对于像视频.3D图…
在Android系统之中.菜单一共同拥有三类:选项菜单(OptionsMenu).上下文菜单(ContextMenu)和子菜单(SubMenu). 今天我们就用几个样例来分别介绍下菜单的使用 activity类中长见的方法 1 public void closeContextMenu() 普通 关闭上下文菜单 2 public void closeOptionsMenu() 普通 关闭选项菜单 3 public boolean onContextItemSelected(MenuItem ite…
SlidingDrawer是一种抽屉型的组件.当用户选择打开此抽屉之后,会得到一些能够使用的"程序集".这样当一个界面要摆放多个组件的时候,使用此组件就能够非常好的解决布局空间紧张的问题,SlidingDrawer类的定义例如以下所看到的: ava.lang.Object    ↳ android.view.View      ↳ android.view.ViewGroup        ↳ android.widget.SlidingDrawer 经常使用的方法 1 public…
Data Binding自从去年的Google I/O公布到至今,也有近一年的时间了.这一年来,从Beta到如今比較完好的版本号.从Android Studio 1.3到如今2.1.2的支持,能够说Data Binding已经是一个可用度较高,也能带来实际生产力提升的技术了. 然而其实,真正使用到Data Binding的公司.项目仍然是比較少的. 可能是出于稳定性考虑,亦或是对Data Binding技术本身不够熟悉,又也许对新技术没什么追求. 我司在新的产品中就全面使用了Data Bindi…
ImageSwitcher组件的主要功能是完毕图片的切换显示,比如用户在进行图片浏览的时候.能够通过button点击一张张的切换显示的图片,并且使用ImageSwitcher组件在每次切换的时候也能够为其添加一些动画的效果,此类定义例如以下: java.lang.Object    ↳ android.view.View      ↳ android.view.ViewGroup        ↳ android.widget.FrameLayout          ↳ android.wid…
相对布局管理器指的是參考某一其它控件进行摆放,能够通过控制,将组件摆放在一个指定參考组件的上.下.左.右等位置,这些能够直接通过各个组件提供的属性完毕. 以下介绍一下各个方法的基本使用 No. 属性名称 相应的规则常量 描写叙述 1 android:layout_below RelativeLayout.BELOW 摆放在指定组件的下边 2 android:layout_toLeftOf RelativeLayout.LEFT_OF 摆放在指定组件的左边 3 android:layout_toR…
所谓的嵌套布局就是在一个文件里嵌套多个布局文件 <span style="font-size:18px;"> <LinearLayout android:layout_width="match_parent" android:layout_height="fill_parent" android:orientation="vertical" > <FrameLayout android:layou…
这两个组件比較交单,大家看下会使用即可了 XML文件配置 <span style="font-size:18px;"><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_pa…
因为手机屏幕的高度有限.所以假设面对组件要显示多组信息的时候,ScrollView视图(滚动视图)能够有效的安排这些组件,浏览时能够自己主动的进行滚屏的操作. android.widget.ScrollView类继承结构例如以下所看到的: java.lang.Object    ↳ android.view.View       ↳ android.view.ViewGroup        ↳ android.widget.FrameLayout          ↳ android.widg…
android.graphics.Bitmap(位图)是Android手机中专门提供的用于操作图片资源的操作类,使用此类能够直接从资源文件之中进行图片资源的读取.而且对这些图片进行一些简单的改动. 经常使用的方法 1 public static Bitmap createBitmap (Bitmap src) 普通 复制一个Bitmap 2 public static Bitmap createBitmap(Bitmap source, int x, int y, int width, int…
上节课,也就是昨晚啦,我们学习到从零開始学Swift之Hello World.那一节仅仅有一句代码,大家会认为不够过瘾. 那么这节课,就给大家来多点瘾货吧! 先上图! //var 代表变量的类型, start 代表变量的名称. "Hello" 代表变量的值. var start = "Hello" var dot = " , " var end = "world!" // let 是什么意思呢? let total = sta…
从零開始怎么写android native service Android service对于从事android开发的人都不是一个陌生的东西,非常多人可能会认为服务非常easy. 服务是简单,由于复杂的别人做了,所以才会认为简单.我们先梳理一下服务的分类,首先有本地服务跟系统服务的区分.而在APP里写的服务大多就成为Java服务或者应用服务. /****************************************************************************…
Bmob移动后端云服务平台--Android从零開始--(一)何为Bmob 在正式的项目开发中,单client不能满足我们的需求,须要实现client与服务端的连接. 而在编写Android服务端代码时,经常有非常多问题困扰这我们.问题就来了,怎么能通过过简单的方式去实现我们复杂的流程呢?Bmob移动后端服务平台给我们创造了一个非常好的后端平台.以下就让我们一起来了解和学习Bmob. 官网地址:http://www.bmob.cn/ Android SDK:http://www.bmob.cn/…
<PHP 5.5从零開始学(视频教学版)>当当网购买地址: http://product.dangdang.com/23586810.html <PHP 5.5从零開始学(视频教学版)>源码.教学视频下载地址: http://pan.baidu.com/s/1zt9hW 内 容 简 介 本书循序渐进地介绍了PHP 5.5开发动态站点的主要知识和技能,提供了大量的PHP应用实例供读者实践.每一章节都清晰讲述了代码作用及其编写思路,使读者能在最短时间内迅速掌握PHP的应用开发技能. 全…
多谢大家关注 转载本文请注明:http://blog.csdn.net/leonwei/article/details/8880012 本文将作为我<从零開始做OpenCL开发>系列文章的第一篇. 1 异构计算.GPGPU与OpenCL OpenCL是当前一个通用的由非常多公司和组织共同发起的多CPU\GPU\其它芯片 异构计算(heterogeneous)的标准,它是跨平台的.旨在充分利用GPU强大的并行计算能力以及与CPU的协同工作,更高效的利用硬件高效的完毕大规模的(尤其是并行度高的)计…
大家好: 苹果2015WWDC大会公布了Swift2.0,它较之前的版本号Swift1.x有非常大的变化.所以我即将出版<从零開始学Swift><从零開始学Swift>将在<Swift开发指南>第1版的基础上加入Swift2.0的内容,同一时候摒弃第1版的一些不合理的内容.使得本书更加适合Swift开发人员.我将连续发一些<从零開始学Swift>的学习笔记,有兴趣者,能够看一下. 书中源码下载地址:http://51work6.com/swiftbook1.…
微软IE团队上周宣布将在IE中屏蔽旧版本号的ActiveX控件以加强IE的安全性.首先会被禁用的旧版本号ActiveX控件包括: J2SE 1.4, 低于update 43 的版本号 J2SE 5.0, 低于update 71 的版本号 Java SE 6, 低于update 81 的版本号 Java SE 7, 低于update 65 的版本号 Java SE 8, 低于update 11 的版本号 为了让用户能够有很多其它时间进行測试和准备,我们决定等到2014年9月9日再開始正式屏蔽那些旧…
Hadoop 2.7.1 (2015-7-6更新),Hadoop的环境配置不是特别的复杂,可是确实有非常多细节须要注意.不然会造成很多配置错误的情况.尽量保证一次配置正确防止重复改动. 网上教程有非常多关于Hadoop配置的,可是每个教程都相应了一个版本号信息.有一些教程也存在非常大的问题,配置环境,系统环境都没说清楚.在此我将记录下来从零搭建Hadoop2.7.1的过程,以及搭建过程中所遇到的一些问题. 一 操作环境说明 1.1 :操作系统: window8.1 1.2 :虚拟机版本号:VMw…
对于server的搭建和设置.我在这里就不再多说了.有好多前辈已经帮大家攻克了.能够參考下这篇博客 XMPPserver配置 我依照这个博客配置好了,server后,然后在网上參照代码写了一个小的demo,可是发送网络请求的时候发现没有收到验证password的回调.刚開始的时候我怀疑是自己的代码写的有问题,但总共就那几句代码.我看了N多遍.也没有发现问题的所在,后来加了几个QQ群,在群里问了一下也没有问出个所以然来,,我又開始怀疑自己的server的搭建有问题,看了上面前辈的博客.发现自己的都…
引言 在之前的文章中,我们介绍了怎样使用Scala IDE也就是eclipse中集成的Scala开发插件来进行Scala语言程序的开发,在使用了一段时间之后,发现eclipse对Scala的支持并非非常好.用户体验比較差.比方联想速度比較慢等.因为在公司一直使用的Scala开发工具是Intellij IDEA(好吧.事实上我使用Scala IDE的目的就是想试一下这两个各有什么优缺点),各方面感觉还不错,所以在此介绍一下这个开发环境. Intellij IDEA是jetbrain开发的一个IDE…