- 博客(28)
- 资源 (1)
- 收藏
- 关注
原创 【GT-安卓应用开发之MediaPlayer使用】
前言:之前做项目涉及到一个功能是播放音频,考虑到其逻辑比较简单,便采用安卓自带的MediaPlayer实现。先了解一下需求,接收三个参数分别是标题、图片地址和音频url,支持播放、暂停、重放以及拖动控制条。 要实现前言中涉及到的几个功能,我们需要先熟悉一下MediaPlayer提供的几个方法: 1、setDataSource,设置数据源,也就是前言中提到的音频u...
2018-07-31 14:21:03 479
原创 【GT-安卓应用开发之Retrofit+RxJava网络请求】
前言:今天记录一下最近使用比较多的一个网络请求框架,也就是今天的主角Retrofit+RxJava。对于RxJava其实就是对异步操作的封装,对于它的评价优劣参半(本人对其的态度比较中立,这也可以与本人的理念相关,我是一个注重结果的人,使用什么框架对我来说并不是很紧要)。而Retrofit是什么呢?它其实是对OkHttp进一步的封装,实质上还是由OkHttp完成网络的请求加载。既然这样为什么还要选...
2018-07-31 09:45:34 436
原创 【GT-安卓应用开发之图片浏览器】
前言:昨天分享了动态的发布(图片选择器),今天分享一下与之对应的一个小功能—图片浏览器。我利用ViewPager+Fragment实现这一功能,接下来一起了解一下吧。 首先,贴上两张图片,第一张是动态列表展示,第二张是点击之后进入的图片浏览器,今天只是分享这一功能的实现,请忽视界面哈哈。 接下来,便是图片浏览器的实现过程了,日常第一步界面布局,从上面贴出...
2018-07-29 15:18:41 724
原创 【GT-安卓应用开发之JSON解析】
首先,我们需要理解什么是json。那么什么是json呢?json其实是一种数据结构,json分为两种结构,一种是我们常见的以key-value形式存在的无序jsonobject对象,另外一种则是有序的集合,也被称为数组(jsonarray)。 解析json其实就是解析json字符串,从字符串中获取到我们需要的数据。解析方法有很多,在这里分享一下我最常用的两种:...
2018-07-28 14:39:14 936
原创 【GT-安卓应用开发之发布动态实现】
前言:今天开会讨论需求的时候,老板要求在最近做的APP上加一个类似朋友圈的东西,恰巧之前看到网上有很多仿朋友圈(图片多选)的例子,心血来潮就记录一下动态的发布吧。 弹出框效果如下: 我们的需求如下: 1、发布内容可包括文字与图片 2、支持拍照上传与图库选择 3、点击查看大图,长按删除当前图片 ...
2018-07-28 13:45:00 1152
原创 【GT-安卓应用开发之ViewPager+Fragment实现TAB切换】
前言:话不多说,先看效果步骤: Step1,界面布局<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andr...
2018-07-27 16:27:05 886
原创 【GT-安卓应用开发之错题率统计】
前言:对于学生的答题(学习)情况,数据是直观的表现,在实际开发中也需要涉及到大量的数据统计与分析,我们经常通过图表结合来更加直观的展现数据。 接下来,记录一下最近做的一个错题率统计与总成绩排行。整个界面是由上半部分的柱形图来展现错题记录,下半部分则是已提交(答题)人员的成绩排名。主要涉及到的几个点就是调用接口获取后台数据、数据的整理(排序)、数据的展现(包括柱形图与排行列表),我...
2018-07-27 15:51:09 669
原创 【GT-睡前感悟】
在很长一段时间里,我都在考虑我是不是该放弃技术而转向其他领域了。之所以会出现这个问题,很大的原因是自己与公司的格格不入,具体表现在下面几点: 1、公司是一个传统的市场营销型公司,在这工作技术只是一个辅助工作,感觉不到重视甚至是蔑视。技术自信在这种环境下一点点的被瓦解,找不到最初的快乐与骄傲。 2、太正式化的着装要求,在秋冬季要求穿正装、扎腰带、穿...
2018-07-26 22:01:37 495
原创 【GT-安卓应用开发之充值界面】
前言:话不多说,先上图 从上面的图片可以看出该界面由余额信息和流式布局的订单信息以及确认支付三部分组成,代码如下:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/r...
2018-07-26 17:08:15 1831 1
原创 【GT-安卓应用开发之好友快速索引】
前言:众所周知,目前大多数的社交软件好友列表都是按照一定的规则排序的,我个人比较喜欢根据全拼的首字母进行排序,这样可以方便我们查找。 今天,分享一个利用侧边字符索引栏进行检索的方法: Step1,好友列表排序 我们假定已经获得了好友列表,只不过从后台获取的数据是乱序的,需要我们手动对其进行排序 在定义User的时候需要定义一个...
2018-07-26 16:47:34 455
原创 【GT-安卓应用开发之会话列表实现】
前言:今天休假回来的第一天,突然不知道该写点什么了,打开微信也找不到人聊天。。。无聊只好翻阅聊天记录,突然有了想法:今天写一下聊天记录的实现。 我们的聊天记录是保存在本地的,利用安卓自带的轻量化数据库SQlite实现。设计思路是这样的,对于会话列表我们只保存与某一好友聊天的最后一条记录,而进入会话界面后再查询所有记录,也就是会话列表与聊天记录实际上是两个表,在这里我们一起来了解一...
2018-07-26 16:17:12 759
原创 【GT-安卓应用开发之获取序列号】
前言:很多时候,我们的程序都需要与终端进行绑定来提高安全性。想要设备跟APP(用户)进行绑定,则需要获取到设备的唯一标识,可以使用序列号进行绑定。 对于android.os.SystemProperties,大部分从事安卓开发相关工作的的应该都不会陌生,可以将其看作是系统属性,我们可以借助它获取当前设备的序列号。 虽然android.os.Sy...
2018-07-18 16:07:38 675
原创 【GT-安卓应用开发之个性拨号】
前言:一改历史惯例,先附上源码地址个性拨号 避免各位朋友下载后发现这个小程序太垃圾没什么用,接着再附上张图片吧 该程序由上部分的号码展示与下边的拨号盘两部分组成,代码比较简单在源码中也有就不在这里展示了 下面一起看...
2018-07-18 15:20:46 469
原创 【GT-安卓应用开发之随机键盘】
前言:由于之前是做的支付相关的工作,因此对于密码支付的安全比较重视,在工作中经常要接触到随机密码键盘的需求。加上明天就要放假(公司给了一周的假期,很开心~)了,今天没什么工作,就编写一个随机键盘正好回一下曾经的工作吧。 首先,先上图片(界面较粗糙,不喜勿喷): 从上面的图片中,我们大致可以看出功能很简单就是一个数字密码键盘,...
2018-07-18 14:38:10 628 1
原创 【GT-安卓应用开发之事务使用】
前言:虽然在实际开发的过程中用到事务的机会并不是很多,但是有两次接触到事务对我印象比较深刻:一次是在校期间学习数据库的时候,当时老师讲解了其ACID四个特性便感觉很有兴趣;另外一次,是在一次面试的时候,面试官问我对事务的认识。 那什么是事务呢?事务可以简单的理解为应用程序中的一系列操作,但是这些操作要么全部完成要么全部不做,这也是事务的四大特性之一(原子性);事务有两种结...
2018-07-17 14:00:48 489
原创 【GT-安卓应用开发之清理缓存】
前言:正文开始之前我们先熟悉一下两个概念:清理缓存与清理数据,所谓缓存我们可以将其看作一个临时存储,比如下载图片时生成的缓存文件;而数据则指的是用户的一些配置数据,比如SP与数据库或者一些其他配置文件。与存储类似的,在安卓中缓存也是分成内部缓存与外部缓存,所以在清除缓存的时候需要注意,以免清理不完全。 接下来,让我们来一起实现简单的清理缓存: S...
2018-07-17 09:25:34 621
原创 【GT-安卓应用开发之ButterKnife使用】
前言:第一次接触到ButterKnife还是在两年前,当时我还是使用Eclipse和MyEclipse进行JAVA后台的开发(转安卓仅仅出于个人兴趣),利用业余时间学习安卓开发并做一些简单的小程序,findViewById是我经常使用的一个方法。一次偶然的机会到北京培训,与安卓开发同事交流,并在获得他的允许后查看了他的代码。瞅了半天,竟然没有找到findViewById,却有一些@BindView...
2018-07-16 17:06:05 468
原创 【GT-应用开发之OSS存储(二)】
前言:在上一篇文章中,我们已经了解了客户端的实现过程并分享了相关的部分代码,在本文中,我们将一起了解一下STSServer。 提到STSServer,我们从整体来熟悉一下安卓直传的实现步骤: 1、APP端向应用服务器(STSServer)申请一个上传凭证(TOKEN) 2、STSServer检测APP端请求的合法性,并返回TOKEN 3、安卓端接收STSServer返回的T...
2018-07-13 15:17:20 465
原创 【GT-应用开发之OSS存储(一)】
前言:在做聊天APP的时候,需要涉及到图片消息的上传存储,传统方式会将图片存储在服务器上,但是这样做的话会给服务器造成较大的压力。很幸运,阿里云为我们提供了海量、安全、低成本、高可靠的云存储服务—OSS。 何谓对象存储OSS,阿里云给它的定义是:阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以通过调...
2018-07-13 15:00:43 640
原创 【GT-Android开发之支付宝支付】
前言:第三方支付已经成为了APP不可或少的部分,目前主流的第三方有支付宝、微信支付、拉卡拉、通联支付等,其中(起码现在)支付宝是处于领先和主导地位的。 今天就借助之前写的一个APP来回顾和熟悉下支付宝的移动支付,至于前期准备工作(如企业认证,商户开通等),在这里就不再叙述了,网上资料很多。这篇文章主要介绍支付宝移动支付的流程与实现,以及在开发过程中遇到的一些坑。。。话不多说,下面开始: ...
2018-07-12 16:20:20 569
原创 【GT-Android开发之亮度调节】
前言:上一篇文章中讲述了一下安卓音量大小调节的实现,既然如此在这一篇文章中便一起来熟悉下屏幕亮度大小的调节实现方法吧。 安卓屏幕亮度调节可以分为三个层次,分别是系统屏幕亮度调节、APP屏幕调节和当前屏幕调节,系统调节顾名思义是三者里面全局性最高的,可以把其看作系统设置中的亮度调节;APP屏幕调节,安卓系统本身是不支持统一改变某一APP的屏幕亮度的,因此并没有提供相应的API,但是可以通过修改...
2018-07-12 09:28:20 684
原创 【GT-Android开发之音量调节】
前言:大多数的视频播放软件,上下滑动都可以实现屏幕亮度和音量大小的调节。这一功能的实现主要涉及安卓的手势检测与系统服务两个技术点,在这篇文章中主要讲解如何利用系统服务实现音量大小的调节,手势检测会在后期的文章中涉及。 第一步,界面设计 由于本文只是大致讲解音量调节大小的实现,界面就不做美化了,直接使用安卓系统控件两个Button,分别用于音量的增加与减小,代码:<LinearLay...
2018-07-12 08:13:14 726
原创 【GT-JAVA开发计算两点之间距离】
前言:目前大多数的公司都在使用钉钉进行签到打卡,使用过的都知道钉钉打卡是基于位置的,也就是说你必须在一个特定的范围内打卡,超过这个范围的只能外勤打卡,这一功能是如何实现的呢? 在读书的时候,大家应该都学过球面两点之间距离的计算,由于我长时间没有学习了,也无心再去拾起数学,因此只是提供一个大致的思路和实现源码。我们可以把地球看做一个不太规则的球体,赤道长度则看做球体的直径。我们都知道在地理坐标...
2018-07-11 17:06:55 666
原创 【GT-Android开发之JNI用法】
熟悉安卓四层架构的朋友们都了解,安卓的四层架构自上至下分别是应用层、应用框架层、函数库(也包括Android Runtime)、Linux内核层,其中上面两层是JAVA实现的,而底层则是so库、驱动等组成。从安卓的四层架构,我们可以理解为安卓应用是由JAVA开发的,但是底层是由C、C++等其他语言支持。 既然安卓的底层是其他语言,那么咱们用JAVA实现的APP是如何与底层交互的呢?在...
2018-07-11 13:14:11 604
原创 【GT-Android开发之AIDL用法】
前言:在前面的文章中,我提到了一个银联商务“U架构的”的概念,其实现原理便涉及到了今天的主角——AIDL,可能大多数人对于这个名词都不陌生。所谓AIDL,即Android Interface Definition Language(安卓接口定义语言),它是安卓进程间通信的一种方式。 之前提过的“U架构”,便是利用AIDL技术定义了一系列的服务接口,客户端通过调用接口来实现相应的功能。一般的A...
2018-07-10 13:19:56 555
原创 【GT-Android与JavaScript相互调用(二)】
前言:在上一篇文章中,已经分享了安卓端如何通过WebView调用JavaScript定义的方法来进行背景图片的设置,接下来在这篇文章中我将把如何在JS端调用Android端定义的方法分享给大家。功能描述:JS端调用安卓端定义的截图函数,实现截图并保存至本地首先,我们需要了解WebView的addJavaScriptInterface这个方法,看名字大致可以猜出他的意思增加一个JS接口,它有两个参数...
2018-07-09 10:34:14 611
原创 【GT-Android与JavaScript相互调用(一)】
前言:不知道什么时候开始,WebView+Html5的开发模式走进了人们的视野,之前对于这种模式我也只是有一个大概的认识,直到2016年进入了某知名POS厂商,真正的接触到了Html5开发APP,从而对WebView+Html5越来越感兴趣。。。 刚进入公司,由于我还是在校生所以公司也没有着急让我参与项目的开发,我有了充分的时间去熟悉我们公司的企业文化、经营业务、我们的产品以及项目框架。当...
2018-07-09 10:11:02 608
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人