随笔分类 -  Android Basis

about Android Basis
摘要:ContentProvider一般译作内容提供者,官方文档中的解释:它用来管理结构化数据的访问。通过它我们可以共享自己应用中的数据,或者访问别的应用提供的数据,比如‘联系人’应用就实现了ContentProvider,通过它提供的ContentProvider我们可以查询、删除、更新联系人数据。ContentProvider简介ContentProvider是不同应用程序之间进行数据交换的标准API,ContentProvider以URI的形式对外提供数据,允许其他应用访问或修改数据;其他应用程序使用ContentResolver根据URI去访问\操作指定的数据。ContentProvid.. 阅读全文
posted @ 2013-05-25 18:29 g.hui 阅读(211) 评论(0) 推荐(0)
摘要:BroadcastReceiver是android的四大组件之一,其本质上可看作是一种全局的监听器,用于监听全局的系统消息。开发步骤1>从BroadcastReceiver派生出一个子类,并实现onReceive()方法。2>在manifest.xml文件中配置之(配置方法与配置activity,service类似)。3>在需要发送广播的地方调用sendBroadcast(Intent intent)或sendOrderedBroadcast(Intent intent)方法。传入一个Intent对象,此对象的配置与启动activity及service的Intent的配置方法 阅读全文
posted @ 2013-05-21 13:35 g.hui 阅读(334) 评论(0) 推荐(0)
摘要:简介 Service 是Android四大组件之一。与Activity比较相似,它们都代表可执行的程序。Service与Activity的区别在于:Service一直在后台运行,它没有用户界面,具有自己的生命周期。在开发中,如果某个程序组件需要在运行时向用户呈现某种界面,或者该程序需要与用户交互,就需要使用Activity,否则就应该考虑Service。Service分类按照启动方式的不同Service可以分为两类: 1>Started Service :在后台,作为一个独立的可执行单元不能与调用者进行交互,适合在后台做一些独立的耗时任务,比如:下载、上传。 ... 阅读全文
posted @ 2013-05-14 21:17 g.hui 阅读(630) 评论(0) 推荐(0)
摘要:关于activity的状态保存,以前从来没想过还会有这个问题。这里小小总结一下,以备日后查看。系统默认实现了哪些 1》可以做个测试,我们可以写个demo,界面上有一个EditText。然后你在里面随便填入一些数据。然后按home键回到桌面,这个时候会调用activity的onPause->onStop,然后我们长按home键选择刚才的demo重新打开发现EditText里面的数据并没有丢失。这是因为执行onStop后此activity并没有并销毁,所以它的各种状态也会被保持。 2》我们接着测试,我们在EditText中填入数据,接着旋转屏幕这个时候会重启activity(系统会先回调o. 阅读全文
posted @ 2013-05-12 11:51 g.hui 阅读(924) 评论(1) 推荐(1)
摘要:生命周期流程图Activity的状态 运行状态、暂停状态、停止状态、销毁状态说明:1》正常启动一个activity将先执行onCreate->onStart()->onResume然后进入运行状态 2》当正在运行的activity被后来的activity覆盖(依然可见)时将执行onPause()进入暂停状态 3》当activity不可见时将进入停止状态 4》当activity结束或所在进程被销毁时将进入销毁状态回调方法 在activity生命周期中,如下方法会被回调: onCreate 创建activity时被回调 onStart 启动activity时被回... 阅读全文
posted @ 2013-05-11 21:41 g.hui 阅读(173) 评论(0) 推荐(0)
摘要:notification是一种出现在任务栏的提示,特别是在4.0以后notification改进了不少,本文内容都是基于4.0及4.1以后总结来的。分类notification有以下几种: 1>普通notification 1.内容标题 2.大图标 3.内容 4.内容附加信息 5.小图标 6.时间 2>大布局Notification 图1 大布局notification是在android4.1以后才增加的,大布局notification与小布局notification只在‘7’部分有区别,其它部分都一致。大布局notification只有在所... 阅读全文
posted @ 2013-05-08 10:16 g.hui 阅读(1521) 评论(5) 推荐(0)
摘要:Toast提供了一个很方便的与用户交互的反馈方式。如下图:Toast大致分一下几种:1>普通Toastprivate void normalToast() { Toast.makeText(context, "normalToast", Toast.LENGTH_SHORT).show(); }2>带图片的Toast 1 private void picToast() { 2 Toast toast = Toast.makeText(context, "picToast", Toast.LENGTH_SHORT); 3 toast.setGr 阅读全文
posted @ 2013-05-06 11:29 g.hui 阅读(201) 评论(0) 推荐(0)
摘要:很早就发现自己的nexus 手机在“开发者选项”里有一项“ADB OVER NETWORK”从字意上猜想是不是可以通过网络来连接我们的eclipse与android设备,直接来调试应用。再加上自己手机上的usb接口接触老出问题,老出现device offline的错误,于是下决心研究一下。Google了一下,在stackoverflow中找到了答案。总解如下:1)手机与电脑连接在同一个路由器上这种情况应该是比较常见的设置起来也是最方便的,步骤如下:a.首先进到android设备中的“开发者选项”,打开“ADB OVER NETWORK”,此时就可以看到手机的ip地址b.在电脑端打开cmd,.. 阅读全文
posted @ 2013-05-04 15:16 g.hui 阅读(2529) 评论(0) 推荐(0)
摘要:安卓内置了四种对话框:AlertDialog、ProgressDialog、DataPickerDialog、TimePickerDialog.这几种对话框外观都是系统定义好的,如果我们想自定义外观,我们可以利用AlertDialog自定义对话框。本文主要介绍AlertDialog及其自定义,其它的对话框说白了都是一些控件,对于控件的学习个人觉得先大致了解如何去用就行了,等到真正用到的时候再去详细学习是最合适的。AlertDialog 步骤:1.创建AlertDialog.Builder对象builder 2.利用builder为Dialog设置各种属性,如:标题、内容、图标 ... 阅读全文
posted @ 2013-05-03 21:19 g.hui 阅读(271) 评论(0) 推荐(0)
摘要:什么是.9.png格式的图片呢?为什么会有这个格式的图片?这种格式图片有哪些特殊的用途?请接着看...定义:这种格式的图片在android 环境下具有自适应调节大小的能力,是一种为适应特殊拉申需要而产生的图片,防止图片在拉申后变形。作用:(1)允许开发人员定义可扩展区域,当需要延伸图片以填充比图片本身更大区域时,可扩展区的内容被延展。(2)允许开发人员定义内容显示区,用于显示文字或其他内容说明: 有这样一张png图片: 像这种图片我们一般作为背景图片来用,但在拉申的过程中会发生变形。我们不想让它在圆角及别的有特别形状的地方拉伸,因为拉伸这些地方会造成图片的变形。为了解决这个问题andr... 阅读全文
posted @ 2013-04-27 13:00 g.hui 阅读(1104) 评论(0) 推荐(0)
摘要:1>adb push 说明:此命令用于将本地计算机中的文件copy到android模拟器或手机的sd下 操作格式:adb push 源文件 目标文件 实例:将本地计算机桌面上的1.txt 复制到模拟器sd下的good目录并重命名为f1.txt 1.首先进入到1.txt所在目录(即桌面,也是源文件所在目录) 2.执行命令:adb push 1.txt /sdcard/good/f1.txt(若无需重命名,则可这样:adb push 1.txt /sdcard/good/.注意:此时good目录必须已存在)2>adb pull 说明:此命令用于将android模拟器或手机s... 阅读全文
posted @ 2013-04-26 18:35 g.hui 阅读(656) 评论(0) 推荐(0)
摘要:在 android之自定义view 一中,我们了解了如何自定义一个View。但我们并没有说明如何为自定义的View设置自定义的属性。这一篇中简单介绍一下:添加自定义属性步骤: 1)在res/values下创建attrs.xml 2)在相关xml布局文件中添加新的命名空间 3)重写publicView(Contextcontext,AttributeSetattrs)实例: 我们还用android之自定义view 一中的例子。我们为CustomView1添加颜色、半径两个属性最终运行结果图:代码: attrs.xml<?xml version="1.0" encodin 阅读全文
posted @ 2013-04-23 21:53 g.hui 阅读(293) 评论(0) 推荐(0)
摘要:转载请注明出处概述 当Android系统提供的UI组件不足以满足我们的需求时,我们可以自己继承View来设计自己的View。然后,选择重写部分的方法。通常可以被重写的方法如下:1)构造函数,View有三个构造函数: publicView(Contextcontext) 当我们通过代码创建view时需要复写此方法。 publicView(Contextcontext,AttributeSetattrs) 当我们通过xml创建view时需要复写此方法。 publicView(Contextcontext,AttributeSetattrs, int defStyle) 通过源码我们可以知道... 阅读全文
posted @ 2013-04-23 20:32 g.hui 阅读(837) 评论(0) 推荐(2)
摘要:在android开发中经常听到这样一句话——“android的UI操作不是线程安全的,同时也只有主线程才能够操作UI”。对于这句话,一直感觉不是太理解。当初心里想既然android的UI操作只能在UI线程即主线程中操作,别的线程不允许操作。所以是不会出现线程的同步问题的,这不应该是很安全的吗?为什么不是线程安全的呢?最近才想明白这句话什么意思:正是因为android的UI操作不是线程安全的,所以才不允许在非UI线程中进行UI操作。试想假如允许在其它工作线程中允许直接进行UI操作,会带来一个问题:多个线程同时操作一个控件可能会有冲突发生。所以android就限定了只能在UI线程中操作各种vi.. 阅读全文
posted @ 2013-04-19 13:28 g.hui 阅读(1048) 评论(0) 推荐(0)
摘要:算起来从大一暑假开始接触安卓开发,算起来也快两年时间了。说起来惭愧的很,以前学习都是为了做东西出来,而不去深入的研究why,how。导致现在虽然做出来一些东西但心里虚的很。所以,决定重新学习一遍。不为别的,只为学习、深入理解。重新学习所悟、所获都会写在这个分类下,欢迎大家批评、指正。加油…… 阅读全文
posted @ 2013-04-18 19:59 g.hui 阅读(139) 评论(0) 推荐(1)