- 博客(28)
- 收藏
- 关注
原创 广播的分类,注册,本地广播
简单简绍一下同步和异步的区别 同步:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。 异步:发送方发出数据后,不等接收方响应,接着发送一下个数据包的通讯方式。标准广播: 异步执行,效率高,无法被拦截。 有序广播: 同步执行,可以截断,优先级高的广播接收器就可以先收到广播消息。
2016-12-30 16:42:16 4207
原创 碎片和活动之间进行通信
为了方便碎片和活动之间进行通信,FragmentManager提供了一个类似于findViewById()的方法,专门用于从布局文件中获取碎片实例、RightFragment rightFragment = (RightFragment)getFragmentManager()findFragmentById(R.id.right);碎片调用活动中的方法 MainActivity activity
2016-12-28 18:29:05 1028
原创 采用AIDL调用远程服务
AIDL的作用: AIDL (Android Interface Definition Language)它是一种IDL 语言,用于生成可以在Android设备上两个进程之间通信的代码。如果一个进程中要调用另一个进程对象的操作,就可以使用AIDL实现。AIDL使用场合: 只有你允许客户端从不同的应用程序为了进程间的通信而去访问你的service,以及想在你的service处理多线程。调用远程服务
2016-12-19 21:52:52 473
原创 android应用第二次登录实现自动登录
1.第一次登陆getUserInfo里带一个长效token,该长效token用来判断用户是否登录和换取短token 2.通过sp存储将长效token保存起来。 3.接口请求用长效的token换取短token,短token服务端可以根据你的接口最后一次请求作为指示,超时时间为一天。 4.如果短小token失效在用长效token去替换 5.长效Token失效,提示用户再次登录
2016-12-18 22:33:38 5261
原创 Android自定义控件
View是什么 1.View类是所有用来构建用户界面组件的基类。 2.一个View对象占用屏幕上的一个矩形区域,它负责界面的绘制和事件处理 3.手机屏幕上看得见摸得着的都是ViewViewGroup 这里简单简绍一下ViewManager 1.addView():添加子View 2.removeView():删除子View 3.updateViewLayout():更新子View手机屏
2016-12-17 21:39:59 532
原创 SlidingMenu与DrawerLayout的区别
SlidingMenu是一个开源框架实现效果更好,但是DrawerLayout直接写布局文件就好了。但是实现效果并没有SlidingMenu那么好。SlidingMenu与ViewPager搭配使用的时候避免左右滑动的时候SlidingMenu响应,可以自定义一个HorizontalScrollViewPager,实现水平滑动ViewPager通过反拦截返回true实现.
2016-12-17 20:11:35 894
原创 RadioGroup + Fragment实现项目框架搭建
RadioGroup + Fragment采用add()和hide()方法里实现切换,replace()每次都会调用onCreate()方法会出现卡顿的现象。横竖屏切换的时候导致重新创建Fragment问题:采用show(),hide()方法 解决横竖屏切换导致Fragment内容重叠问题:在功能清单文件中设置configChanges
2016-12-17 18:11:37 330
原创 Android常用控件和布局
文本类控件 TextView:负责文本展示,非编辑 可以做成跑马灯的效果 android:ellipsize=”marquee” android:marqueeRepeatLimit=”marquee_forever” android:singleLine=”true” EditText:可编辑文本控件(cursorVisible:光标的显示和影藏)按钮类控件 Button: Imag
2016-12-17 17:50:57 557
原创 View Animator(Tween Animator)、Drawable Animator(Frame Animator)、Property Animator
1.View Animator(Tween Animator) 可以通过一个容器内执行一系列简单变化(位置,大小,透明度,旋转)等。 View动画只能够为View添加动画,它改变的是View的绘制效果,view的属性没有发生改变,其位置和大小都不会变。2.Drawable Animator(Frame Animator) 把一系列图片,按照幻灯片的效果播放出来。3.Property Anima
2016-12-17 15:35:54 445
原创 Okhttp,Volley,xUtils,HttpURLConnection联网框架
volley是一个简单的异步http库,仅此而已。比较适合小而繁琐的Http请求。缺点是不支持同步,这点会限制开发,不是上传大文件。okHttp是高性能的http库,支持同步,异步,而且实现了spdy、http2、websocket协议。可以结合retrofit和rxJava配合使用。xUtils太大了,而且太杂。HttpURLConnection:是官方的,在Android4.0之后被okhttp
2016-12-16 11:06:29 407
原创 Android中的动画
android的动画分为3大类:补间动画,帧动画,属性动画补间动画方式可以使视图组件移动,放大,缩小以及透明度的变化;可以通过布局文件,可以通过代码。 注意:补间动画并不改变属性的值,它只是改变了View对象绘制的位置,而没有改变View对象本身。Frame动画 传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。属性动画 通过动画的方式改变对象的属性。 比如: Duration:
2016-12-16 10:22:09 257
原创 四大组件之Activity
1.整体理解 Activity是一个负责与用户进行交互的组件。一个用户交互画面对应一个activity,可以通过setContentView(View v)方法来显示需要的控件。Activity是Context的子类,同时实现了window.callback接口(通过里面的dispatchTouchEvent方法可以分发事件)和keyevent.callback等,可以处理与窗体用户交互的
2016-12-14 22:20:56 529
原创 数据存储有几种方式?分别是什么?
Android提供了五种方式存储数据: 1)使用SharedPreferences存储数据;它是Android提供用来存储一些简单配置信息的一种机制,采用XML格式将数据存储到设备中。只能在同一个包中使用 2)文件存储数据;文件存储方式是一种较为常用的方法,在Android中读取/写入文件的方法,与Java中实现I/O的程序是完全一样的,提供了openFileInput()和openFileOu
2016-12-14 16:54:01 10544
原创 Service和IntentService的区别
Service主要用于后台服务当应用被挂到后台的时候,为了保证应用某些组件任然可以工作而引入了Service这个概念,这里面的Service不是独立的进程,也不是独立的线程,它是依赖于应用程序的主线程的,在更多的时候不建议在Service中编写耗时的逻辑和操作,否则会引起ANR。IntentService是继承Service的,那么它包含了Service的全部特性,当然也包含service的生命周期
2016-12-14 16:36:15 530
原创 Activity和Fragment如何进行通信
Activity向Fragment传递数据 一:通过bundle设置参数Bundle bundle = new Bundle(); bundle.putString(“name”,”加多宝”) setArguments(bundle); 二:通过调用接口,设置接口,让被接收数据方,实现该方法让发送方调用该接口Fragment向Activity 传递数据一:通过getActivity强转成需要接
2016-12-14 16:10:31 556
原创 你后台的Activity被系统回收怎么办?
重写onSaveInstanceState()方法,再次方法中保存需要保存的数据,该方法会在activity被GC回收之前调用。 在onRestoreInstanceState()方法中可以提取保存好的数据
2016-12-14 15:59:12 1419
原创 Android的四大组件是那些,它们的作用?
Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,他需要保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑。Service:后台服务于Activity,封装一个完整的功能逻辑实现,接受上层指令,完成相关的事物ContentProvider:是Android提供的第三方应用数据的访问文案,可以派生ContentProvider类,对外提供数
2016-12-14 15:35:58 5279
原创 ListView详解
1.如何提高ListView的效率 ①:复用converterView,使用已经建好的对象。 ②:使用ViewHolde,减少findViewById()的次数 ③:对数据列表进行分页加载显示 1)通过Scroll监听ListView.setOnScrollListener,当到达底部时加载下一页列表数据并显示。 2)使用第三方,比如Android-PullToRefresh等 ④:图片
2016-12-10 23:49:53 317
原创 Activity解析(五)-活动的启动模式
在功能清单文件通过android:launchMode来设置启动模式 1.standard:每次不在乎栈中是否已经存在这个活动了,每次启动都会新建一个该活动的新的实例。 2.singleTop:栈顶如果是该元素,可以直接使用,不会再创建新的活动实例。当元素不再栈顶的时候还是会创建的。 3.singleTask:每次启动活动前都会检查该活动是否存在,存在则将它上面的活动功能移出栈;不存在就创建一
2016-12-10 22:56:28 279
原创 Activity解析(三)-活动的生命周期
在讲解活动的生命周期之前,简单的给大家简绍一下Activity是如何管理的。在Android中我们通过使用任务栈(Task)来管理活动,一个任务栈中存放了多个Activity。栈的特点是先进后出。1.活动的状态(我主要是根据活动是否在栈顶和可见性来区分的)
2016-12-09 00:45:50 400
原创 Activity解析(二)
本文主要讲解Intend在活动之间使用的情况。大致分为以下几种方式: 1.使用显示Intent 2.使用隐式Intent 3.调用系统action的Intent 4.携带参数的Intent 5.带回调的Intent在说明上面这些知识点之前,先简单为大家简绍一下的作用:
2016-12-09 00:08:13 321
转载 Android 节操视频播放器jiecaovideoplayer使用
效果图:主要特点:全屏时启动新Activity实现播放器真正的全屏功能能在ListView、ViewPager和ListView、ViewPager和Fragment等多重嵌套模式下全屏工作ListView的拖拽和ViewPager的滑动时如果划出屏幕会自动重置视频视频大小的屏幕适配,宽或长至少有两个对边是充满屏幕的,另外两个方向居中可以在加载、暂停、播放等各种状态中正常进入全屏和退出全屏根据自己
2016-12-08 15:35:04 5682 2
原创 MVC设计模式
对于刚刚接触android的人来说,对于设计模式一定比较熟悉。在java学习的时候我们接触过单列设计模式,工厂设计模式等。今天我将简单的给大家分享android的一种设计模式–MVC设计模式。 MVC(全称:Model-View-Controller):MVC设计模式表明,应用的任何对象归根到底都属于模型对象、视图对象和控制对象中的一种。 模型对象:用来存储和管理应用数据,你可以理解为一个Jav
2016-12-08 10:01:19 558
原创 android入门
知识点 1.android的系统架构 2.AndroidManifest.xml文件中确定主界面的代码 3.区分AppCompatActivity与Activity的区别 4.build.gradle详解(笔记一下,以后用的时候直接查看)1.在介绍android的系统架构之前大家先看一张图android系统架构包含四个层面:Linux内核层,系统运行层,应用框架层,应用层。①Linux内
2016-12-07 23:52:23 303
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人