
Android学习笔记
文章平均质量分 80
Animee
没有天生的垃圾,只有放错地方的天才
展开
-
Android趣味课程:打地鼠游戏
本篇博客为大家介绍一个简单小游戏的制作:打地鼠游戏的编写。打地鼠,进入页面点击开始游戏后,即可直接进入游戏。此刻,地鼠会不经意的从屏幕中探出一个脑袋,快速消失,企图躲过游戏者的视线。游戏者点击地鼠则获得1分,在限定时间到达后,结束游戏。功能需求分析:1.让地鼠图片可随机出现在屏幕的各个角落,通过获取屏幕的尺寸,让地鼠随机出现在屏幕的任何地方。2.为地鼠设置点击事件,让其可点击,点击后...原创 2019-08-02 12:10:53 · 3674 阅读 · 1 评论 -
关于WebView介绍比较详细的博客资料保存
Android:这是一份全面 & 详细的Webview使用攻略:https://www.jianshu.com/p/3c94ae673e2aAndroid:你要的WebView与 JS 交互方式 都在这里了:https://blog.youkuaiyun.com/carson_ho/article/details/64904691...转载 2018-03-27 16:37:10 · 178 阅读 · 0 评论 -
Android5.0新增框架包design常用控件介绍
Google为了ui的美观并且与当前市场常见的产品界面相匹配,在android 5.0之后推出了ui控件包——design。在Design包当中包含了很多UI控件,常用的大概有:TabLayout,NavigationView,BottomSheetDialog等控件。 下面我们关于design包当中的协调者布局进行讲解:1.android.support.design.widg原创 2018-03-21 11:40:38 · 1096 阅读 · 0 评论 -
Android自定义View的基础知识(七)——onLayout方法作用
在编写自定义view过程当中,可能涉及到自定义容器类控件,因为存在容器类控件,并不能满足要求,那么我们需要通过继承ViewGroup类来定义容器类控件。本篇博客,会通过简单的实例给大家介绍继承ViewGroup之后,我们需要做那些必要的操作。比如实现流式布局,何为流式布局,其实就是将容器当中所排布的控件,从左到右进行排布,然后这一行的高度以这行当中最高的控件为基准,如果排布过程当中,剩余的宽度原创 2018-03-13 15:37:55 · 760 阅读 · 0 评论 -
Android自定义View的基础知识(六)——绘制柱状图
在安卓程序开发过程当中,经常会遇到对于数据的统计问题,针对于这些数据统一,可能要求用直观的方式展示出来,那么就可以使用柱状图,折线图,或者饼状图,其实绘制的过程不难,冷静分析一下,柱状图其实就是绘制x轴和y轴然后在坐标系当中绘制长方形的过程,折线图其实就是连接各个点之间的位置,然后实现连线的过程。而饼状图最简单的画法,就通过占据的百分比,然后计算角度,绘制出扇形的过程。在本篇博客中,我们重点给大家原创 2018-03-13 11:39:27 · 697 阅读 · 0 评论 -
Android自定义View实例——自定义圆形图片饼状图
首先在value文件夹当中创建attrs.xml文件<?xml version="1.0" encoding="utf-8"?><resources> <declare-styleable name="CircleView"> <attr name="circleColor" format="color"/> ...原创 2018-03-19 09:18:33 · 329 阅读 · 0 评论 -
Android自定义View的基础知识(五)——onTouchEvent方法介绍
在开发自定义View的过程当中,经常会让自定义控件和用户的手势产生联动,或者根据用户的手势,做出不同的响应,那么这里就涉及到视图交互了,最简单的交互是通过view当中的onTouchEvent方法实现的,这个方法返回了用户手指在屏幕上的位置,以及用户手指在屏幕上的状态,比如,绘制能在屏幕上随着手指的移动而移动的红色小球。实现代码如下:/** * 会动的小圆,绘制一个红色的小圆,随着你手指原创 2018-03-12 16:50:36 · 2272 阅读 · 0 评论 -
Android自定义View的基础知识(二)——onMeasure方法的介绍
在编写自定义view时,除了onDraw方法很重要,可以绘制自定义view当中的内容,onMeasure方法也很重要,主要负责测量自定义view显示的宽高,然后对于布局的设置进行获取,并且根据具体情况改变宽高。 关于onMeasure方法具体的作用,和其中包括知识点我们通过一个例子来介绍,我们希望能够无论在布局当中如何设置自定义控件的宽高,都能够显示出完整的圆,并且可以在布局改变圆的颜原创 2018-03-11 21:59:30 · 275 阅读 · 0 评论 -
使用RecyclerView获取xml数据(csdn的数据)并解析展示(二)
步骤和第一篇基本没有区别,在本篇当中,给大家新增一个知识点,给recyclerview的每一项添加点击事件的过程。第一步:导包第二步:绘制布局首先绘制activity所对应的页面的布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk...原创 2018-03-05 14:22:25 · 569 阅读 · 0 评论 -
Android自定义View的基础知识(四)——自定义属性的介绍
在自定义view开发的过程当中,我们除了要掌握开发view的分类和重写的方法之外,还有一个知识点也是至关重要的,就是自定义属性,何为自定义属性呢?又在什么情况下需要自定义属性呢? 在编写自定义view时,有一些关于其竖线的设置,希望放到布局当中进行设置,而不是在activity当中设置。例如改变上一篇博客当中当前的标题栏的颜色,关于这个需求,需要获取当前的view对象,然后对于这原创 2018-03-12 15:13:33 · 236 阅读 · 0 评论 -
Android毕设项目功能:商城列表与购物车展示(三)
本篇博客将在前两篇基础上,完成第三个页面购物车页面的基本逻辑代码以及最后支付界面的布局绘制,实现效果图如下:在商品列表界面的分析中,可知通过购物车的图标点击跳转到购物车界面,然后获取统一数据的buyList集合作为ListView列表的数据源展示,购物车界面布局与商品列表界面布局相似,上中下结构,下面为一个按钮和总计金额TextView表示,金额会随着购物车的内容变化发生改变。购物车布...原创 2019-05-30 11:50:43 · 3475 阅读 · 2 评论 -
Android毕设项目功能:商城列表与购物车展示(一)
最近应公司要求,到某大学进行毕设项目实训讲解,今天在课上讲解内容主要围绕在商城功能展开,因为没有服务器提供后台数据,所以使用虚拟数据,在代码中创建集合的用于展示。基本逻辑与后台服务提供数据的逻辑也相似。毕设中有需要相同功能的同学可以借鉴一下,以下的逻辑思路与实现代码。代码实现效果图如下:需求分析:展示效果为四个界面,界面间都是通过前一个点击相关内容,跳转显示,故在此功能中应该需...原创 2019-05-29 20:12:49 · 10464 阅读 · 10 评论 -
Android趣味课程:简易天气预报功能
在某些应用程序中,经常有天气预报的功能,通过当地天气情况给予用户合适的建议。比如团购网站根据定位,天气推送用户需要的信息等。本篇博客会使用公共api当中天气预报接口信息,编写一个简易天气预报的界面。获取天气信息接口如下:http://api.map.baidu.com/telematics/v3/weather?location=九江&output=json&ak=FkPh...原创 2019-08-02 22:39:31 · 3301 阅读 · 3 评论 -
Android基础课程:原生视频播放器(播放网络资源)
在之前的博客中,我分析过本地音乐播放器的逻辑和写法,需要使用MediaPlayer类,对于多媒体音频可进行播放,暂停,切换,停止等操作。在本篇博客中,将继续使用MediaPlayer类,将其放置于SurfaceView上进行视频播放。SurfaceView的介绍直接从内存或者DMA等硬件接口取得图像数据,是个非常重要的绘图容器。它的特性是:可以在主线程之外的线程中向屏幕绘图上。这样可以避...原创 2019-07-20 09:50:56 · 2544 阅读 · 2 评论 -
Android基础课程:第三方视频播放器(播放网络资源)
上一篇博客中,使用SurfaceView和MediaPlayer完成了视频播放,当然安卓原生控件中的VideoView也可以实现网络视频与本地视频的播放,非常简单,仔细查看源码,会发现VideoView的底层正式使用了MediaPlayer与SurfaceView封装创建。但是在列表播放时,使用VideoView控件占据内存很大,很容易造成oom的错误。但是使用SurfaceView和MediaP...原创 2019-07-24 12:37:20 · 4177 阅读 · 0 评论 -
Android趣味课程:九宫格拼图游戏
经常有同学问到,使用Android能不能开发游戏呢?能开发那些游戏呢?由于操作系统和开发语言局限,一般开发安卓手机游戏,我们很少使用其自带语言开发。而是使用指定编译器和语言完成,能够使界面更流畅,用户体验感更好。但是对于一些常见小游戏,使用JAVA语言开发运行,还是不在话下的,那在本篇博客中,我将给大家简单介绍一下,九宫格拼图游戏的开发过程,基本逻辑和思路我将在代码的注释中体现。九宫格拼图游戏...原创 2019-07-05 20:52:51 · 6208 阅读 · 5 评论 -
Android趣味课程:超简单猜数游戏
很多同学在刚学习一门编程语言时,很难引发兴趣,然后深入学习,个人认为主要原因是前期内容比较基础,而且无法看到效果,然后我根据每天的知识点,总结和开发了一些小功能,希望能提升同学的兴趣,更好理解当天内容,本篇博客介绍的猜数游戏,就是其中之一。完成这个需求只需要掌握TextView,Button,EditText在Activity当中的操作基本功能。差不多学了1天Android就能够完成此案例。需...原创 2019-07-14 09:23:29 · 2887 阅读 · 1 评论 -
Android趣味课程:寻觅红桃A的翻牌游戏
有一种游戏,在我们还小的时候,会经常和小伙伴玩耍,拿出几张扑克牌,其中包含红桃A,游戏中有两种身份,洗牌者和猜测者,洗牌者通过洗牌打乱顺序,然后将所有纸牌背部朝向猜测者,由猜测者从中选择,如果抽出红桃A,则猜测成功,否则失败。这应该是最简单的扑克牌游戏了。那么如何在Android程序中编写这个游戏功能呢?在本篇博客中,我将就这个需求完成寻觅红桃A的纸牌游戏。逻辑分析:纸牌应该体现在Ima...原创 2019-07-09 16:18:40 · 1802 阅读 · 1 评论 -
Android趣味课程:自定义钟表视图
自定义View一直属于开发当中比较难得问题,对于计算,逻辑各方面都要进行考虑。在前面的博客中,我曾经将自定义view涉及到的几个函数的作用通过案例进行了介绍。在此篇博客中,将使用这些这是点完成钟表view的编写。效果图如下:观察发现,很明显图中的两个钟表视图在Android原生控件中并没有被定义。所以通过自定义控件来实现。涉及到的知识点:1.因为在原生控件中并不包含相关控件,所以...原创 2019-06-21 17:15:06 · 428 阅读 · 0 评论 -
Android趣味课程:简易BMI健康分析APP
既然说到了设计趣味课程,就把之间讲过的能够提起同学兴趣的简单案例整理一下,本篇博客描述的是使用Android的超基础控件和简单逻辑,结合bmi健康检测公式,完成的健康分析APP。需求如下:完成BMI健康测试分析APP:BMI指数(即身体质量指数,简称体质指数又称体重,英文为Body Mass Index,简称BMI),是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人...原创 2019-06-20 20:53:43 · 2011 阅读 · 1 评论 -
Android毕设项目功能:商城列表与购物车展示(二)
在上一篇博客中,为大家展示了最终完成效果图,并且分析了界面之间的关系,以及每个界面布局结构中包含的控件信息,对于总体功能数据源进行了封装和介绍。并且重点说明了第一个界面商品分类界面的实现方法。在本篇博客中我们继续操作,完成具体分类的商品信息列表界面的展示。效果图如下:需求分析:此界面的布局结构为上中下结构,可使用线性布局进行排列,上半部分为标题栏,左右两个图标都具备点击功能,左边点击后...原创 2019-05-29 22:04:03 · 2988 阅读 · 0 评论 -
Android自定义View的基础知识(三)——自定义组合控件
在开发当中某些情况下,多个view组合到一起的样式,在多个布局当中都有使用,针对与这种情况可以将这些控件给组合到一起,作为一个整体进行引用,也有多种方式可以解决这个问题,比如在布局当中使用关键字引入这个布局,当然也可以通过自定义view当中定义组合控件。那么,接下来我们就根据需求,定义一下组合控件。在开发应用过程当中,一个app里面的标题头通常都是统一的,包括中心的内容标题区域,左右两边的原创 2018-03-11 23:26:23 · 204 阅读 · 0 评论 -
Android自定义View的基础知识(一)
本篇博客开始重点给大家介绍android应用程序开发当中非常重要的一个部分——自定义View。那么在学习自定义View的过程当中我们需要了解一下,为什么需要自定义view,什么情况下要去思考自定义View的问题呢?那么根据平时开发的总结,自定义View通常用于以下几个情景当中:(1).当系统提供的view不能够满足我们的开发要求的时候。(2).处理特定的显示风格。(3).处理特有的用户原创 2018-03-11 21:43:47 · 308 阅读 · 0 评论 -
xUtils的全面解析和案例讲解(三)
在上一篇博客的基础上,我们来增加新的功能,进一步学习xUtils框架当中的数据库模块。新增的需求:在有网络的情况下,加载网络数据,并且显示出来,在没有网络的情况下,加载数据库当中的数据,同样显示出来,其实就是增加了缓存操作。那么我们在之前的基础上,又应该做什么操作呢?1.首先要在清单文件当中增加获取sd卡当中数据的权限。uses-permission android:name="a原创 2018-03-07 16:46:11 · 212 阅读 · 0 评论 -
xUtils的全面解析和案例讲解(二)
在本篇博客当中,主要xUtils的功能去完全加载网络数据(json)数据,并且解析到recyclerview当中的过程。网址为:http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=10&page=1步骤和上一篇博文一样,本篇当中就不做更加详细的讲解了,主要从代码角度,逐层深入的理解。但是因为是json数据,所以使用原创 2018-03-07 15:33:00 · 216 阅读 · 0 评论 -
xUtils的全面解析和案例讲解(一)
在本篇博客当中结合xutils的注解模块,网络模块和图片模块,将网络数据获取解析并展示在recyclerview上面。网络数据的网址为:https://gitee.com/little_bird_oh_777/test_data_collection/raw/master/dishs.xml首先分析步骤:1.导入包:xutils和recyclerview的包复制原创 2018-03-07 14:40:32 · 437 阅读 · 0 评论 -
Android本地音乐播放器(二)
在上一篇博客当中,我们写到了本地音乐的获取,并且播放指定条目的音乐,在这个案例中将会添加上一曲,下一曲等功能。布局和音乐信息类没有变化,主要是activity当中的类有逻辑代码的改变。activity代码如下:public class LocalMusicActivity extends AppCompatActivity { private ListView lv;原创 2018-01-05 12:18:12 · 1717 阅读 · 2 评论 -
Android本地音乐播放器的制作
如何制作android本地的音乐播放器呢?步骤通常是如下:1.在清单文件AndroidMainFest.xml文件当中添加权限。2.需要找到当前module的build.gradle文件当中targetSdkVersion对应的版本号改为22.(此处与6.0的动态申请权限相关,可以在代码当中申请,此处就使用简单的一次申请方式)3.绘制布局的内容:需要绘制的布局分为两个部分:1.ac原创 2018-01-05 11:26:17 · 3792 阅读 · 3 评论 -
Android学习笔记:关于Handler的详解(二)
4.handler移除消息 5.handler移除消息的内容6.handler消息通信机制的原理7.如何实现一个与子线程相关的handler8. Android中更新ui的几种方式。原创 2016-02-29 09:49:00 · 928 阅读 · 0 评论 -
Android学习笔记:关于Handler的详解(一)
Handler在android的学习当中应用是非常多的,我们就依次的来解决handler相关问题。其实在handler当中有很多问题比较难理解,比如我们在子线程中通过post的方法发送一条消息,然后就立即能够在handlemessage方法中接受到这条消息,在最初我们学习中都会比较困惑,那么今天我们通过handler的详细讲解,让大家了解handler的机制是什么,并且结合源码和大量的实例让大家更深原创 2016-02-29 09:17:49 · 406 阅读 · 0 评论 -
Andriod学习笔记:仿美图秀秀首页手柄下拉功能实现(二)
在没有使用Android原生态控件SlidingDrawer之前,我是通过自定义视图实现的拉动手柄下拉页面的效果,用起来差不多,不过原生的更简单方便一些。主界面布局如下: 在主界面中嵌套了两个线性布局,分别用来呈现主界面显示的部分和暂时隐藏的部分。然后创建一个Activity,对界面进行初始化。原创 2015-05-19 16:03:19 · 1005 阅读 · 0 评论 -
RecyclerView获取网络数据并解析显示的过程
首先先屡一下思路,把步骤在脑海当中形成:1.倒入包 okhttp相关包放到libs文件夹下---》右键选择Add As Library--->选择ok选择Project Structure--->选择当前的module---》选择 library dependenices--->找到RecyclerView点击--->该版本号,改成和v7一样的版本号---》点击f...原创 2018-02-28 12:19:54 · 4727 阅读 · 1 评论 -
xUtils的全面解析和案例讲解(四)--断点续传下载apk并安装
今天我们根据具体的需求,进一步理解xUtils框架的使用方式:添加Button点击按钮,点击按钮开始使用xUtils的网络模块进行apk安装包的下载,支持随时停止下载任务,成功后使用Dialog询问用户是否安装,并安装。数据接口:http://softfile.3g.qq.com:8080/msoft/179/24659/43549/qq_hd_mini_1.4.apk那么我们根据原创 2018-03-08 11:28:02 · 606 阅读 · 0 评论 -
Android传感器的使用(2)—仿照微信摇一摇功能
在上一篇博客当中提到了传感器的分类,基本信息和常见的使用方式。在本篇博客当中会对于上篇博客的传感器的使用方法做出进一步的挖掘,完成微信当中的摇一摇功能。思路分析:手机摇晃从而发生图片位置的改变,说明要检测手机的晃动,根据上节课的学习分析,可以通过加速度传感器判断手机的摇晃,图片位置发生改变,然后还会重新回到原来的位置,应该对于图片设置动画。摇一摇当中还包括震动效果和音效,那么我们可以使用震动管理器...原创 2018-03-16 22:23:03 · 343 阅读 · 0 评论 -
Android传感器的使用(1)——摇一摇切换图片
在android应用程序中,很多时候需要与用户的动作行为进行互动,或者指定用户做某些行为从而完成某些动作,其中的一些行为就是触发了安卓当中的传感器,然后通过安卓封装的传感器动作,能够获取到用户的行为,然后做出相应的反馈,那么传感器又是如何开发的呢,他又有那些相关知识点呢?原创 2018-03-16 22:04:43 · 2560 阅读 · 1 评论 -
Android中动画的介绍(三)——属性动画(4)
本篇博客依然是对于属性动画的练习,需求如下:使用图片完成要求:距离屏幕底部一定的位置开始向屏幕底部垂直移动,达到底部后弹回到原高度一半的位置,每次移动耗时2s,且每次移动先加速又减速,如此重复3次。效果图如下:分析如何实现上述的效果呢?分析步骤如下:其实就是模拟弹力球的过程 1.分析就是关于一个控件在y轴上移动的过程 2.300 0 150 0 75 0 3.一共弹起3次,每次2s,一共是6s...原创 2018-03-09 16:46:59 · 207 阅读 · 0 评论 -
Android中动画的介绍(三)——属性动画(3)
在前两篇博客当中,我们主要从理论的角度认知了属性动画的特点,然后通过在xml文件和java代码当中的编写,了解了属性动画的两种方式,那么在本篇博客当中,我们重点通过实际案例进一步去加深对于属于属性动画的认知。用属性动画完成弧形菜单,要求的效果图如下:如效果所示,点击刷新的按钮,可以展开多个菜单,当展开的情况下,在点击刷新的按钮,就会收回多个菜单。分析一下实现这个功能的思路:原创 2018-03-09 16:11:20 · 219 阅读 · 0 评论 -
Android中动画的介绍(三)——属性动画(2)
在上一篇博客当中,给大家介绍了属性动画在xml文件当中设置的方法,和显示的效果,在这篇博客当中,我们依然进一步了解属性动画的编写方式,我们在代码当中对于属性动画的进行编写。话不多说,我们直接通过代码展示。1.首先绘制在res/layout文件夹当中的布局<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/an原创 2018-03-09 15:07:50 · 147 阅读 · 0 评论 -
Android中动画的介绍(三)——属性动画(1)
在前两篇博客当中,给大家介绍了android当中动画的分类和各自的特点,说到了在android5.0版本之前可以分为三种动画:帧动画,补间动画和属性动画,帧动画和补间动画的展示和特点,以及在代码当中也给大家进行了分析和讲解。那么在本篇博客当中我们会进一步给大家来介绍一下属性动画的特点和使用。属性动画的特征主要有以下几点:1.Animator框架之下的,常用的类包括AnimatorSet和O原创 2018-03-09 14:23:04 · 201 阅读 · 0 评论 -
Android中动画的介绍(二)——补间动画(2)
上一篇博客当中,为大家提到了补间动画的特点和可以实现的效果,我们通过xml文件当中编写动画行为,可以对于view控件进行设置,然后我们也提到了,补间动画除了可以在xml布局当中编写,同样可以在java代码当中设计。那么在这篇博客当中,一起看看如何在java代码当中描述补间动画的各个行为。直接写代码:1.编写布局:<RelativeLayout xmlns:android="http:原创 2018-03-09 10:38:00 · 178 阅读 · 0 评论