![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
自学之路—Android
花前月下的细说
不要在生气时做决定,不要在高兴时许诺。
记录生活点滴公众号:桥豆麻袋的小屋
展开
-
对于Java回调的最深刻解析
先说点什么这些天,没啥事的时候,就想到什么,就去找点资料看,补充学习一下,以前老是忘记的东西,或者新听到的东西。这次,就记录一下之前一直很容易弄混的概念,回调。其实随便谷歌百度一下,都能找到各种例子解析什么的,不过,我相信你也会和我一样,看的时候觉得很简单,也很容易理解,不过,过一阵子之后,突然需要用的时候,又不清不楚了,又去找资料啊,看代码啊,找例子啊。说多都是泪,我就是这样过来的。!第一站,来原创 2016-09-18 14:30:17 · 2943 阅读 · 13 评论 -
Android Layout_weight 解密
首先看一个布局:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"原创 2015-10-27 19:51:11 · 2318 阅读 · 0 评论 -
Android Binder机制
什么是Binder1. 直观来说,Binder是Android中的一个类,它继承了IBinder接口2. 从IPC角度来说,Binder是Android中的一种跨进程通信方式,Binder还可以理解为一种虚拟的物理设备,它的设备驱动是/dev/binder,该通信方式在linux中没有3. 从Android Framework角度来说,Binder是ServiceManager连接各种Manager原创 2015-10-12 17:31:29 · 2224 阅读 · 1 评论 -
Android自定义View之跟随手指一起滑动的五色的小球
一、 实现的功能:手指在屏幕上滑动,变幻颜色的小球始终跟随手指移动。 二、 实现的思路: 1)自定义View,在onDraw中画圆作为小球; 2)重写自定义View的onTouchEvent方法,记录触屏坐标,用新的坐标重新绘制小球。 三、 关键技术点:自定义View应用、触摸事件处理、canvas绘图、Paint应用 四、 实现步骤:第一步:新建一个工程,命名为MyView第二步原创 2015-10-12 15:09:22 · 3791 阅读 · 1 评论 -
Android 理解生命周期最好例子—按home暂停音乐播放,跳转暂停
可以设置个全局变量static boolean isBehind = false;然后在每个Activity中做如下的处理: 在onResume方法中 将这个变量设置成false; 在onPause方法中 将这个变量设置成true; 在onStop方法中进行判断, if(isBehind != false) stopService; 当你跳转到另一个activity的时候,原创 2015-10-26 20:57:37 · 2589 阅读 · 0 评论 -
Json解析 Json数据文件 例子
1 首先,假设在你的工程assets目录下,有一个json数据的文件 City.json如下:{"province":{"provincelist":[{"province":"河北省","citys":["石家庄市","唐山市","秦皇岛市","邯郸市","邢台市","保定市","张家口市","承德市","沧州市","廊坊市","衡水市"]},{"province":"山西省","citys":[原创 2015-09-22 16:28:14 · 2859 阅读 · 0 评论 -
Android 摇晃动画代码实现技巧
/** * 设置晃动动画 */ public void setShakeAnimation() { this.setAnimation(shakeAnimation(5)); } /** * 晃动动画 * * @param counts * 1秒钟晃动多少下 * @re原创 2015-09-21 16:13:36 · 4702 阅读 · 0 评论 -
Android Listview 分页加载数据(滑到底部加载)
由于例子大部分内容都过于基础,只是多了一个滑动的判断,所以,直接上代码首先,主布局:<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" >原创 2015-10-23 19:33:30 · 3445 阅读 · 0 评论 -
Android自定义View示例(一)—带有删除按钮的EditText
首先,看一下效果图MainActivity如下:/** * Demo描述: * 自定义控件实现带清除功能的EditText * * 学习资料: * http://blog.csdn.net/xiaanming/article/details/11066685 * * Thank you very much */public class MainActivity extends原创 2015-09-21 15:52:15 · 2254 阅读 · 0 评论 -
Android SlidingDrawer(滑动式抽屉)
先上效果图: 该控件用法简单,如果自己加以美化,定能做出很炫的想要的效果一、SlidingDrawer隐藏屏外的内容,并允许用户通过handle以显示隐藏内容。它可以垂直或水平滑动,它有俩个View组成,其一是可以拖动的handle,其二是隐藏内容的View.它里面的控件必须设置布局,在布局文件中必须指定handle和content.二、重要属性 android:allowSingleTap:指原创 2015-10-23 19:57:44 · 2613 阅读 · 0 评论 -
Android 发送广播
一、首先要声明广播 private BroadcastReceiver mBroadcastReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) //onReceive函数不能做耗时的事情,参考值原创 2015-10-14 13:59:53 · 2302 阅读 · 0 评论 -
Android 拍照,从图库选择照片,并裁剪,上传到服务器
整个例子的功能包括:通过照相机拍照,并把照片保存到SD卡中,或者通过图库选择图片。选择后,经过裁剪,再保存,显示,最后上传到服务器。内容知识点: 1、URI 分为两种: content 类型的 和 file 类型的。(如,拍照后的data中取得的图片是content型的,图库中选取的也是) 2、Content 类型和 File 类型的 Uri 之间的转换 3、调用剪裁的Uri ,必须是原创 2015-10-27 15:50:19 · 3233 阅读 · 0 评论 -
Android 给Button加圆角
//round_corner_bg.xml <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <!-- 填充的颜色 -->原创 2015-10-14 13:53:58 · 2210 阅读 · 0 评论 -
Parcel: unable to marshal value
额,今天,发现群里有为大胸弟,一直在问这个问题。 在两个activity直接传递List时,出现Parcel: unable to marshal value异常。讲道理,当时我也不知道是什么原因,不过想了一下,找了资料,应该发现是酱紫的。在MainActivity页面(MainActivity页面向NextActivity页面传递一个List):Intent intent = new Inte原创 2016-09-23 19:54:43 · 1309 阅读 · 0 评论 -
EventBus 3.0的用法 Demo
啥是 EventBus ,大家也都知道了,否则也不会跑来用。现在都更新到3.0了,我也是最近才去使用它,以前知道,但是毕竟没去实际运用,最近比较闲,也就来跳跳坑了。首先,引用相关jar包依赖(额,这里还是用的Eclipse…用AS的自行跳过,直接添加一句依赖代码就好。) 考虑周到的我,直接贴出jar包下载地址。 http://download.csdn.net/detail/pm原创 2016-09-13 16:03:08 · 598 阅读 · 0 评论 -
使用Butterknife注解经过的坑
这两天趁着空闲时间,就去玩一下Butterknife,还用一下EvectsBus来结合试试水的,结果,刚开始导入包,就几个按钮和文本,居然一直编译不过,报空指针,根本注解不了,各种找例子,还以为是我的代码写错了啥的,我就想,就那么一个butterknife.bind(this),这里检查那里检查,还是没发现错误,哎,心灰意冷。 不过,转折点来了,终于被发现了问题,也解决了。哎呀,好气啊,原来原创 2016-09-09 10:26:56 · 1813 阅读 · 0 评论 -
NDK 配置到实现(Eclipse)
连接为云笔记: http://note.youdao.com/yws/public/redirect/share?id=a1b1c1e6ca3ae14225f91c784d1e1eda&type=false原创 2016-07-05 15:40:31 · 651 阅读 · 0 评论 -
Wifi 断开和连接上 的广播监听
// 监听wifi状态广播 private BroadcastReceiver mwifiBroadcastReceiver = new BroadcastReceiver() {@Overridepublic void onReceive(Context context, Intent intent) { String action = intent.getAction();原创 2016-06-30 16:30:42 · 3906 阅读 · 0 评论 -
Wifi 输入密码连接
项目源码完整下载地址1、从搜索出来的列表中点击某项,进行输入密码连接 String wifiItemSSID = null; @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Log.i("ListOnItemC原创 2016-06-29 11:34:57 · 947 阅读 · 0 评论 -
Wifi 搜索列表
项目完整源码下载地址1、首先,进行搜索wifi列表private WifiManager localWifiManager;// 提供Wifi管理的各种主要API,主要包含wifi的扫描、建立连接、配置信息等localWifiManager = (WifiManager) context .getSystemService(Context.WIFI_SERVICE);// 扫原创 2016-06-29 11:35:46 · 1665 阅读 · 0 评论 -
Android 横向二级ListView列表
今天来实现以下大众点评客户端的横向listview二级列表,先看一下样式 这种横向的listview二级列表在手机软件上还不太常见,但是使用过平板的都应该知道,在平板上市比较常见的。可能是因为平板屏幕比较大,而且也能展现更多的内容。 下面来看一下我的实现步骤。 首先自定义一个listview,代码如下:public class MyListView extends ListView转载 2015-10-14 20:55:45 · 1988 阅读 · 0 评论 -
Android Service 全面总结
Android 中的 Service 全面总结 1、Service的种类 按运行地点分类:类别区别 优点缺点 应用本地服务(Local)该服务依附在主进程上, 服务依附在主进程上而不是独立的进程,这样在一定程度上节约了资源,另外Local服务因为是在同一进程因此不需要IPC,也不需要AIDL。相应bi转载 2015-10-14 15:10:06 · 546 阅读 · 0 评论 -
在安卓项目中使用FontAwesome图标
一、首先下载和导入FontAwesome 的TrueType 文件到项目。你可以从 https://github.com/FortAwesome/Font-Awesome上下载FontAwesome 的assets。下载了FontAwesome之后,只需要位于fonts目录的 fontawesome-webfont.ttf。二、 在你的安卓项目中,导航到 app > src > main。原创 2015-10-09 10:58:07 · 2363 阅读 · 0 评论 -
Android中的AnimationDrawable的使用
<?xml version="1.0" encoding="utf-8"?> 2 <animation-list xmlns:android="http://schemas.android.com/apk/res/android" 3 android:oneshot="false" > 4 5 <item 6 android:drawable="@draw原创 2015-09-18 21:12:23 · 2262 阅读 · 0 评论 -
Android设置透明、半透明等效果
设置透明效果 大概有三种1、用android系统的透明效果 Java代码 android:background="@android:color/transparent" 例如 设置按钮 Java代码 <Button android:background="@android:color/transparent" android:text="@+id/Button01" android原创 2015-09-18 21:33:29 · 2401 阅读 · 0 评论 -
自学Android系列 笔记1 目录结构说明 2
SDK目录下相关文件夹:add-ons 目录:存放一些扩展工具 驱动. extras 附加的工具支持jar包 web摄像头的驱动. platform 开发支持的平台 sample 实例代码 platform-tools 平台相关的工具.常见命令操作(模拟器)l adb devices 列出所有的设备l adb shell 挂原创 2015-09-01 22:43:49 · 311 阅读 · 0 评论 -
自学Android系列 笔记2 Android学习之Android fill_parent、wrap_content和match_parent的区别
Android fill_parent、wrap_content和match_parent的区别三个属性都用来适应视图的水平或垂直大小,一个以视图的内容或尺寸为基础的布局比精确地指定视图范围更加方便。1)fill_parent设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。设置一个顶原创 2015-09-01 22:49:47 · 337 阅读 · 0 评论 -
自学Android系列 笔记2 Android 学习之浅谈Android五大布局
浅谈Android五大布局Android的界面是有布局和组件协同完成的,布局好比是建筑里的框架,而组件则相当于建筑里的砖瓦。组件按照布局的要求依次排列,就组成了用户所看见的界面。Android的五大布局分别是LinearLayout(线性布局)、FrameLayout(单帧布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)和TableLayout(表格布原创 2015-09-01 22:47:41 · 298 阅读 · 0 评论 -
自学Android系列 笔记2 Android_RelativeLayout属性大全
// 相对于给定ID控件android:layout_above将该控件的底部置于给定ID的控件之上;android:layout_below将该控件的底部置于给定ID的控件之下;android:layout_toLeftOf将该控件的右边缘与给定ID的控件左边缘对齐;android:layout_toRightOf将该控件的左边缘与给定ID的控件右边缘对齐;android:l原创 2015-09-01 22:48:20 · 357 阅读 · 0 评论 -
自学Android系列 笔记2 Android 学习之Activity回传值
1. 窗体之间回传值,假设A窗口跳转到B。然后需要在B中回传值给A中,必须要在A中重写onActivityResult方法,具体如下:@Override protectedvoidonActivityResult(intrequestCode,int resultCode, Intent data) { //TODOAuto-generated method st原创 2015-09-01 22:46:32 · 388 阅读 · 0 评论 -
自学Android系列 笔记2 Android学习之Android开发中常用到Intent的URI与示例
下面是常用到的Intent的URI及其示例,包含了大部分应用中用到的共用Intent。一、打开一个网页,类别是Intent.ACTION_VIEWUri uri = Uri.parse("http://blog.3gstdy.com/");Intent intent =new Intent(Intent.ACTION_VIEW, uri);二、打原创 2015-09-01 22:50:17 · 379 阅读 · 0 评论 -
自学Android系列 笔记2 Android 学习之toast
Toast Toast 是一个 View 视图,快速的为用户显示少量的信息。 Toast 在应用程序上浮动显示信息给用户,它永远不会获得焦点,不影响用户的输入等操作,主要用于 一些帮助 / 提示。 Toast 最常见的创建方式是使用静态方法 Toast.makeText 1. 默认的显示方式 Java代码 1. // 第一个参数:当前的上下文原创 2015-09-01 22:47:13 · 382 阅读 · 0 评论 -
自学Android系列 笔记2 spinner控件 例子
Spinner控件是一种下拉列表,提供一些数据供用户选择,它的数据源是通过ArrayAdapter提供的,而ArrayAdater的数据源有两种方式提供,一种是在资源文件中,另一种则是在程序中构造数组。下面是例子:packagecom.my.simple; importandroid.app.Activity;importandroid.os.Bundle;importandr原创 2015-09-01 22:50:53 · 2304 阅读 · 0 评论 -
自学Android系列 笔记2 TabHost两种实现方式
第一种:继承TabActivity,从TabActivity中用getTabHost()方法获取TabHost。只要定义具体Tab内容布局就行了.1. "http://schemas.android.com/apk/res/android" 2. android:layout_width="fill_parent" android:layout_height="fill_pa原创 2015-09-01 22:51:24 · 2128 阅读 · 0 评论 -
自学Android系列 笔记2 使用文件进行数据存储
使用文件进行数据存储Context.MODE_PRIVATE:为默认操作,代表该文件是私有数据,只能被本应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把写入的内容追加到原文件中。可以使用Context.MODE_APPENDContext.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。访问权限和上一个模式一样 Cont原创 2015-09-01 22:52:24 · 2233 阅读 · 0 评论 -
自学Android系列 笔记1 目录结构说明
1.关于android 的目录结构说明: 1.src 编写Java代码的目录,遵循java的命名规范、分包2.gen 包含了android的资源文件的标识符,不需要程序员维护,自动添加的,而且有分类的注意:不要删除3. assets 原生资源文件:保存应用的资源文件,例如:音频文件、或者视频文件、或不经常被用户修改的文件4.bin原创 2015-09-01 22:43:09 · 349 阅读 · 0 评论 -
自学Android系列 笔记1 生命周期介绍
手机的现场保护:就是说,当一个Activity 正在运行时,假设有个电话打进来,那么就要把当前Activity的状态保存起来,通过onSaveInstanceState(Bundle outState)方法,保存到数据库里面,然后在onCreate(BundlesavedInstanceState)取出来,因为系统在下次会帮我们重新创建回这个Activity,所以一定会调用这个方法 Act原创 2015-09-01 22:45:10 · 357 阅读 · 0 评论 -
Android使用Activity用作弹出式对话框
下面介绍使用Activity作为弹出对话框,好处有以下: 1、显示位置的设置,直接就是一个layout.xml随心所遇的感觉,可以实现在任何位置。 2、对对话框内控件的事件的处理,都独立出来在一个类中,调用的地方仅需要startActivity()就可以,这样可以使代码结构上更加清晰。下面实现这个一个例子:1、Activity的布局文件<?xml version="转载 2015-09-15 22:01:37 · 325 阅读 · 0 评论 -
Android Listview的分组实现
对于Listview的分组我们再熟悉不过了,因为Android自带的通讯录中的联系人信息就是使用的ListView分组,最近项目中用到了这个功能。所以趁着周末有时间,也更新下一篇这样的博客,希望对大家能够有帮助。 其实对于分组的ListView和我们平时用的ListView没有多大差别,就是需要在适配器中的getView方法中做下判断。只要理解了这个,下面就好说了,下面我们看下实现代码转载 2015-10-18 16:43:28 · 517 阅读 · 0 评论 -
关于多个spinner联动
首先,把数据放到第一个spinner,再通过item监听,获得相应的数据放入第二个spinner,以此类推,多个spinner都是这样,逻辑很简单。原创 2015-09-15 20:07:14 · 2529 阅读 · 0 评论