关于android
a516972602
这个作者很懒,什么都没留下…
展开
-
RecyclerView的简单使用
RecyclerView 是Android L版本中新添加的一个用来取代ListView的SDK,它的灵活性与可替代性比listview更好。接下来通过一系列的文章讲解如何使用RecyclerView,彻底抛弃ListView. 介绍: RecyclerView与ListView原理是类似的:都是仅仅维护少量的View并且可以展示大量的数据集。RecyclerView用以下两种方式简化了数据的展原创 2015-11-19 16:26:59 · 409 阅读 · 0 评论 -
android中ViewPage使用的细节问题
一、使用viewpager时每次滑动到最后一屏或者第一屏,再往边缘滑动时就会出展一个颜色渐变的效果,把那个效果禁止掉的方法: 在类中,加入以下代码private EdgeEffectCompat leftEdge; private EdgeEffectCompat rightEdge;try { Field leftEdgeField = mViewPa原创 2015-12-30 14:46:21 · 509 阅读 · 0 评论 -
整理一下最近的收获,java中接口的使用
最近在看公司的项目,发现关于接口的使用很多,但是因为没有经常使用接口的习惯,感觉代码好难看懂,可能是自己一直的代码都不规范导致的吧。其实使用接口,可以方便很多事情,java里面设计接口也不是没有道理的。说一下自己的简单理解吧,在父类中声明接口,并且调用接口,在子类中声明接口的具体实现方法。一个简单的demo方便理解:A类:public interface OnItemCLickListener{原创 2015-11-25 08:56:16 · 1588 阅读 · 0 评论 -
You need to use a Theme.AppCompat theme (or descendant) with this activity解决方法
最近一直在看项目,没有实际动手去做,实际写起来各种小问题根据公司项目,写一个框架,发现各种问题,主要是基础不牢导致的,以后一定先把基础学扎实在一个Activity中继承AppCompatActivity,写一个公用的actionbar,在直接运行的时候报错“You need to use a Theme.AppCompat theme (or descendant) with this a原创 2015-12-03 09:42:40 · 348 阅读 · 0 评论 -
PopupWindow的使用细节以及今天遇到的小问题
PopupWindow设置背景颜色,点击其他地方,pop会自动消失PopupWindow消失后的响应事件:setOndismissListener();在初始化PopupWindow时注意要setFocus(true),有些机型如果不设置焦点就不会响应里面条目的点击事件今天遇到的小问题,在创建桌面快捷方式时,代码没错,就是没有成功的创建桌面快捷方式,最后发现是没有设置创建桌面快原创 2015-09-21 17:44:14 · 2446 阅读 · 0 评论 -
android中Date对象的简单应用,以及TimePicker和DatePicker控件
一、Date对象的应用Date对象的定义Date date = new Date();获取简单数据格式date.toString();对date进行格式化,得到自己想要的格式利用sdk中的android.text.format包中的DateFormat类DateFormat.format("yyyy-MM dd-EE-HH:mm", date); // 第一个参数为原创 2016-01-05 15:28:59 · 627 阅读 · 0 评论 -
Android Studio遇到的一些小问题
现在刚刚学习使用Android Studio的使用,毕竟只是一个开发工具,不需要非常特意的去学习,而且既然谷歌专门的出的这个工具,肯定使用方法要很简单。导入SDK包问题。在eclipse使用中,需要什么SDK自带的包就直接复制这个包到libs里面就可以了,但是在AS中更加的简便,因为是直接引用SDK,所以在添加的时候直接右键点击项目——Open Module Settings选择Depende原创 2015-12-03 09:53:19 · 463 阅读 · 0 评论 -
RecyclerView的添加头部布局
忙碌一天,仔细一想,也就深入了解了一下RecyclerView,改了点bug。朋友在做一个类似朋友圈的页面,大体的看了下布局,感觉挺简单,但实际做起来并没有这么容易。大概就是一个RecyclerView,然后写一个item就能搞定的事,细节处理比较多,写一下步骤吧一个Item,大体布局:<LinearLayout xmlns:android="http://schemas.android.com/a原创 2015-12-07 19:02:31 · 1206 阅读 · 0 评论 -
RecyclerView的加载显示多种布局
RecyclerView是对ListView的封装,所以ListView上能用的方法对RecyclerView同样适用,并且会更简单在实际开发中,我们可能需要一个列表,显示多种布局,getItemViewType()方法完美解决了这个问题,在BaseAdapter中还有getViewTypeCount()这个方法。这里我们使用RecyclerView.Adapter。只用getItemViewTyp原创 2016-03-04 15:13:20 · 29309 阅读 · 1 评论 -
RecyclerView添加头布局
ListView有直接添加头布局的方法,而RecyclerView没有,但是并没有关系,RecyclerView的拓展性是很强的。我们可以通过多种方法来添加头布局,下面来说两种。第一种是直接根据位置判断,在Adapter中重写getItemViewType(int position)方法,根据位置来返回类型,在onCreateViewHolder()方法中通过viewType来判断需要加载哪种原创 2016-03-30 14:21:59 · 5799 阅读 · 0 评论 -
Fragment的用法
Fragment的引入,让Android具有了碎片化,即可以在一个页面,由多个碎片化的Fragment构成。页面具备了更多的灵活性,但是达成这种UI设计的灵活性也是有代价的,即更加复杂的应用、更多的部件管理以及更 多的实现代码。 虽然要可能会使代码更加复杂,但是却可以在手机和平板上公用一套代码,达到了一劳永逸的效果。 现在,让我们习惯Fragment,并且在项目中开始试着使用它吧 关于Fra原创 2016-02-22 09:22:10 · 387 阅读 · 0 评论 -
为什么要使用Fragment!
以下是我个人的一些理解,可能有偏差,会不断修改当Android3.0之后,谷歌引入了碎片化的Fragment。为什么要使用Fragment,这是我们首先应该探讨的问题。Android3.0主要是引入了平板,利用碎片化,可以很好的管理平板的界面,因为屏幕很大,一个页面肯定要由多个布局来构成,所以利用碎片化可以实现各个布局之间的解耦,方便管理。为什么要在手机上也提倡使用Fragment原创 2016-02-25 17:05:36 · 3740 阅读 · 0 评论 -
Android中Service与Activity数据交互的简单理解
Service跟Activity是最相似的组件,都代表可执行的程序,区别在于:Service一直在后台运行,没有跟用户交互的界面。 启动与停止Service有两种方法: 第一种通过startService()与stopService()启动和停止服务,Service与启动它的Activity无法进行通信和数据交换 第二种通过bindService()与unbindService()启动和停止服原创 2015-12-28 11:20:39 · 3976 阅读 · 0 评论 -
android标题栏的选择与使用,AppCompatActivity!
android的标题栏是非常重要的一部分,所以添加的方式有多种。可以通过布局文件,在清单文件中设置android:theme="@android:style/Theme.NoTitleBar"属性,来禁用到android自带的标题,然后利用布局一个个页面进行添加,这种方法是非常非常笨重的第二种是利用官方的ActionbarActivity来添加,但是ActionBar 的API只支持到AP原创 2016-01-06 17:34:26 · 12784 阅读 · 1 评论 -
容联云通讯的学习笔记二
先把demo中的功能理清,分析需要哪些功能吧容联云通讯中的demo也不是很复杂,运行demo。刚进入的界面是一个登陆界面,这里直接用手机号码登陆,进入主界面先看清单文件,ECApplication类是程序开启加载的类,先不管。程序的主入口是一个LauncherActivity(主页面tab),阅读代码可以看到,在进入的时候会在onResume()方法中判定,如果帐号为空就跳转到登陆界面LoginAc原创 2015-09-23 11:27:12 · 2310 阅读 · 2 评论 -
ViewPager设置完FragmentPagerAdapter后动态的进行增加删除Fragment
很多新闻类的App会有增加删除频道功能,也就是在ViewPager中动态的增加删除Fragment。标准的代码为public class NewsFragmentPagerAdapter extends FragmentPagerAdapter { private List mTitles; private List mNewsFragmentList; private原创 2016-12-12 21:45:30 · 4615 阅读 · 1 评论 -
android的Activity中onCreate方法参数用途
写过Android程序的都知道Activity中有一个名称叫onCreate的方法。该方法是在Activity创建时被系统调用,是一个Activity生命周期的开始。可是有一点容易被忽视,就是onCreate方法的参数saveInsanceState。因为在一般的程序开发中,很少用到这个参数。onCreate方法的完整定义如下:public void onCreate(Bundle s原创 2015-10-12 08:34:11 · 904 阅读 · 1 评论 -
android开发中关于VersionCode和VersionName
google为APK定义了两个关于版本属性VersionCode和VersionName,他们有不同的用途简单来说,VersionCode对消费者不可见,仅用于应用市场、程序内部识别版本,判断新旧等用途,在应用市场上第一次上传VersionCode=1,第二次就得为VersionCode=2,否则会上传失败VersionName是展示给用户的,用户可以通过他认知自己安装的版本,软件升级一般原创 2015-09-23 10:41:48 · 5952 阅读 · 0 评论 -
android中任务栈的处理方式
在运行android程序时,首先要了解程序的启动方式以及启动顺序,以此来进行对Activity的处理。程序都是在运行在任务栈中,每一个程序占用一个任务栈,遵循先进后出的原则程序的启动顺序如图:上图所示的操作为:在桌面上首先启动“我的项目程序”,首页“Activity1”,然后打开“Activity2”,然后返回桌面,打开“我的项目程序2”首页“Activity2”.原创 2015-10-13 08:44:59 · 598 阅读 · 0 评论 -
android LayoutParams 简单说明 理解 示例
简单说说 自己对 android LayoutParams的理解吧,xh写不出高级文章是低级写手。 public static class ViewGroup.LayoutParams extends Objectjava.lang.Object ↳ android.view.ViewGroup.LayoutParams //继承关系以下说明摘自官方文档E文好的可以看看 Clas转载 2015-09-15 09:50:20 · 374 阅读 · 0 评论 -
详解Java解析XML的四种方法—DOM/SAX/jdom/dom4j
最近在研究XML文件的生成和解析,网上资料很多,当然也参差不齐。写的没错误的通常是单独介绍了1种方法,介绍全的常常运行不起来。 小哆把4种方法汇总了一下,运行验证成功。点击此处,jar包免费下载XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已。基本的解析方式有两种,一种叫DOM,另一种叫SAX。SAX是基于事件流的解析,DOM是基于XML文档树结构的解析。假设我们XML的内容和结构如转载 2015-09-15 11:35:13 · 592 阅读 · 0 评论 -
android异步任务详解 AsynTask
android提供了一套专门用于异步处理的类。即:AynsTask类。使用这个类可以为耗时程序开辟一个新线程进行处理,处理完时返回。 其实,AsynTask类就是对Thread类的一个封装,并且加入了一些新的方法。编程时,两者都可以实现同样的功能。本文后面将对AsynTask和Thread进行比较。 1、AsynTask类结构 asysTask类主要用到的几个内部回调函数有: doIn转载 2015-09-15 10:57:47 · 419 阅读 · 0 评论 -
android开源框架andorid-async-http使用(下载上传文件)
应用: 从服务器获取图片地址,下载到手机显示1、点击此处,前往github下载 2、在工程中加入jar包,或直接把源文件加到工程中 3、点击此处查看android-async-http文档AsyncHttp使用回调的方法处得请求的结果。AsyncHttpClient client = new AsyncHttpClient();client.get("http://www.google.com转载 2015-09-15 11:13:24 · 427 阅读 · 0 评论 -
关于ExpandableListView用法的一个简单小例子
喜欢显示好友QQ那样的列表,可以展开,可以收起,在android中,以往用的比较多的是listview,虽然可以实现列表的展示,但在某些情况下,我们还是希望用到可以分组并实现收缩的列表,那就要用到android的ExpandableListView,今天研究了一下这个的用法,也参考了很多资料动手写了一个小demo,实现了基本的功能,但界面优化方面做得还不够好,有待改进,素材采用了Q版三国杀武将的图片转载 2015-09-15 11:19:56 · 460 阅读 · 0 评论 -
BaseAdapter的使用
BaseAdapter中的4个方法: @Override public int getCount() { // TODO Auto-generated method stub return 0; } @Override public Object getIt原创 2015-09-17 16:05:50 · 427 阅读 · 0 评论 -
容联云通讯的学习笔记一
容联云通讯demo下载 1、登陆类LoginActivity,一个界面,没有太多解释2、初始化及登陆 ✾ 在程序入口初始化SDK并设置代理—初始化应该在程序完全启动(Android Application 创建完成)之后才能调用。 初始化及登录建议在一个函数体中处理,这样比较简单。在初始化及登录的过程中要做三件事: (1)初始化sdk (2)设置”通知回调”的监听 (3)登录 具体代码原创 2015-09-18 11:56:54 · 3749 阅读 · 0 评论 -
整理一下今天的收获(getSharePreferences的使用,解决在非onCreate方法中无法使用的情况)
简单的即时通讯,直接引用容联云的UI组件库就可以,有群组跟单聊功能,也可以自己更改库的内容,增加功能,总之做一些单聊是足够了,好了,说一下今天学到的东西在使用SharedPreferences时会发现,如果类没有继承Activity,没有执行onCreate方法时,使用getSharePreferences()方法不能获取到SharedPreferences对象,这就会造成一个严重的问原创 2015-09-24 15:56:35 · 2650 阅读 · 0 评论 -
PopupWindow的特殊情况
PopupWindow在不同机型有不同的结果,大部分机型在创建出PopupWindow对象后会自动响应点击事件,有部分机型不会响应点击事件,需要setFocusable(true),获取焦点之后才可以响应点击事件。但是获取焦点之后点击Button不会再响应(焦点被抢走),嗯。。。是个问题。今天昏昏沉沉的上了一天班,下个星期要调整状态,好好学习了。原创 2015-09-19 17:32:56 · 349 阅读 · 0 评论 -
android控件DatePicker的使用
DatePicker控件是一个比较常用的控件了,但是在网上搜索到的信息却很少,好多属性方法都没有详细的介绍,自己根据实际项目使用过的一些方法,在网上搜到了很多开源的时间选择器,都没有达到自己想要的效果,还是用android自带的这个控件实现吧DatePicker的选择时间的颜色是固定的,不知道怎么调。DatePicker几个一定用到的方法:初始化方法:void android.widget.Date原创 2015-10-09 16:39:08 · 2879 阅读 · 0 评论 -
点击控件进行计时操作
最开始的想法是做一个TimeButton继承Button,利用计时器,在后台进行计时操作,会导致一个问题重新进入界面,仍然在进行计时操作 自定义方法TimeCount继承计时器CountDownTimer 构造函数: public TimeCount(long millisInFuture, long countDownInterval) { super(millis原创 2015-09-21 10:22:59 · 478 阅读 · 0 评论 -
Android开发:获取屏幕宽和高的两种方法(px、dip、分辨率之间的关系及px与dip互相转化)
获取屏幕宽和高的两种方法 方法一、代码如下:WindowManager wm = (WindowManager)getSystemService(Context.WINDOW_SERVICE); Display display = wm.getDefaultDisplay(); Log.i(tag, "屏幕尺寸1: 宽度 = "+display.getWidth()+"高度 = :"+di转载 2015-10-09 14:41:04 · 569 阅读 · 0 评论 -
Android Fragment 基本介绍
之前一直没有接触过Fragment,在看容联云通讯的demo时发现有大量使用该类,于是查了一下用法,发现该类的功能很强大,而且可以灵活使用。 基本介绍: Android运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视。针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套App,然后拷贝一份,修改布局以适应平板神马超级大屏的。难道无法做到一个App可以同时适应手机和平板么,当然了,必原创 2015-10-10 09:56:56 · 506 阅读 · 0 评论 -
浅析android中的Bundle类
Bundle的介绍是这样的:A mapping from String values to various Parcelable types类继承关系:java.lang.Object android.os.BundleBundle类是一个final类:public final class Bundle extends Objectimplements原创 2015-09-22 09:28:09 · 761 阅读 · 0 评论 -
百度云推送,直接运用demo到项目中
百度云推送的demo写的很详细,可以把整个demo拷到自己的项目中直接运用(处于程序猿阶段的)。复制粘贴代码一向是我的强项。运用百度云推送,具体查看百度云推送demo,不贴代码了。说一下遇到的几个问题:1、基于地理位置的推送,在控制台中有这个选项,在代码中将精确LBS模式打开,但是在控制台中发送推送消息,设备仍然没有收到推送,刚开始以为是自己代码写的有问题,于是将官网给的demo直接运原创 2015-09-16 13:10:31 · 1994 阅读 · 0 评论 -
整理一下今天遇到的一些小问题
容联云通讯组件库集成了简单的聊天功能,可以进行简单的即时聊天,群组目前还不是很完善,适合快速开发而且适用于仅一对一单聊,有很大的局限性。容联云通讯的demo还是要慢慢看利用容联云通讯组件库,在导入library的时候,项目中的Private Libraries会自动消失,不知道应该从何下手,无奈找到了容联云的技术支持,给很快解决了(要给个攒啊)。主要造成的原因是项目中的v4包跟组件库中的v4的原创 2015-09-23 17:17:47 · 474 阅读 · 0 评论 -
android中使用SharedPreferences保存数据丢失的问题
当应用第一次启动使用SharedPreferences保存数据之后重启应用会造成保存的数据丢失,但是确实保存过。造成这种现象发生的原因是因为多进程调用了SharedPreferences来保存数据。有些手机可以跨进程使用SharedPreferences,有些则不行。解决办法是在主进程里面使用一个SharedPreferences文件夹,在其他进程里面使用其他的SharedPreferences文原创 2017-09-05 09:06:29 · 12505 阅读 · 2 评论