android
文章平均质量分 85
vivianluomin
这个作者很懒,什么都没留下…
展开
-
Android的分享操作 一
给其他App发送简单的数据在不痛的程序之间使用intent收发数据是社交分享内容时最常用的方法。Intent使用户能够通过最常用的程序进行快速简单的分享信息。 在构建一个intent时,必须指定这个intent需要触发的action。比如:ACTION_SEND,表明该intent用于从一个activity发送数据到另外一个activity,甚至可以是跨进程之间的数据发送。为了发送数据到另外一个翻译 2017-07-12 10:33:32 · 240 阅读 · 0 评论 -
Android之Bitmap 一
读取位图的尺寸与类型BitmapFactory(Creates Bitmap objects from various sources, including files, streams, and byte-arrays.)提供了一些解码的方法,用来从不同的资源中创建一个Bitmap。 这些方法在构造位图的时候会尝试分配内存,因此会容易导致OutOfMemory的异常。所以为了避免这个异常,我们需翻译 2017-07-12 21:49:05 · 199 阅读 · 0 评论 -
Android学习之App基础
最少特权原则:android操作系统是一个多用户的Linux系统,其中的每一个应用程序都是一个独立的用户。默认地,系统会为每一个应用程序分配一个唯一的Linux用户ID(这个ID只能被系统使用,并且对于应用程序来说,这个ID是未知的)。系统为一个应用程序的所有文件设置了权限,所以,只有分配给这个应用程序的用户ID可以访问它们。每一个进程有它主机的虚拟机,所以一个应用程序的代码会独立与其他的应用原创 2017-07-13 11:39:48 · 282 阅读 · 0 评论 -
将内容URI转换为文件储存路径
最近在做同一热点下的文件传输的小项目,自己练手,在我调用文件管理器得到该文件的uri的时候,突然发现,得不到文件的真正路径得到的内容uri:content://media/external/video/media/154801 查看api,api上说这个不代表文件路径,然后我懵逼了,那我应该怎么得到呢? 代码如下: private String getPath(Context conext, U原创 2017-06-13 22:19:11 · 1405 阅读 · 1 评论 -
Android学习之ActionBar 一
操作栏是识别应用程序和用户位置的窗口功能。,并且提供用户操作和导航模式。添加操作栏 首先在res下的menu中新建一个menu.xml,<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schema原创 2017-07-13 21:54:05 · 221 阅读 · 0 评论 -
Android学习之简单使用toolBar
最近在自己练习音乐播放器这个小项目,想尽量做得美观,之间使用actionBar,发现特别不方便,所以简单学习一下toolbar想要使用toolbar,先要在manifest中不要actionbar<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" andr原创 2017-07-14 17:45:15 · 245 阅读 · 0 评论 -
Android学习之ActionBar 二之添加导航选项卡
添加导航选项卡要使用选项卡切换片段,必须在每次选择选项卡时执行片段事务。 布局必须包含一个ViewGroup,其中每个Fragment与标签相关联。 添加选项卡的基本步奏: 1. 实现ActionBar.TabListener界面。此界面中的回调响应选项卡的用户事件,以便交换片段。 2. 对于要添加的每个选项卡,实例化ActionBar.Tab并ActionBar.TabListener通过原创 2017-07-14 15:34:23 · 714 阅读 · 2 评论 -
Android学习之Notifications(超详细)
当后台服务需要提示用户来响应某个事件时,应该使用状态栏通知。后台服务不应该自己去启动一个activity来与用户互动,它应该创建一个状态栏通知,当用户选择这个通知去启动activity创建一个普通的通知栏 NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);原创 2017-07-19 20:53:17 · 3559 阅读 · 0 评论 -
Android学习之如何读取本地音乐以及图片
最近做音乐播放器读取本地音乐这一块。简单模仿网易云音乐的界面。原创 2017-07-15 10:02:16 · 9464 阅读 · 11 评论 -
Android学习之添加动画一
View间渐变:渐变动画(也叫消失)通常指渐渐地淡出某个UI组件,同时同步地淡入另一个。当APP想切换内容或View的情况下,这种动画很有用。渐变简短不易察觉,同时又提供从一个界面到下一个之间流畅的转换。如果在需要转换的时候没有使用任何动画效果,这会使得转换看上去感到生硬而仓促。例子: 首先创建一个布局:<FrameLayout xmlns:android="/apk/res/android"翻译 2017-07-17 16:40:09 · 357 阅读 · 0 评论 -
Android学习之如何同时更新不同界面的UI
最近在做音乐播放器这个小项目,在同时更新不同activity的UI上遇到了困难,在网上查资料无果,是后面一个大神给我提供的思路。使用设计模式中的观察者模式。什么是观察者模式 观察者模式,属于行为模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化的时候,会通知所有的观察者对象,使他们能够自己自动更新。Subject:抽象主题(抽象被观察者),抽原创 2017-07-21 15:44:29 · 779 阅读 · 0 评论 -
Android学习之layer-list
layer-listlayer是层,list是列表,那么layer-list是层列表的意思。其实layer-list是用来创建LayerDrawablede,LayerDrawable是DrawableResource的一种,所以layer-list创建出来的是图层列表,也就是一个drawable图形作用:layer-list是用来创建图层列表,通过它能创建出一些特殊的drawable。 比如:原创 2017-07-18 10:33:13 · 566 阅读 · 0 评论 -
Android学习之简单使用SeekBar
SeekBar是进度条。我们使用进度条时,可以使用系统默认的进度条;也可以自定义进度条的图片和滑块图片等。 下来是自定义thumb的seerBar,通过在drawable下写一个xml文件,做一个选择器。<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res原创 2017-07-17 21:08:28 · 431 阅读 · 0 评论 -
Android学习之Fragment
fragment是activity中用户界面的一个行为或者是一部分。我们可以在一个单独的activity上把多个fragment组合成为一个多区域的UI,并且可以在多个activity中再使用。我们可以认为fragment是activity的一个模块零件,它有自己的生命周期,接受它自己的输入事件,并且可以在activity运行的时候添加或者删除。Fragment必须总是被嵌入一个activity中,原创 2017-07-30 20:27:54 · 319 阅读 · 0 评论 -
Android练手项目----计算器
最近实验室要求写一个简单的计算器,作为安卓入门的练习,我主要是用前缀表达式变后缀表达式 关于如何转化,请查考: http://blog.csdn.net/qq_36391075/article/details/76158464在负数的处理上,我得到前后个元素,如果一开始我就输入了负号,而且后面是数字,或者前面是运算符,后面是数字,那么这个时候得到的是负数,将其存入。否则就是运算符。if(i !=原创 2017-07-26 20:42:54 · 840 阅读 · 0 评论 -
Android学习之使用seekbar进行歌曲的同步
记录一下这个简单的功能而已。 先创建一个线程类 在此之前,你需要获取到歌曲,然后得到它的duration。 使用mediaPlayer.start(),来播放歌曲,当歌曲开始播放的时候, new LooperThread().start;class LooperThread extends Thread{ int i = 0; @Override原创 2017-07-21 19:40:45 · 999 阅读 · 0 评论 -
Android学习之Service
Service是一个应用程序组件,它能够在后台执行一些耗时比较长的操作,并且不提供用户界面。服务能被其他应用程序的组件启动,即使用户切换到另外的应用时还能保持后台运行。此外应用程序组件还能与服务绑定,并与服务进行交互,甚至进行进程间通信(IPC),比如,服务可以处理网络传输,音乐播放,执行文件I/0。或者与content provider进行交互,所有这些都是在后台进行的服务的两种基本类型: st原创 2017-07-18 17:21:32 · 209 阅读 · 0 评论 -
Android学习之CardView
CardView介绍cardview是Android 5.0系统引入的控件,相当于fragmentLayout布局控件然后添加圆角以及阴影的效果。cardview被包装为一种布局,并且经常在ListView和RecyclerView的Item布局中,作为一种容器使用。CardView应该被使用在显示层次性的内容时,在显示列表或者网格事更应该被选择使用,因为这些边缘可以使得用户更容易去区分这些内容。使翻译 2017-07-31 12:40:12 · 492 阅读 · 0 评论 -
安卓手机分区
本篇来源知乎 奇兔刷机的回答安卓手机一般包括以下标准内部分区/boot/system/recovery/data/cache/misc 另外还与SD卡分区/sdcard/sd-extboot 一般的嵌入式Linux的设备中bootloader,内核,根文件系统被分为三个不同的分区。Android做的比较复杂,从这个手机分区来看,这里boot分区是吧内核和ramdisk fil翻译 2017-07-23 20:26:56 · 3734 阅读 · 0 评论 -
Android学习之RecyclerView
概述RecyclerView,提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它的不同的LayoutManager,ItemDecoration,ItemAnimator实现各种效果想要控制其显示方法,请通过布局管理器LayoutManager想要控制Item间的间隔(可绘制),请通过ItemDecoration想要控制Item增删的动画,请通过ItemAnimator想要控制点击,原创 2017-08-01 11:11:58 · 250 阅读 · 0 评论 -
Android学习之Padding和Margin的区别
android的Margin和Padding跟Html的是一样的。如图所示:黄色部分为Padding,灰色部分为Margin 通俗理解Padding为内边框,Margin为外边框 对应的属性为 android:layout_marginBottom=”25dp” android:layout_marginLeft=”10dp” android:layout_marginTop=”10d转载 2017-08-01 21:08:28 · 342 阅读 · 0 评论 -
Android学习之GridLayout
概述一个将子view置于矩形网格的布局 网格有一组无限细线组成,将可视区域分为单元格。 子view占据一个或者多个连续的单元格,它们由rowSpec和columnSpec布局参数定义。 虽然单元格在GridLayout中通常不会重叠,但是GridLayout并不会阻止被定义的子元素占用相同的单元格或单元格组,所以在这种操作下,子view很可能重叠。 如果一个子View没有指定希望占据的单元格原创 2017-07-27 10:46:39 · 445 阅读 · 0 评论 -
Android学习之Glide 一
介绍:Glide是一个快速高效的多媒体管理和图像加载的框架,封装了Android平台的多媒体的解码,内存和硬盘缓存等 Glide支持解码,显示视频,图像和GIFS,Glide是基于HttpUrlConnection添加依赖:compile 'com.github.bumptech.glide:glide:3.7.0'从一个URL中加载图片Glide库是使用流接口。对一个完整的功能请求,Glide建翻译 2017-08-12 15:28:26 · 526 阅读 · 0 评论 -
Android学习之网络请求(访问网路数据)一
HTTP请求和响应一次请求就是向目标服务器发送一串文本 HTTP请求包结构: 例子:POST /meme.php/home/user/login HTTP/1.1 Host: 114.215.86.90 Cache-Control: no-cache Postman-Token: bd243d6b-da03-902f-0a2c-8e9377f6f6ed Con转载 2017-08-05 15:16:10 · 1009 阅读 · 0 评论 -
让TextView中的部分文字显示不同的状态
最近和学长们一起做项目,我负责做评论那一块,在评论回复的时候,需要高亮出某一部分文字,于是有了这篇文章想实现这样的功能,需要用到SpannableString和SpannableStringBuilder一,概述1,SpannableString和SpannableStringBuilder与String的关系首先,SpannableString和SpannableStringBuilder基本上与翻译 2017-08-19 22:27:05 · 481 阅读 · 0 评论 -
Android学习之TabLayout和ViewPager
TabLayout是属于容器空间,提供水平显示Tab的效果,常常和ViewPager配合使用。 展示: 添加依赖compile 'com.android.support:design:25.3.1'两种方式添加Tab第一种:<android.support.design.widget.TabLayout android:id="@+id/tab_layout" android:l翻译 2017-07-28 16:51:36 · 862 阅读 · 0 评论 -
Android学习之网络请求(volley)二
VolleyVolley的设计目标非常适合去进行数据量不大,但通信频繁的网络 操作,而对于大数据量的网络操作,比如下载文件等,Volley的表现就会非常糟糕。 下图所示的这些应用都是属于数据量不大,但网络通信频繁的 volley可以自动缓存请求,它可以记住前一个调用同时处理Activity的销毁和重建内部架构volley分为三层,每一层都工作在自己的线程中 主线程 在主线程,只允许触发请求与翻译 2017-08-06 22:39:39 · 447 阅读 · 0 评论 -
安卓学习之控制软键盘的显示和隐藏
想要去控制软键盘,当然要用的它的manager 在24的API中找到InputMethodManager我们可以通过 methodManager = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); 得到这个Manager查看API文档,我看到这几个方法:hideSoftInputFromInputMethod(IBinde原创 2017-08-22 17:29:14 · 717 阅读 · 0 评论 -
Android学习之创建自定义View(入门)
自定义的view应该:遵守Android标准规则。提供自定义的风格属性值能够被Android XML Layout所识别发出可访问的事件能够兼容Android的不同平台Android的framework提供了许多基类与XML标签用来创建一个符合上面要求的view。Android framework里面定义的view类都继承自view。所以我们自己定义的view也可以直接继承view,或者可原创 2017-08-25 23:54:48 · 545 阅读 · 0 评论 -
android动画介绍--Animation实现loading动画效果
动画效果是通过Animation来实现的,一共有四种,分别为:AlphaAnimation:渐变透明度动画ScaleAnimation:尺寸渐变动画TranslateAnimation:水平移动动画RotateAnimation:旋转动画实践: 首先在Activity的布局文件中加入一个ImageView和TextVIew <ImageView android:layou转载 2017-09-04 20:58:21 · 1403 阅读 · 0 评论 -
EditText弹出软键盘遮住输入框问题
如果在activity中的布局的下方有EditText,获取焦点的时候,弹出软键盘,会遮盖输入框需要用到EditText的布局大概分为两种,一种是页面显示的内容不希望有残缺,比如软键盘把标题挤出了屏幕,如登录注册搜索等,EditText多半在页面上半部分.另一种是页面的上半部分不重要,比如聊天窗口,软键盘弹出的时候,上半部分的聊天记录可以被基础屏幕外,EditText多半在最下方.网上针对这个问题解转载 2017-08-15 23:59:40 · 691 阅读 · 0 评论 -
Android中View和ViewGroup介绍
概念Android中的view与我们以前理解的“视图”不同。在Android中,view比视图具有更广的含义,它包含了用户交互和显示,更像Windows操作系统中的windowViewGroup是View的子类,所以它也具有View的特征,但它主要用来充当View的容器,将其中的view 视作自己的孩子,对它的子View进行管理,当然它的孩子也可以是VIewGroup类型ViewGroup和它的孩子转载 2017-09-06 21:22:01 · 3376 阅读 · 0 评论 -
Android学习之自定义ViewGroup
1,概述ViewGroup相当于一个放置VIew的容器,并且我们再写布局xml的时候,会高绿容器(凡是以layout为开头的属性,都是为用于告诉容器的)我们的宽度(layout_width)、高度(layout_height)、对齐方式(layout_gravity)等,当然还有margin 于是,ViewGroup的职能是:给chlidView计算出建议的宽和高和测量模式,决定childView转载 2017-09-07 16:40:53 · 267 阅读 · 0 评论 -
Android学习之网络请求(retrofit)
1.简介特别注意:准确拉说,retrofit是一个RESTful的HTTP网络请求框架的封装原因:网络请求的工作本质上是okHttp完成,而 retrofit仅负责网路请求接口的封装 App应用程序通过retrofit请求网络,实际上是使用retrofit接口层封装请求参数,Header,Url等信息,之后由OkHttp完成后续的请求操作在服务端返回数据之后,OkHttp将原转载 2017-08-16 18:32:19 · 1928 阅读 · 0 评论 -
Android学习之DrawerLayout
最近和实验室的伙伴一起做项目,用到了DrawerLayout,但是之前学的忘了,现在给自己做做总结DrawerLayout是Support Libarary包中显示了侧滑菜单效果的控件。 drawerLayout分为为侧边菜单和主内容区,侧边菜单可以根据手势打开和关闭,主内容去可以随着菜单的点击而变化DrawerLayout其实是一个布局控件,和LinearLayout一样,它最好是最外层布局,也原创 2017-09-28 18:25:16 · 517 阅读 · 0 评论 -
Android学习之OkHttp(浅学)
一,概述okhttp的简单使用主要包含:一般的get请求一般的post请求基于Http的文件上传文件下载加载图片支持请求回调,直接返回对象,对象集合支持session的保持使用亲,对于Android Stydio的用户原创 2017-09-15 23:37:11 · 207 阅读 · 0 评论 -
Android练习之自定义一个loading界面
我们先看看效果: 我在http://blog.csdn.net/wingichoy/article/details/50482271这里看到大大的效果,就想自己模仿练练手: 先分析,我们首先需要一个外圆,圆里面是一个箭头 而无论怎么,圆都是存在的 所以在onDraw中:@Override protected void onDraw(Canvas canvas) {原创 2017-10-03 18:05:48 · 543 阅读 · 0 评论 -
Android学习之沉浸式状态栏
最近做项目的时候,遇到了这个问题,给自己做个笔记。有时候我们需要某些背景或者自己定义的actionBar,由于状态栏的原因,会显得很突兀,不好看,所以我们需要对状态栏做一些处理这个需要Android4.4以上的如果我们不做处理,是这个样子的: 感觉很丑,不好看我们先看一个基础的概念: 首先,我们先隐藏状态栏加入下面这段代码:@Override protected void onCreat原创 2017-10-05 20:39:34 · 441 阅读 · 0 评论 -
Android学习之WebView和JS的交互
最近做一个项目的时候,需要写一个简单的富文本编译器 本来是打算用安卓里面的Span来写,可是太复杂了,然后看到JS中的富文本编译器,实现简单,代码逻辑清楚,所以记录记录现在很多App里面都内置了Web网页,涉及Android客户端和Web网页的交互 (感觉android快失业了~)其实android和JS相互调用时通过WebView,其实就是: android调JS代码 JS调android原创 2017-11-08 17:54:41 · 281 阅读 · 0 评论 -
Android学习之属性动画基础
Property Animation是一个很强劲的动画框架,几乎可以为所有的事物加上动画效果。相关APIDuration:动画的持续时间,默认300ms Time interpolation:时间差值,定义动画的变化率 Repeat count and behavior:重复次数,以及重复模式;可以定义重复多少次,重复时是从头开始还是反向 Animator set:动画集合,可以定义一组动画,翻译 2017-11-01 17:03:09 · 268 阅读 · 0 评论