android 笔记
文章平均质量分 67
Hank铄
调皮捣蛋
展开
-
Fragment 理解
在碎片中模拟返回栈 FragmentTransaction中提供了一个addToBackStack()方法,可以用于将一个事务添加到返回栈中FragmentManager fragmentManager = getFragmentManager();FragmentTransaction transaction = fragmentManager.beginTransacti原创 2015-07-22 10:33:22 · 492 阅读 · 0 评论 -
Android中ListView添加事件并获取选中项的值
以下这篇文章,清晰而完整地讲解了ListView通过适配器来配置其样式的方法和点击事件的实现:android ListView添加事件并获取选中项的值,ListView是一个经常用到的控件,ListView里面的每个子项Item可以是一个字符串,也可以是一个组合控件。main.xml代码如下: [html] view plaincopy<?xml version="1.0" encoding="u转载 2015-12-22 15:11:23 · 1549 阅读 · 1 评论 -
Android Serializable接口 详解
在编写程序,通常我们需要通过Intent和Binder传输数据时就需要使用Serialzable或者Pacelable完成对象的序列化过程。 Serializable是java所提供的一个序列化接口,其实是一个空接口,为对象提供标准的序列化和反序列化操作。在Android中也提供了新的序列化方式,那就是Parcelable接口,使用Parcelable来实现对象的序列号稍复杂点,本篇就原创 2015-12-07 11:57:55 · 1272 阅读 · 0 评论 -
安卓四大组件详解
1、 Activity Android 中,Activity 是所有程序的根本,所有程序的流程都运行在Activity 之中,Activity可以算是开发者遇到的最频繁,也是Android 当中最基本的模块之一。在Android的程序当中,Activity 一般代表手机屏幕的一屏。如果把手机比作一个浏览器,那么Activity就相当于一个网页。在Activity 当中可以添加一些Button、Ch原创 2015-12-08 16:52:40 · 599 阅读 · 0 评论 -
android listView 下拉刷新的实现
其实我们在做很多项目都会遇到下拉刷新跟下拉架在这种情况,今天我就简单说一下listView很常用的这种应用下拉刷新吧,那我现在闲话不多说,直接上代码吧。。。 MainActivity.javapackage com.imooc.listviewfrashdemo1;/** * @author 家铄 * @QQ1466181491 */import java.uti原创 2015-12-25 17:17:29 · 851 阅读 · 0 评论 -
Android下的屏幕适配
什么是适配 适配 即当前应用在相同的手机上面显示相同的效果。 适配前需要首先确定当前手机所属像素密度类型(如:xhdpi、hdpi、mdpi等),下面以华为G700、模拟器为例,讲解如何计算像素密度。 案例一: 手机型号:G700 手机分辨率:1280*720 (注:手机两个直角边上分别放置了1280及720个像素点) 手机尺寸大小:5英寸(手机斜边长度)假设a,b分别为两个直角边,c为原创 2016-01-12 12:20:05 · 439 阅读 · 0 评论 -
在eclipse中将android工程打包成apk 获取正式版本 Android 打包签名 从生成keystore到完成签名
做完一个Android项目之后,如何才能把项目发布到Internet上供别人使用呢?我们需要将自己的程序打包成Android安装包文件--APK(Android Package),其后缀名为".apk"。将APK文件直接上传到Android模拟器或Android手机中执行即可进行安装。Android系统要求具有其开发者签名的私人密钥的应用程序才能够被安装。生成数字签名以及打包项目成APK都可以采用原创 2016-03-02 09:39:12 · 7845 阅读 · 0 评论 -
自定义ANDROID中EDITTEXT中的HINT文本的大小
EditText中的文字在设定大小后, Hint文本由于太长导致在EditText中无法完整的显示, 所以问有没有单独设置Hint文本大小的选项. 在网上看了一下都没有这方面的介绍. 于是我看了下TextView的源码(EditText继承自TextView), 发现了一些端倪,如下:public final void setHint(CharSequence hint) { mHint =转载 2016-02-15 16:10:41 · 610 阅读 · 0 评论 -
Android ListView 工作理完全解析 带你从源码的角度彻底理解
在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移动到屏幕内了。另外ListView还有一个非常神奇的功能,我相信大家应该都体验过,即使在ListView中加载非常非常多的数据,比如达到成百上千条甚至更多,转载 2016-02-26 16:17:55 · 738 阅读 · 0 评论 -
android Fragment的切换(解决replace的低效)
在项目中切换Fragment,一直都是用replace()方法来替换Fragment。但是这样做有一个问题,每次切换的时候Fragment都会重新实列化,重新加载一次数据,这样做会非常消耗性能用用户的流量。官方文档解释说:replace()这个方法只是在上一个Fragment不再需要时采用的简便方法。正确的切换方式是add(),切换时hide(),add()另一个Fragment;转载 2016-04-10 12:53:40 · 2630 阅读 · 0 评论 -
Android 6.0 运行时权限处理完全解析
一、概述随着Android 6.0发布以及普及,我们开发者所要应对的主要就是新版本SDK带来的一些变化,首先关注的就是权限机制的变化。对于6.0的几个主要的变化,查看查看官网的这篇文章http://developer.android.com/intl/zh-cn/about/versions/marshmallow/android-6.0-changes.html,其中当然包含Runtim转载 2016-05-24 14:50:04 · 662 阅读 · 0 评论 -
快速集成一个视频直播功能
前言前段时间的工作安排,需要做一个视频监控的功能,其实就是采用 m3u8 做一个直播。确定需求后进行了一堆调研,最后在B站的 ijkplayer 与 Google 的 ExoPlayer 中做出了选择,对于为啥选择了 ExoPlayer ,后面会做具体分析,目前先留点悬念,目前根据选择 ExoPlayer,从最初调研到集成成功打算做一个专题,分别从众多框架中为何选择了 ExoPla转载 2017-09-22 16:30:30 · 517 阅读 · 0 评论 -
Android使用Fragment打造万能页面切换框架(二)
private static List> mActivities = newArrayList>(); //所有activity的引用 private Handler mHandler = null; //线程安全的handler private WeakReference mCurrentInstance = null; //当前activity的引用原创 2016-04-08 14:23:32 · 1317 阅读 · 0 评论 -
Android使用Fragment打造万能页面切换框架(一)
首先我们来回忆一下传统用Activity进行的页面切换,activity之间切换,首先需要新建intent对象,给该对象设置一些必须的参数,然后调用startActivity方法进行页面跳转。如果需要activity返回结果,则调用startActivityForResult方法,在onActivityResult方法中获得返回结果。此外,每一个要展示的activity需要在AndroidMani原创 2016-04-08 14:12:37 · 5045 阅读 · 1 评论 -
Android 基于百度的天气预报
我在做一个项目需要一个天气预报这个功能,找了一些资料好不容易整出来, 先上个效果图吧现在就跟大家分享吧,闲话不多说,我就直接上代码吧资料下载天气预报小demoWeatherScreen.javapackage cn.hhs.activity;import android.app.Activity;import android.app.AlertDialog;import android.app原创 2015-12-18 14:51:40 · 1704 阅读 · 0 评论 -
Fragment中出现java.lang.NullPointerException 空指针 上下文为空时
之前做项目时,DUBUG时,明明Fragment都getActivity()获取上下文啦,怎么还是会出现上下文为空呢,到网上查了好了好久,终于找到了一个方法,今天就跟大家分享一下吧首先我先多说一句,Fragment是依附于Activity中的(Fragment跟Activity生命周期如下俩图),那我获取主Activity的上下文岂不就是获取了fragment的上下文呢,这样一试,尼玛真的就解原创 2015-09-22 15:35:24 · 2246 阅读 · 0 评论 -
Android UI模板设计 TopBar 标题栏的设计
首先大家先看一下下面俩个图 仔细观察我红框标出来的部分,这个标题栏topbar是不是有一些共同点啊,如果让你实现的话,你会如何去做呢,首先你会想到的是我一个个的写出来啊,很简单啊,可是你想一想,如果是一个项目的话,他的这个topbar会有多少个,而往往领导会经常让你去变动,你会有什么感受呢,现在就给大家说一下关于topBar的自定义控件,也就是我们所有的标题栏topbar都用一个,变动的话当然原创 2015-10-10 11:46:38 · 911 阅读 · 0 评论 -
Fragment的限定符
如果你经常使用平板电脑,应该会发现很多的平板应用现在都采用的是双页模式(程序会在左侧的面板上显示一个包含子项的列表,在右侧的面板上显示内容),因为平板电脑的屏幕足够大,完全可以同时显示下两页的内容,但手机的屏幕一次就只能显示一页的内容,因此两个页面需要分开显示。那么怎样才能在运行时判断程序应该是使用双页模式还是单页模式呢?这就需要借助限定符(Qualifiers)来实现了。我们通过一个例子来学原创 2015-07-22 10:45:05 · 958 阅读 · 2 评论 -
全局大喇叭 广播机制 Receiver
其实之前也没用过广播,等做到一定功能点时突然发现广播是很重要的,现在就简单说一下广播吧Android中的广播主要可以分为两种类型,标准广播和有序广播。标准广播(Normal broadcasts)是一种完全异步执行的广播,在广播发出之后,所有的广播接收器几乎都会在同一时刻接收到这条广播消息,因此它们之间没有任何先后顺序可言。这种广播的效率会比较高,但同时也意味着它是无法被截断的。原创 2015-08-29 14:18:37 · 843 阅读 · 0 评论 -
随手涂鸦
之前其实就感觉这个小功能很实用,现在就简单说一下吧,首先要画画我们肯定会想到的需要画板,画笔跟画纸,其实android也是如此,需要我先说一下布局吧。<ImageView android:id="@+id/iv_image" android:layout_width="fill_parent" android:layout_height="fill_parent" /><B原创 2015-09-03 20:41:29 · 601 阅读 · 0 评论 -
SharedPreferences总结
做软件开发应该都知道,很多软件会有配置文件,里面存放这程序运行当中的各个属性值,由于其配置信息并不多,如果采用数据库来存放并不划算,因为数据库连接跟操作等耗时大大影响了程序的效率,因此我们使用键值这种一一对应的关系来存放这些配置信息。SharedPreferences正是Android中用于实现这中存储方式的技术。之前学习的时候不注重总结,现在终于懂了,回顾之前发现这个做软件开发应该都知道,很多软件原创 2015-09-05 10:46:55 · 548 阅读 · 0 评论 -
百度地图之添加覆盖物
添加覆盖物,顾名思义就是在地图上添加一些自定义的东西。首先我就先添加一下图片,而百度也给我们开发者一些接口,这个覆盖物我们可以直接创建Marker,OverlayOptions。 OverlayOptions地图覆盖物选型基类 Marker 定义地图覆盖物,具体可参考下面百度地图的api http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/v3_5_原创 2015-09-12 16:01:26 · 665 阅读 · 0 评论 -
万能适配器1 ViewHolder应用于Listview
在上一篇介绍到ViewHolder是什么啦,在这里我就不多解释啦,大家应该对传统的ListView应用很熟悉啦吧,毕竟很常见,在这里废话不多说,直接上代码(常见的ListView使用)bean.javapackage com.bean;public class Bean { private String title; private String desc; private原创 2015-10-02 09:01:38 · 1219 阅读 · 0 评论 -
Android ViewHolder的作用与用法 详解
ViewHolder通常出现在适配器里,为的是listview滚动的时候快速设置值,而不必每次都重新创建很多对象,从而提升性能。在android开发中Listview是一个很重要的组件,它以列表的形式根据数据的长自适应展示具体内容,用户可以自由的定义listview每一列的布局,但当listview有大量的数据需要加载的时候,会占据大量内存,影响性能,这时候就需要按需填充并重新使用view来减少对象原创 2015-10-01 17:04:27 · 14843 阅读 · 1 评论 -
万能适配器2 通用Adapter编写
上一篇介绍到MyAdapterVieHolder extends BaseAdapter这里,我还是每次写这个Adapter有点烦,我可不可以自定义一个BaseAdapter来减少代码量跟提高效率呢,想到了咱就来写一写吧, 自定义一个Adapter为 CommonAdapter.javapackage com.utils;import java.util.List;import androi原创 2015-10-02 11:34:59 · 432 阅读 · 0 评论 -
Android传感器开发
Android的传感器开发1.1 开发传感器应用开发传感器的步骤如下:调用Context的getSystemService(Context.SENSOR_SERVICE)方法获取SensorManager对象。调用SensorManager的getDefaultSensor(int type)方法来获取指定类型的传感器。一般在Activity的onResum转载 2015-09-17 14:56:12 · 789 阅读 · 0 评论 -
Android 在ScorllView中ListView和GridView冲突解决方案
首先要说的一点就是,ListView跟GridView是一个用法差不多,解决方法也差不多,这个相信大家都明白,我就不多解释啦。但是我要强调一点的是**ScorllView包裹内容只能是一个,如果想要包裹多个控件的话,你可以放在一个LinearLayout或者RelativeLayout中就哦了,这样问题就解决啦**在这里我就介绍一下我遇到的俩个问题吧(在这里我就以ListView为例吧,Gri原创 2015-10-06 11:24:29 · 1082 阅读 · 0 评论 -
android LayoutInflater和inflate()方法的用法
LayoutInflater作用是将layout的xml布局文件实例化为View类对象。 实现LayoutInflater的实例化共有3种方法, (1).通过SystemService获得 LayoutInflater inflater = (LayoutInflater)context.getSystemServices(Context.LAYOUT_INFLAT转载 2015-10-23 11:34:18 · 419 阅读 · 0 评论 -
百度地图---定位
首先现在地图应用的很广泛,不多言,今天我要说的就是百度地图上定位功能,首先你肯定需要调用百度接口,所以就应用到百度的JAR包,配置我就不说了,可以参考这的http://developer.baidu.com/map/index.php?title=androidsdk(创建并配置工程)登陆百度账号创建一个基本地图,这个我就不废话说了,因为 官网百度地图API上都有。 相信大家这个都会,接下来就是重原创 2015-09-11 20:20:05 · 673 阅读 · 0 评论 -
Android 裁剪图片为圆形图片
现实中相信大家都会发现圆形头像真的感觉棒棒哒,接下来就是圆形的制作,直接上源码:其实就是将一张图片资源bitmap传入这个方法,通过这个方法返回的便是一张圆形图片啦/** * 转换图片成圆形 * * @param bitmap * 传入Bitmap对象 * @return原创 2015-09-20 16:39:41 · 864 阅读 · 0 评论 -
Android使用Fragment打造万能页面切换框架(三)
接下来就是处理基类BaseFragment的问题了,这里贴出该类所有代码,具体请参考注释。public class BaseFragment extends Fragment { private static final String TAG = BaseFragment.class.getSimpleName(); protected Activity mActivi原创 2016-04-08 14:25:05 · 4390 阅读 · 0 评论