羊皮书APP(Android版)开发系列
JewWang
拥有一颗持之以恒的心,一切都不是问题。
展开
-
羊皮书APP(Android版)开发系列(十一)客户端与服务器端时间校准
APP开发人员经常会遇见一个bug就是,APP显示的时间不准,或者说APP时间与服务器时间不一致,会导致数据请求、数据显示等各种问题。这时候我们就需要一种机制来解决时间不一致的问题。解决方案如下: 服务器端永远使用UTC时间,包括参数和返回值,不要使用Date格式,而是使用UTC时间1970年1月1日的差值,即long类型的长整数。APP端将服务器返回的long型时间转换为GMT8时区的时间,额原创 2016-03-16 09:16:58 · 2580 阅读 · 0 评论 -
Android 深入(二)- 利用ToolBar实现动态主题
利用ToolBar实现主题切换原理:切换主题时,将颜色值存储到Preference中,同时更新主题样式。再次打开App读取Preference对应的颜色值,设置主题样式即可。 * 主要使用方法如下: 1)设置ToolBar的背景颜色:toolbar.setBackgroundColor()。 2)设置窗体状态栏透明:getWindow().setStatusBarColor()。 3)设置窗原创 2017-03-01 11:13:46 · 1743 阅读 · 0 评论 -
羊皮书APP(Android版)开发系列(十)Android开发常用工具类
羊皮书APP(Android版)开发系列(十)Android开发常用工具类日期格式化工具package cn.studyou.baselibrary.utils;import java.text.DecimalFormat;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Dat原创 2016-03-15 09:30:58 · 1259 阅读 · 0 评论 -
羊皮书APP(Android版)开发系列(一)Icon图片生成神器
app icon图片生成神器可以帮助我们节省时间,提高工作效率。工欲善其事,必先利其器,我们要开发一款app,首先我们肯定要知道app的名字,其次我们就要准备app的logo图片,而这个logo图片又有多种尺寸,包括Android和IOS,需要十多种不同尺寸大小的icon,这个时候,如果有美工专门负责提供,那我们就可以Copy到项目中直接使用,但是,美工提供这些图片的时候,如果是一张一张生成的,那工原创 2016-03-08 09:58:33 · 731 阅读 · 0 评论 -
羊皮书APP (Android版)开发系列(二)日志工具类
在App开发过程中,很重要的一个调试工具就是日志的打印,Android系统自带的日志打印文件,看起来并不是很直观。这里我们自己对原生Android 日志做一个封装,方便我们使用。为了更方便,更简洁,将日志文件工具命名为L.java,代码如下:package cn.studyou.parchment.log;import android.text.TextUtils;import android.u原创 2016-03-09 09:15:33 · 605 阅读 · 0 评论 -
羊皮书APP(Android版)开发系列(四)全屏幕延迟启动
羊皮书APP(Android版)开发系列(四)全屏幕延迟启动 APP启动时经常会有一张启动图片,有几秒钟的展示时间,做法很简单,使用Handler的postDelayed方法即可。配置全屏:在styles.xml中定义Theme,代码如下:<!--设置-全屏--><style name="NoTitleFullscreen" parent="Theme.AppCompat.Light.NoA原创 2016-03-11 09:02:10 · 715 阅读 · 0 评论 -
羊皮书APP(Android版)开发系列(五)APP引导页实现
羊皮书APP(Android版)开发系列(五)APP引导页实现 github上有一个引导页感觉不错,就拿来使用,地址:AppIntro导入AppIntro库的方法(两种):方法一: 到github上下载AppIntro,解压,将library文件夹拷贝到自己项目的根目录下,重命名为app____intro____library,在settings.gradle文件中添加:include ‘:ap原创 2016-03-11 16:03:50 · 1183 阅读 · 0 评论 -
羊皮书APP(Android版)开发系列(六)几个工具的选取
Gson框架:是Google封装的一款json对象处理库,个人偏好选择Gson。当然还有比较知名的处理库,如:Jackson、fastjson。 既然是一款APP,那避免不掉要和服务器交互,服务器提供接口,用于提供数据,通常服务器返回数据的格式都是使用json格式,使用Gson来解析json格式很方便,fromJson()和toJson()是两个常用的方法。GsonFormat插件:是一款andr原创 2016-03-12 21:49:14 · 653 阅读 · 0 评论 -
羊皮书APP(Android版)开发系列(七)Android沉浸通知栏
Android沉浸通知栏,有一个开源库SystemBarTint,效果如下: 使用方法:在Activity中添加相关代码,Demo如下:public class MatchActionBarActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) {原创 2016-03-12 21:51:09 · 821 阅读 · 0 评论 -
羊皮书APP(Android版)开发系列(九)通过Wifi调试程序
很多时候使用数据线直接连接电脑显得很不方便,这个时候我们就可以考虑通过WIFI来调试我们的程序,具体方法如下:手机连接电脑,并且手机启用usb调试的模式,跟平常使用usb调试程序一样的步骤。进入android-sdk的文件夹,就是平时要你重启adb的地方,即:platform-tools,我的地址为:/Users/wangjie/wangjie/android-sdk/platform-tools原创 2016-03-14 08:36:07 · 586 阅读 · 0 评论 -
羊皮书APP(Android版)开发系列(八)用户登录
用户登录功能是APP中最最常见的功能,看似简单,但也有一些需要注意的地方。1.用户登录接口调用设计 用户登录模块,必然涉及到服务器接口的调用,而在开发的过程中经常会遇见APP着急使用接口,而服务器接口开发人员还未准备好相应接口的情况,这时候做为App开发者,我们要为自己设计专门的服务类,约定服务器返回Json数据的格式,进行开发。下面以登录接口为例来看下接口的调用。定义接口配置xml文件url原创 2016-03-13 12:56:31 · 697 阅读 · 0 评论 -
羊皮书APP(Android版)开发系列(十三)Android 邮件发送的实现
在app开发过程中,邮件发送功能也是一个常见的功能,用于反馈一些app信息,严重错误等。这里使用javamail-android来实现,使用javamail-android需要下载三个jar包,分别是:additionnal.jar、mail.jar、activation.jar,下载地址是:https://code.google.com/archive/p/javamail-android/dow原创 2016-03-21 17:37:26 · 2200 阅读 · 0 评论 -
羊皮书APP(Android版)开发系列(十二)Android Socket UDP大文件传输
业务需求是:通过电脑端(网页或客户端形式)发送文件到Android的客户端,下面是使用UDP实现的一个简单的文件传输Demo,因UDP为不可靠传输,可能会丢包。服务器端发送本地文件,代码如下:package client;import server.udp.UDPUtils;import java.io.IOException;import java.io.RandomAccessFile;i原创 2016-03-17 09:37:34 · 2231 阅读 · 3 评论 -
羊皮书APP(Android版)开发系列(三)APP引导页启动控制
基本上一个完整的APP都会有一个引导页,在APP首次安装或APP更新后第一次打开时显示,这个逻辑是很通用的,所以写成一个工具类,方便使用。APP启动页逻辑有三种情况: 当APP被首次安装后打开时显示引导页。当APP更新版本后,第一次打开时显示引导页。当APP再次启动时,跳过引导页。原创 2016-03-10 08:59:20 · 713 阅读 · 1 评论 -
Android 深入(一)- 自定义View之BottomTitleImageView
Android 深入(一)- 自定义View之BottomTitleImageView 通过本文你可以了解到自定义View的知识,同时你可以学会如何写一个属于自己的View。同时希望能够通过这个例子重新学习下自定义View的知识。Android 开发到一定程度的时候,可以独立开发一款App,一些基本的知识都有使用。这时候必须进行自我提高,深入的研究下Android的各个方面,不然也只能停留在初级原创 2017-03-01 11:11:13 · 331 阅读 · 0 评论