面试类
Hi_AndG
接下来的一段时间内,我将整理之前学习android时候的笔记
展开
-
ListView详解
1.如何提高ListView的效率 ①:复用converterView,使用已经建好的对象。 ②:使用ViewHolde,减少findViewById()的次数 ③:对数据列表进行分页加载显示 1)通过Scroll监听ListView.setOnScrollListener,当到达底部时加载下一页列表数据并显示。 2)使用第三方,比如Android-PullToRefresh等 ④:图片原创 2016-12-10 23:49:53 · 330 阅读 · 0 评论 -
android应用第二次登录实现自动登录
1.第一次登陆getUserInfo里带一个长效token,该长效token用来判断用户是否登录和换取短token 2.通过sp存储将长效token保存起来。 3.接口请求用长效的token换取短token,短token服务端可以根据你的接口最后一次请求作为指示,超时时间为一天。 4.如果短小token失效在用长效token去替换 5.长效Token失效,提示用户再次登录原创 2016-12-18 22:33:38 · 5285 阅读 · 0 评论 -
Android自定义控件
View是什么 1.View类是所有用来构建用户界面组件的基类。 2.一个View对象占用屏幕上的一个矩形区域,它负责界面的绘制和事件处理 3.手机屏幕上看得见摸得着的都是ViewViewGroup 这里简单简绍一下ViewManager 1.addView():添加子View 2.removeView():删除子View 3.updateViewLayout():更新子View手机屏原创 2016-12-17 21:39:59 · 546 阅读 · 0 评论 -
四大组件之Activity
1.整体理解 Activity是一个负责与用户进行交互的组件。一个用户交互画面对应一个activity,可以通过setContentView(View v)方法来显示需要的控件。Activity是Context的子类,同时实现了window.callback接口(通过里面的dispatchTouchEvent方法可以分发事件)和keyevent.callback等,可以处理与窗体用户交互的原创 2016-12-14 22:20:56 · 539 阅读 · 0 评论 -
数据存储有几种方式?分别是什么?
Android提供了五种方式存储数据: 1)使用SharedPreferences存储数据;它是Android提供用来存储一些简单配置信息的一种机制,采用XML格式将数据存储到设备中。只能在同一个包中使用 2)文件存储数据;文件存储方式是一种较为常用的方法,在Android中读取/写入文件的方法,与Java中实现I/O的程序是完全一样的,提供了openFileInput()和openFileOu原创 2016-12-14 16:54:01 · 10644 阅读 · 0 评论 -
Service和IntentService的区别
Service主要用于后台服务当应用被挂到后台的时候,为了保证应用某些组件任然可以工作而引入了Service这个概念,这里面的Service不是独立的进程,也不是独立的线程,它是依赖于应用程序的主线程的,在更多的时候不建议在Service中编写耗时的逻辑和操作,否则会引起ANR。IntentService是继承Service的,那么它包含了Service的全部特性,当然也包含service的生命周期原创 2016-12-14 16:36:15 · 547 阅读 · 0 评论 -
Activity和Fragment如何进行通信
Activity向Fragment传递数据 一:通过bundle设置参数Bundle bundle = new Bundle(); bundle.putString(“name”,”加多宝”) setArguments(bundle); 二:通过调用接口,设置接口,让被接收数据方,实现该方法让发送方调用该接口Fragment向Activity 传递数据一:通过getActivity强转成需要接原创 2016-12-14 16:10:31 · 570 阅读 · 0 评论 -
你后台的Activity被系统回收怎么办?
重写onSaveInstanceState()方法,再次方法中保存需要保存的数据,该方法会在activity被GC回收之前调用。 在onRestoreInstanceState()方法中可以提取保存好的数据原创 2016-12-14 15:59:12 · 1433 阅读 · 0 评论 -
Android的四大组件是那些,它们的作用?
Activity是Android程序与用户交互的窗口,是Android构造块中最基本的一种,他需要保持各界面的状态,做很多持久化的事情,妥善管理生命周期以及一些跳转逻辑。Service:后台服务于Activity,封装一个完整的功能逻辑实现,接受上层指令,完成相关的事物ContentProvider:是Android提供的第三方应用数据的访问文案,可以派生ContentProvider类,对外提供数原创 2016-12-14 15:35:58 · 5308 阅读 · 0 评论 -
SlidingMenu与DrawerLayout的区别
SlidingMenu是一个开源框架实现效果更好,但是DrawerLayout直接写布局文件就好了。但是实现效果并没有SlidingMenu那么好。SlidingMenu与ViewPager搭配使用的时候避免左右滑动的时候SlidingMenu响应,可以自定义一个HorizontalScrollViewPager,实现水平滑动ViewPager通过反拦截返回true实现.原创 2016-12-17 20:11:35 · 905 阅读 · 0 评论 -
RadioGroup + Fragment实现项目框架搭建
RadioGroup + Fragment采用add()和hide()方法里实现切换,replace()每次都会调用onCreate()方法会出现卡顿的现象。横竖屏切换的时候导致重新创建Fragment问题:采用show(),hide()方法 解决横竖屏切换导致Fragment内容重叠问题:在功能清单文件中设置configChanges原创 2016-12-17 18:11:37 · 341 阅读 · 0 评论 -
Android常用控件和布局
文本类控件 TextView:负责文本展示,非编辑 可以做成跑马灯的效果 android:ellipsize=”marquee” android:marqueeRepeatLimit=”marquee_forever” android:singleLine=”true” EditText:可编辑文本控件(cursorVisible:光标的显示和影藏)按钮类控件 Button: Imag原创 2016-12-17 17:50:57 · 572 阅读 · 0 评论 -
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 · 459 阅读 · 0 评论 -
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 · 417 阅读 · 0 评论 -
Android中的动画
android的动画分为3大类:补间动画,帧动画,属性动画补间动画方式可以使视图组件移动,放大,缩小以及透明度的变化;可以通过布局文件,可以通过代码。 注意:补间动画并不改变属性的值,它只是改变了View对象绘制的位置,而没有改变View对象本身。Frame动画 传统的动画方法,通过顺序的播放排列好的图片来实现,类似电影。属性动画 通过动画的方式改变对象的属性。 比如: Duration:原创 2016-12-16 10:22:09 · 268 阅读 · 0 评论 -
采用AIDL调用远程服务
AIDL的作用: AIDL (Android Interface Definition Language)它是一种IDL 语言,用于生成可以在Android设备上两个进程之间通信的代码。如果一个进程中要调用另一个进程对象的操作,就可以使用AIDL实现。AIDL使用场合: 只有你允许客户端从不同的应用程序为了进程间的通信而去访问你的service,以及想在你的service处理多线程。调用远程服务原创 2016-12-19 21:52:52 · 488 阅读 · 0 评论