- 博客(221)
- 资源 (45)
- 收藏
- 关注
原创 设计模式学习笔记(四)之工厂模式(Factory)
今天学习了一下工厂模式(Factory),平时编程的时候需要对象的时候,会使用到大量的new关键字,现在如果使用工厂方法,我们可以必须公开实例化使用new关键字了; (一) 工厂模式又分了,简单工厂模式,抽象工厂模式,工厂方法模式,首先看下工厂方法模式的类图: 上面的类图声明了两个抽象类,生成Weapon的抽象工厂类,然后要生产具体的Weapon的之类工厂去实现
2012-03-15 21:58:28 2631
原创 【数据结构】排序算法(二)之交换排序之快速排序(QuickSort)
上一次学习了【【数据结构】排序算法(一)之直接插入排序,冒泡排序】今天重新学习了一下快速排序 快速排序是是属于交换排序的范畴,另外一种的交换排序的代表是冒泡排序(上面有冒泡排序的链接地址)快排的基本思路其实还是挺简单的:我们从需要排序的数组从任取一个当做分界值(暂时称作n),把所有比n小的值放在n的左边,把大的放在n的右边。这样进行遍历一遍下来,就可以形成左右两个序列,左边的数据都比
2012-03-14 23:05:43 2069 2
原创 Android中快捷方式的创建和删除(ShortCut)
今天学习了一下快捷方式的创建和删除(ShortCut)我们可以通过两种方式创建快捷方式(一):使用一个Activity,然后在Home界面点击Menu->添加->选择快捷方式->选择创建的应用程序的快捷方式,看如下的效果: 创建步骤如下:①:在Androidmanifset.xml文件中注册Activity②:在IntentFiler标签下面加入 看下Activ
2012-03-14 12:41:22 3166 4
原创 Java中反射机制(Reflection)学习
Java语言的反射机制初步学习首先看下基本概念: (一)在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。 Java 反射机制主要提供了以下功能: ①:在运行时判断任意一
2012-03-11 20:59:08 3561 1
原创 设计模式学习笔记(三)装饰模式(Decorator)
今天学习了一下装饰模式(Decorator) 装饰模式又叫包装模式,装饰模式以对客户端透明的方式扩展对的功能,是继承关系的一个替代方案。 优点:装饰模式可以在不创造更多子类的情况下,将对象的功能加以扩展。在J2se中的I/O中完全使用了装饰模式,减少了大量的子类,新增了大量的方法...真是用的恰到好处,发挥的淋漓尽致哈... 装饰模式的特点:
2012-03-10 23:20:14 2307
原创 设计模式学习笔记(二)之观察者模式(Observer)
上次学习了单例模式(点击进入:单例模式),今天趁空学习了一下观察者模式;观察者模式定义了一种一对多的依赖关系, 让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,让他们能够自动更新自己。 在观察者模式中,有抽象主题角色(Subject),具体主题角色(ConcreteSubject),抽象观察者角色(Observer),具体观察者角色(Con
2012-02-26 14:53:44 4028 4
原创 Android中数据文件解析(Json解析【从服务器端获取数据并且解析,显示在客户端上面】)
前面学习过了使用SAX解析XML数据(点击进入:SAX解析XML数据),今天学习Json解析; 首先说一下Json数据的最基本的特点,Json数据是一系列的键值对的集合,和XML数据来比,Json数据的体积更加小,传输效率高,易解析,不过可读性不高; 因为这次要从服务器端得到Json数据,并且通过解析之后把解析后的数据显示在Android客户端中,首先部署服务器端代码(
2012-02-24 15:08:19 16538 20
原创 Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)
今天学习了Spinner组件,使用Spinner相当于从下拉列表中选择项目,下面演示一下Spinner的使用(分别使用ArrayAdapter和自定义Adapter实现)(一):使用ArrayAdapter进行适配数据: ①:首先定义一个布局文件:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/a
2012-02-23 09:09:37 45528 22
原创 Android中的TextView深入学习之加载HTML显示
今天学习了TextView的进行加载HTML来显示文字,图片等信息; 首先来看一个Textview的一个属性android:autoLink 这个属性来解析Textview的中的一些特殊字符例如:web,email,phone,map,..当还可以通过android:textColorLink来设定这些特殊字符的颜色;另外其他的属性可以设定字体大小,颜色等等;虽然这些都可以实现所需要的
2012-02-21 19:42:17 5512 2
原创 Android中动态图形的绘制(一)
今天开始学习了Android中的动态图形的绘制,直接用个例子上手; 基本思路如下: 一:创建一个继承与View类自定义类,本例是(CanvasView),必须要有构造方法(可以使用1: public View(Context context);2: public View(Context context, AttributeSet attrs);3:public Vie
2012-02-18 21:29:35 2665
原创 设计模式学习笔记(一)之单例模式(Singleton)
从今天开始要好好花段时间学习一下最常用的几个设计模式; 首先学习一下单例模式(Singleton):单例模式的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个;下面看一下单例模式的UML类图: 看这个图比较简单,Singleton类中顶一个私有的singleton对象,和私有的构造方法,并且向外暴露一个public的ge
2012-02-16 18:34:32 3335
原创 UML学习笔记(2)之组件图,部署图以及动态模型的四种图
接着上一次的UML学习(UML学习笔记(1)之用例图,类图与对象图) 一:组件图(表现软件组件之间的关系)直接组件依赖图: 二:部署图(用于部署软件应用的物理设备信息) 以上和上一篇到此静态建模已经基本学完了,接下来学习动态模型(时序图,协作图,状态图,活动图) 三:时序图(重点掌握)(捕捉一段时间范围
2012-02-16 15:19:59 5515
原创 UML学习笔记(1)之用例图,类图与对象图
首先看下UML的定义:统一建模语言(UML)是一种图形化的语言,它可以帮助我们在OOAD过程中标识元素、构建模块、分析过程并可通过文档说明系统中的重要细节。 UML图的分类 ①: 静态模型 :(1:创建并记录一个系统的静态特征,2:反映一个软件系统基础、固定的框架结构,3创建相关问题域主要元素的视图) 主要包括:用例图,类图,对象图,组件图,部署图;
2012-02-16 08:56:07 4728 4
原创 Android中配置改变(Configuration)的处理状态(重点横竖屏切换)
一: 很多时候配置改变(Configuration Change) 最多遇到的就是横竖屏进行切换,一般的会重新加载Activity,不过这样的切换起来会看到界面非常的闪,原因是重新加载Activity了,今天学习一下重写public void onConfigurationChanged(Configuration newConfig) {// TODO Auto-generated me
2012-02-15 13:53:18 3273
原创 【数据结构】排序算法(一)之直接插入排序,冒泡排序
排序算法在面试中是常见的,尤其是(插入排序,冒泡排序和快速排序),就抽个时间再复习一下排序算法吧 插入排序的基本方法是:每步将一个待排序的记录按其关键字的大小插入到前面已经排序的序列中的适当位置,直到每个记录都插入完毕为止。 1:直接插入排序 这是一种最简单的排序方法,它的基本思想是将待排序的记录分成两个部分,第一个部分已经排好序,第二个部分未排序好。排序中,每次都是从第二
2012-01-25 21:58:38 3507 1
原创 Android UI 之TextView控件中可选择的属性列表,开发中经常用到的
网上收集和自己整理的TextView控件中可选择的属性列表,经常可以用到的:android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。
2012-01-23 17:34:55 3226 1
原创 Android自学--一篇文章基本掌握所有的常用View组件
写了一个多小时了,终于写完了,总结了一下昨天学习的View组件包括AlertDialog,ProgressDialog,RadioButton,CheckBox...等等一系列的组件;下面是直接运行效果截图(如果需要这个项目Demo代码,可以留言,我会尽快发送到大家的邮箱的) 1:单纯的AlertDialog 2:单选
2012-01-16 20:46:35 3637 11
原创 Android的Activity组件启动,切换和值传递学习
前面已经学过了Activity的生命周期(链接地址:Activity生命周期学习),今天集中来学习一下Activity组件的启动,切换和值传递 1:首先是如何创建一个Activity: Activity提供了和用户进行交互的可视化界面,要创建Activity一般都要去继承Activity(当然有时候我们也可去继承例如ListView等等已经继承了的Activity的类)。然
2012-01-15 13:23:46 3847 2
原创 Android中的Activity生命周期学习
作为Android中四大组件之一的Activity是最为重要的一个组件,今天学习了Activity的生命周期。 理解Activity的生命周期对于我们去开发大的灵活的应用很有帮助,在Android系统中Activity作为Activity栈来被管理,当前活动的Activity处于栈顶,之前的不活动的Activity就会被压入下面的称为不活动的Activity,来进行等待,如果该
2012-01-13 18:24:54 2298 1
原创 Android中打开新的Activity的三种方法
Android中打开新的Activity的三种方法,平时在别人源代码的时候经常会看到一下三种方法,刚开始不懂,现在基本了解了: // 第一种方法:Intent intent1 = new Intent(IntentActivity.this,IntentSecond.class);// 第二种方法:Intent intent2 = new Intent();intent2.
2012-01-12 22:02:26 7041 1
原创 Android中使用SAX对XMl文件进行解析
在android中的xml的文件解析,一般有三种方法 sax,dom,pull; 不过一般使用最多的是sax技术;在Java中使用SAX技术解析XML文档 sax解析技术是解析速度很快,并且占用很小量的内存;sax解析的方法是进行事件驱动的方法,相对于dom技术必须要调用这个xml文档到内存中,他不需要整个xml文档, 按顺序进行解析,按要求把xml当如到内存中;当我们在解析
2012-01-12 18:32:44 3341 1
原创 Android中使用SDcard进行文件的读取
平时我们需要在手机上面存储想音频,视频等等的大文件,以前学过使用File进行存储(使用File操作进行存储);由于考虑到手机本身的存储空间小,这时候我们需要把文件存储在SDcard中,今天自己也学习了一下在android进行sdcard的存储使用方法; 首先如果要在程序中使用sdcard进行存储,我们必须要在AndroidManifset.xml文件进行下面的权限设置: 在An
2012-01-12 15:09:40 19117 3
原创 Android中资源文件assets和res下面raw文件的使用不同点
在建立项目中一般会默认建立assets文件,当然我们还可以在res文件下面建立raw文件夹,这里面都可以存放一些图片,音频或者文本信息,可以供我们在程序当中进行使用,不过他们两个也有不同点; assets下面的文件不会被编译,通过路径可以去访问其中的内容。raw中文件会自动编译,我们可以在R.java文件中找到对应的ID, 看下面截图:
2012-01-08 21:04:34 3658 3
原创 Android中用两层AlertDialog来进行弹出选择框信息选择
在Android经常会用到AlertDialog,把内容使用AlertDialog结合列表的形式显示出来,然后我们点击得到点击的信息。 这里可以使用两层的AlertDialog来实现 1:我们现在xml文件中定义一个要显示内容列表数组 2:在Activity中使用 String[] items = getResources().getStringArra
2012-01-06 19:51:56 6182 2
原创 Android中使用ViewStub来提高UI的加载的性能
首先看下API中的ViewStub 根据的文档的说明,ViewStub是一种默认不可见的试图,它没有大小,所以不能被改变,也不能通过某些把viewstub添加到布局当中来, 不过我们可以使用inflate()来吧ViewStub中的试图增加进行,这样可以实现动态的添加试图,不必要每次在onCreate()的时候就加载布局,可以提高我们的性能。
2012-01-05 21:31:33 3202
原创 Android中notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别
看下源码中对于这两个方法 public void notifyDataSetChanged () 该方法内部实现了在每个观察者上面调用onChanged事件。每当发现数据集有改变的情况,或者读取到数据的新状态时,就会调用此方法。 public void notifyDataSetInvali
2011-12-31 19:41:25 11269
原创 Android中的Menu(菜单)的三种类型菜单的学习
今天学习一下菜单组件,在Android中的菜单中有三种①:OptionMenu(选项菜单)②:ContextMenu(上下文菜单) ③:SubMenu(子菜单) 下面分别来学一下 一:OptionMenu(选项菜单) 当我们使用手机的时候,按着手机上面的Menu,弹出的菜单就是选项菜单。但是我们一次性能显示菜单选项只能是6个如果我们设置的超过6个时候,第六
2011-12-16 23:24:07 4334
原创 Android中实现图片的异步加载学习笔记
在平时写android程序的时候,要实现加载图片,还要考虑到系统的性能,我们需要实现图片的异步加载,这样使用缓存的和去网络下载的两种方式; 当我们有个要加载图片的请求的时候,我们先去缓存中寻找,如果缓存中没有,那就去网络上面去下载,然后再把下载到的图片放入到缓存中,最后来显示要加载的图片; 下面我是画出来的一张简 每次下载图片成功,我
2011-12-14 20:30:52 3135
原创 Android使用Displaymetrics类获取一下手机屏幕中的一些信息
今天学习一下使用Displaymetrics类获取一下手机屏幕中的一些信息 首先看下文档中的讲解 这个类中包含 描述大小,宽度,字体缩放和其一些其他信息,我们要访问的DisplayMetrics成员,初始化一个这样的对象: DisplayMetrics metrics = new DisplayMetrics(); getWindowMa
2011-12-13 22:17:52 4920
原创 Android中选项卡TabHost的实际应用篇
上一次学习了TabHost的基本使用(Android中选项卡TabHost的基本使用),今天学习一下实际稍微高级的应用, 例如在微博等等客户端中经常看到界面底部的那一排控件;先看下Demo效果截图下:要做出这样的效果,其实难度不大 总体使用一个TabHost, Tabhost上面使用RadioGroup和RadioButton的组件,然后每一个选项对应一个Activi
2011-12-13 11:26:40 3713 4
转载 Android中的长度单位详解(dp、sp、px、in、pt、mm)
转自:http://www.cmd100.com/bbs/thread-5265-1-1.html 看到有很多人不太理解dp、sp和px的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和s
2011-12-11 16:38:01 2820
原创 Android中选项卡TabHost的基本使用
今天来学习一下选项卡(TabHost)的使用, 选项卡的使用很常见,比如说:我们在手机上面 已接来电,未接来电的分组,首先来看下实现出来的效果截图: 我们要去实现TabHost,主要有两种方法:一 1、各选项内容在布局文件中定义。 2、主Activity类继承TabActivity;
2011-12-11 13:03:31 3028
原创 Android中的动画效果学习之二---Tween动画(使用XML文件进行配置动画效果)
上一篇学习用硬编码直接进行对动画效果进行设置(Android中的动画效果学习之---Tween动画(硬编码方法创建)),今天学习一下使用XML文件进行配置动画效果: 其中里面主要参数说明已经在上一篇讲过了,接下来进行设置动画的具体步骤: 第一步:在项目的res文件下面新建一个文件夹名字是anim 【注意】这个名字必要要是anim
2011-12-10 17:54:16 1823
原创 Android中的动画效果学习之---Tween动画(硬编码方法创建)
在Android中系统给我们提供了两种实现动画效果的方法,其中一种是Tween,还有一种是Frame动画; Tween动画中,我们可以通过Tween动画去使得视图实现视图放大,缩小,旋转,渐变等等功能;这个动画类在android.view.animation包下面, 主要为我们提供以下的一些常用方法:(【注】以下对于些类的解释说明,是我看文档自己翻译的,可能有
2011-12-09 22:00:59 2302
原创 Android中的WebView进行直接加载网页
我们都知道Android的网络功能很不错,当然Android中WebView组件也挺不错,可以直接进行加载网页,我们可以把这个看做一个小型的浏览器\ 【注】以下的一些内容我翻译了一下文档,可能有些翻译不太准确,就算自己当做一次学习英文的机会了,请大家稍微见谅一下哈 首先我们看下文档中对于WebView的解释: WebVi
2011-12-08 20:49:02 27263 6
原创 初学Android实现打电话的功能-使用Intent和AndroidManifset.xml中加入权限
自己刚刚闲着没事做了一个很简单的拨号器,初学 步骤: 一:布局文件先设计拨号器的简单界面 二 :Activity中进行获取EditText中的电话号码,然后点击,使用Intent(意图)进行实现打电话的功能 Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:"+ mobi
2011-12-08 19:49:30 14432
原创 Android中的界面去除标题和实现全屏的两种方法
很多时候我在设计界面的时候,让界面去除标题栏和使界面全屏看起来比较舒服点,今天学习一下实现以上效果的两种方法 (一):我们直接在Activity的onCreate的方法里面进行定义 // 取消标题 this.requestWindowFeature(Window.FEATURE_NO_TITLE); // 进行全屏 this.getWindow().set
2011-12-08 09:09:14 5908
原创 Android重要组件之一 Service 服务讲解学习(一)
在Android有异步处理需要重要的Service和Handler组件,今天首先学习一下Service组件, 其中涉及到Android Service中进程间通信和bindService()的方法下一次在讲解学习 1:首先来看看在文档中对于Service的概念的解释: Service是Android系统中的一种组件,重要性可以堪比Activity,但是也有显著的区别,A
2011-12-07 16:39:09 2144
转载 给Android应用开发者的十个建议
随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键。用户要求他们选择安装的应用响应快、性能好,如果某个应用不能提供卓越的功能和稳定的用户体验,那这样的应用注定会被很快卸载。 尽管现在Android智能手机和平板电脑的运行速率越来越快,但开发者仍需牢记,应用的运行环境仍受到电池和处理器等诸多资源的限制。以下是如何为应用“瘦身”的十条建议,以便能在当前和以后的所有Android设备
2011-12-05 20:14:18 1789 1
原创 Android中使用嵌入式关系型SQLite数据库存储数据
除了可以使用文件或SharedPreferences存储数据,还可以选择使用SQLite数据库存储数据。在Android的平台上,集成了一个嵌入式关系型数据库—SQLite,SQLite3支持NULL、INTEGER、REAL(浮点数字)、TEXT(字符串文本)和BLOB(二进制对象)数据类型,虽然它支持的类型只有五种,但实际上sqlite3也接受varchar(n)、char(n)、deci
2011-12-05 20:06:30 3374
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人