Android开发日记
文章平均质量分 56
小鸡仔hana
an Android fan
展开
-
[Android算法初级学习]简单排序算法之快速排序
111原创 2021-04-21 09:29:14 · 333 阅读 · 0 评论 -
[Android算法初级学习]简单排序算法之冒泡排序
冒泡排序也是非常基础的排序算法,理解了上期的选择排序之后,冒泡排序就理解起来很简单。定义冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端(升序或降序排列),就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样,故名原创 2021-02-20 11:03:13 · 699 阅读 · 0 评论 -
[Android算法初级学习]简单排序算法之选择排序
排序算法应该是平时经常要用到的算法,也是非常重要需要掌握的初级技能,之前一直觉得很迷糊,所以重头再看一遍的时候才发现原理原来是这样的,一下子就清楚了很多。定义选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。关于最后的不稳定的说明稳定:如果原创 2021-02-19 15:54:19 · 267 阅读 · 0 评论 -
[Android算法初级学习]数组和链表
数组和链表都属于线性表的数据结构,也是最基本和最常用到的数据结构,所以了解他们是非常重要的。明白他们的优缺点,编码的时候就会根据算法选择最合适的一个,提升性能和效率。内存在了解数组和链表前,我们要了解计算机的内存工作原理。内存就像是个抽屉,里面一个个都是地址。这个0x123456就是一个内存单元的地址。编码的时候将数据存储到内存中时,计算机会给你提供一个内存地址用来存储数据。存储多项数据的时候,这个时候就要开辟多个地址了,也就是我们的数组和链表了。了解完这个概念之后就是我们的主角了。数组的概念原创 2021-02-17 17:40:34 · 225 阅读 · 0 评论 -
Android的接口回调的Demo实例
在平常开发中总是会涉及到回调这个词,作为一个新手,我觉得必须要好好了解下回调的机制,以及该怎么用。想看机制的可以看看这一篇文章:http://www.2cto.com/kf/201502/377156.html网上看到一句话,A类调用B类的某个方法b,然后B类又在某个时候返回来调用A类方法c,对于B来说,这个方法c就是回调函数。我先举个很简单的例子,为了方便,类的名字也改为A和B:原创 2015-07-22 18:22:23 · 4840 阅读 · 0 评论 -
Android实现圆形头像
想要写成和博客上大神们的例子是不可能的,我只能去了解下原理和原理。我知道最基础的原理是 在图片上先用canvas画出一个圆,然后在根据圆的坐标和半径再画出一个半径相同圆形的bitmap,就是和之前的canvas画的圆重叠了,圆在下面,Bitmap在上面。然后我们要获取两者相交的部分,去掉他们外面的部分。图形参考的可以去看看这篇文章:http://blog.csdn.net/zhangjm_12原创 2015-07-22 19:57:37 · 777 阅读 · 0 评论 -
使用jsoup加载网页数据(一)
真的好久没更新博客了,最近做一个csdn的客户端用到了jsoup技术用于获取网页的数据和图片,很好用。只需要下载一个jsoup.jar的包然后布置到自己的项目的环境就可以用了。废话不多说,直接上图片这是通过jsoup直接获取到的数据然后展示出来。简述一下用到的技术主要有Jsoup解析html,异步加载任务,ImageLoader加载图片。我们在浏览网页的时候都可以按F12查看网页代原创 2015-08-31 12:28:53 · 2461 阅读 · 6 评论 -
使用jsoup获取网页数据实现加载更多和下拉刷新(二)
上次博客的内容是加载了首页数据,接下来实现的是下拉刷新展示更多数据和最新数据。现在有很多开源的下拉刷新和上拉加载的库,这里我使用了google自己的下拉刷新控件swiperefreshlayout,这个控件只支持下拉刷新,所以必须要再修改一下,也让它实现了上拉加载更多。要使用这个控件,必须要v4包才可以使用。还是先上成果照我么看到了当下拉刷新的时候,最上面会出现一条彩色变化的条状,原创 2015-08-31 14:15:48 · 4578 阅读 · 3 评论 -
浙江大华Android一面面试题
最近几天去杭电的大华校招,在一面的时候被问了很多问题,可能平时会很少碰到,但是是必须要会的知识。面试题基本问了我15道左右的题。。。。1.apk打包资源文件的时候,各种资源文件以及Java代码怎么具体怎么变化的(即apk编译过程)答:res/animator、res/anim、res/color、res/drawable(非Bitmap文件,即非.png、.9.png、.jpg、.gi原创 2015-11-04 15:16:59 · 2257 阅读 · 0 评论 -
Android异步加载图片与文字(二)
上一期介绍了AsyncTask这个异步类的用法,这次使用到了图片加载类ImageLoader。先上代码:package com.sdf.imoocnews;import java.io.BufferedInputStream;import java.io.IOException;import java.io.InputStream;import java.net.Htt原创 2015-07-03 20:53:01 · 506 阅读 · 0 评论 -
Android异步加载图片与文字(一)
最近一直在忙期末考试的事,因为是大学最后的几场考试,所以不能挂,就一直在努力复习,也很久没碰android了T_T(手真的很痒!!!)今天我学着做了Android的异步加载,将图片和文字信息显示在ListView里。先来张效果图:估计有些人应该会熟悉这些吧,因为这些数据是从慕课网的接口里拿到的返回的是json的数据,所以我们要解析json数据首先是布局文件,主界面就是一个lis原创 2015-07-03 19:07:53 · 758 阅读 · 0 评论 -
Android新浪微博开发(一)授权认证
Android新浪微博开发 学习Android已经挺长的一段时间了,正好要毕业了,于是就决定选了Android新浪微博这个课题。像很多人一样,刚开始是打算去网上下载源码的,但是发现很多源码都是太老了,已经和新浪微博现在的开发平台的文档已经完全不符了= =,这点真是要吐槽下,好多代码都是没最新的分享,于是只好自己去新浪开放平台下载sdk文档去看。时间是2016年3月13号,我以后都是在这个原创 2016-03-13 23:46:01 · 2512 阅读 · 0 评论 -
Android新浪微博开发(二)界面设计之低版本实现Material Design效果
已经毕业了,发现博客好久没写了,这个Android新浪微博的开发毕设其实早就做完了,都忘了总结了(其实是太懒了= =)。上一篇博客中已经通过了微博的sdk获取了授权完的token并且将之保存了下来。接下来就是界面的设计了,界面我决定采用Android5.0的Material Design效果,因为本人特别喜欢这种效果,平常使用的bilibili客户端和网易云音乐Android端都是5.0特性了原创 2016-07-02 22:03:15 · 3425 阅读 · 0 评论 -
Android新浪微博开发(三)完结篇之调用新浪微博API实现信息展示
上一篇界面初步设计完之后就是获取微博的详情界面,包括所关注的用户的微博界面,评论界面,转发界面等等。还是先上我的效果图吧。ps:外观我参考aisen微博客户端,也是一个Material Design的客户端,做的非常不错。附上他的项目git地址:https://github.com/wangdan/AisenWeiBo 第一步,设计原创 2016-07-03 16:25:37 · 4238 阅读 · 2 评论 -
ViewPager实现类似广告界面滚动效果
现在的app上很多信息和广告都是一些自动滚动的viewpager的效果展示的,很直观也很美观。所以今天我尝试下使用下。整个布局就是一个viewpager组件再加一个布局放小圆点更换状态。先上效果图:布局文件activity_main.xml,主界面就是viewpager加上textview和一个linearlayout放小圆点:<LinearLayout xmlns原创 2015-07-17 19:33:31 · 660 阅读 · 0 评论 -
Intent传递对象实现Parcelable接口和Serializable接口
我们都知道Intent是传递信息的介质,我们用他用的最多的就是从一个Activity转换到另一个Activity,并且顺带传递一些数据到下一个Activity中。但是如果我们传递过去的是一个包含很多信息的对象呢?这里就需要使用到Parcelable和Serializable这两个接口。使用这两个接口的原因很简单,就是为了序列化对象!对象序列化有以下好处:1.永久性保存对象,保存对象的字节序原创 2015-07-13 19:51:57 · 827 阅读 · 0 评论 -
使用Fragment实现tab的选择跳转界面
Fragment现在越来越火,因为它的灵活性,可以使得在大屏幕手机上展现出更多的界面变幻。所以学好它很重要。首先,我是看了郭大神的博客(地址:http://blog.csdn.net/guolin_blog/article/details/13171191,没有抄袭的意思,只是拿来学习下),然后自己根据自己的理解再自己写了一遍,对Fragment的理解越来越深了。先上效果图吧(可能有些人觉得应原创 2015-06-15 19:32:17 · 1451 阅读 · 0 评论 -
"晴天"天气app的开源库逐步学习(二)
上一期的初始引导界面的button使用了扁平化处理,应该是目前app中按钮的流行趋势项目地址:https://github.com/hoang8f/android-flat-button效果图如下:代码: android:id="@+id/enterMain" android:layout_width="wrap_con原创 2015-05-31 14:47:21 · 690 阅读 · 0 评论 -
"晴天"天气app的开源库逐步学习(三)
今天用到了androidannotations这个开源库,用这个框架写Activity可以省去很多代码,项目简单明了,据说可以做到依赖注入,简化的线程模型,事件绑定,Rest Client,NO Magic。有些东西我也用不到,你可以去看项目 地址:https://github.com/excilys/androidannotations 其他注解:https://github.com/exc原创 2015-06-01 10:49:44 · 1075 阅读 · 0 评论 -
"晴天"天气app的开源库逐步学习(四)
今天尝试了JazzyListView和之前介绍的ShimmerTextView这两个开源库。JazzyListView地址:https://github.com/twotoasters/JazzyListViewShimmerTextView地址:https://github.com/RomainPiel/Shimmer-android原来的app使用这个androidanno原创 2015-06-01 21:08:17 · 668 阅读 · 0 评论 -
网络通信框架Volley的学习(一)
一个app必须要涉及到通信,当然的方式也很多比如HttpURLConnection和HttpClient,,AsyncTaskLoader等等,我只会用前两种==(重点是还不太熟练T_T)Volley的由来:a burst or emission of many things or a large amount at onceVolley是Google I/O 2013大会上提出来的,原创 2015-06-02 20:24:40 · 409 阅读 · 0 评论 -
"晴天"天气app的开源库逐步学习(五)完结篇
今天使用了android-swipelistview这个开源库,其实就是我们以前微信 QQ上面的侧滑删除效果,删除一条item后,后面的补上来。项目地址:https://github.com/47deg/android-swipelistview 这次除了下载该项目,还要下载swipelistview的依赖库NineOldAndroids地址:https://github.com/Jak原创 2015-06-02 12:12:03 · 859 阅读 · 0 评论 -
网络通信框架Volley的学习(二)
今天学习如何使用Volley怎么加载网络上的图片,当然也是简单的语句,自己也不太会深度分析代码。我们可以先去看下Volley封装好的类里面有以下几个类是跟ImageView有关的。这三个封装好的类都带有ImageView,所以肯定是关于图片加载的(神逻辑==)。一.先使用ImageRequest类,这个和我们之前的StringRequest相近,所以大致用法也是一样Java代码原创 2015-06-03 20:11:09 · 475 阅读 · 0 评论 -
ViewPager实现页面滑动的学习与使用
app里面的ViewPager滑动页面的效果应该是非常常见的用户与app交互的效果,滑动页面是的app更加灵活也更加利于用户单手时操作手机上的事务。今天就学习一下ViewPager的用法。首先观察一下项目里面的Android-Private-Library里面有个Android自带的包android-support-v4.jar,里面有个包名是下图画出红线的名字,里面点开就会发现ViewP原创 2015-06-05 21:26:26 · 519 阅读 · 0 评论 -
Android自定义View浅学习
现在很多app的主页面头上都有一个标题栏,左右两边几个按钮,正中间是正文标题。可能很多人觉得这种布局直接自己设计一个xml文件include到其他的布局文件里就行了,但是一旦要改动的话就会变得很麻烦,如果是自定义View的话可以变成一个模版直接用到其他页面的布局里面,更加简单,便于开发与维护。上张效果图:自定义View的话要先在values里新建attrs.xml文件,然后添加自己布局原创 2015-06-06 19:34:34 · 427 阅读 · 0 评论 -
使用Unversial-image-loader来异步加载网络图片和本地图片(二)完结篇
上一篇使用了Universal-Image-Loader这个控件加载了网络图片,当然,你觉得这个控件只能加载网络图片的话,那你就太小瞧它了,它同样也能加载本地图片!这次就来使用它加载本地图库的照片。这次我整合了上次加载网络图片的功能很这次的加载本地图片的功能,放在了一起。先上效果图(加载网络图片的效果在上一篇博客):Universal-Image-Loader用来加载图原创 2015-06-09 18:54:31 · 642 阅读 · 0 评论 -
使用Unversial-image-loader来异步加载网络图片和本地图片(一)
现在一个应用最最直观表达意思的就是图片了吧,现在互联网就是以图片加视频的形式主流传播信息,所以图片的显示是如此的重要,最近接触到了一个开源库Universal-Image-Loader,用来异步加载图片的,包括网络上和本地的。Github项目地址:https://github.com/nostra13/Android-Universal-Image-Loader它的有点有很多:1.多线程下原创 2015-06-09 18:30:44 · 732 阅读 · 0 评论 -
使用Fragment+SlidingMenu实现侧滑显示菜单
这两周一直在忙课程设计的事,说真的,挺烦的,没有了自己空闲的时间去学Android,还是挤下晚上的时间来学习Android。以前的SlidingMenu很火,很多app都是用了这个功能,但是现在不单单使用SlidingMenu,还流行使用Fragment,因为大屏手机的兴起,碎片的存在是的手机上应用的显示变得更加灵活!今天我就用了Fragment+SlidingMenu实现了侧滑菜单的效果。Sli原创 2015-06-10 22:09:37 · 3391 阅读 · 1 评论 -
(转)Android高效加载大图、多图解决方案,有效避免程序OOM
现在很多有应用都是以图片为主流,所以肯定会加载大量的图片,可是现在的图片的内存都很大,一旦超过内存就会显示OOM(内存溢出)错误。在网上看到一篇文章,写的不错,于是转过来了借鉴学习下。原文网址:http://mobile.51cto.com/abased-406980.htm比如说系统图片库里展示的图片大都是用手机摄像头拍出来的,这些图片的分辨率会比我们手机屏幕的分辨率高得多。转载 2015-06-11 11:09:58 · 434 阅读 · 0 评论 -
作为程序员必须要了解的位,字节,kb,mb,gb
虽然大一的时候学过C语言,包括以前上初中开始教的计算机基础知识,但是!有时候会莫名的混淆概念,作为一名程序员绝对不能忍,这个最最基础的知识还是要必须搞清楚的,虽然一点也不难==位(bit) 用来描述电脑数据量最小的单位,在二进制中,0或1就是一个位字节(btyte)计算机里用来存储空间的基本计量单位。8个二进制位(bit)构成了一个字节(byte)即1byte=8bit。1个字节可以存储一原创 2015-06-13 22:01:03 · 1078 阅读 · 0 评论 -
"晴天"天气app的开源库逐步学习(一)
最近打算学习一些开源库,正好碰到了晴天这款天气应用,个人就感觉界面很不错,而且做着已经把这款软件开源了,地址:https://github.com/sd6352051/FineDayDiscrollview库的地址:https://github.com/flavienlaurent/discrollview也不是做广告,觉得好的东西就该大家一起学习进步:),当然自己也不原创 2015-05-31 14:36:40 · 1325 阅读 · 0 评论